随笔分类 -  Kubernetes

摘要:1、创建存储池并启用RBD功能 2、创建Ceph用户,提供给k8s使用 3、在k8s各节点安装ceph common 4、复制ceph.conf以及admin用户的keyring文件到k8s各个节点(包括master和node) 5、创建Secret资源,以keyring的key值为data 6、在 阅读全文
posted @ 2020-03-13 18:39 zh_Revival 阅读(280) 评论(0) 推荐(1) 编辑
该文被密码保护。
posted @ 2019-10-13 22:09 zh_Revival 编辑
摘要:在k8s中部署有状态应用时,通常需要做数据持久化存储。 后端存储的方式有以下几种: 1.基于宿主机本地的存储方式; (重启pod时,若pod被调度到其他节点上,尽管原来节点上的数据不会丢失,但是其他节点上没有该应用存储过的数据,所以并不持久化) 2.基于本地过云存储服务的方式,如:(NFS、glus 阅读全文
posted @ 2019-06-24 23:32 zh_Revival 阅读(4556) 评论(0) 推荐(0) 编辑
摘要:前言:Helm是GO语言编写的,是管理kubernetes集群中应用程序包的客户端工具。Helm是类似于centos上的yum工具或Ubuntu上的apt-get工具。对于应用发布者而言,可以通过Helm打包应用,管理应用依赖关系,管理应用版本并发布应用到软件仓库。对于使用者而言,使用Helm后不用 阅读全文
posted @ 2019-06-11 14:56 zh_Revival 阅读(1177) 评论(0) 推荐(0) 编辑
摘要:我们知道,当访问量或资源需求过高时,使用:kubectl scale命令可以实现对pod的快速伸缩功能 但是我们平时工作中我们并不能提前预知访问量有多少,资源需求多少。 这就很麻烦了,总不能为了需求总是把pod设置为最多状态,这样太浪费资源;也不能当请求量上来以后再去伸缩pod,这样会有好多请求不成 阅读全文
posted @ 2019-06-07 21:32 zh_Revival 阅读(4382) 评论(1) 推荐(0) 编辑
摘要:简述: 在k8s早期版本中,对资源的监控使用的是heapster的资源监控工具。 但是从 Kubernetes 1.8 开始,Kubernetes 通过 Metrics API 获取资源使用指标,例如容器 CPU 和内存使用情况。 这些度量指标可以由用户直接访问,例如通过使用kubectl top 阅读全文
posted @ 2019-06-05 23:17 zh_Revival 阅读(6328) 评论(0) 推荐(0) 编辑
摘要:容器的资源需求及限制: 需求:requests ##定义容器运行时至少需要资源 限制:limits ##定义容器运行时最多能分配的资源 requests:pod.spec.containers.resources.requests limits:pod.spec.containers.resourc 阅读全文
posted @ 2019-06-01 18:36 zh_Revival 阅读(2057) 评论(0) 推荐(0) 编辑
摘要:默认的scheduler的调度过程:1.预选策略:从所有节点当中选择基本符合选择条件的节点。2.优选函数:在众多符合基本条件的节点中使用优选函数,计算节点各自的得分,通过比较进行排序。3.从最高得分的节点中随机选择出一个作为Pod运行的节点。可以通过自己的预设来影响预选、优选过程,从而实现符合我们期 阅读全文
posted @ 2019-05-30 14:50 zh_Revival 阅读(2794) 评论(0) 推荐(0) 编辑
摘要:scheduler调度过程: Predicate(预选)-->Priority(优选)-->Select(选定)调度方式: 1.节点亲和性调度(NodeAffinity)使用nodeSelector完成这类调度。 2.Pod亲和性和反亲和性调度(PodAffinity、PodUnAffinity)。 阅读全文
posted @ 2019-05-28 18:55 zh_Revival 阅读(816) 评论(0) 推荐(0) 编辑
摘要:Kubernetes能够把集群中不同Node节点上的Pod连接起来,并且默认情况下,每个Pod之间是可以相互访问的。但在某些场景中,不同的Pod不应该互通,这个时候就需要进行访问控制。亲测:在kubernetes集群中,默认可以设定NetworkPolicy资源,但是必须安装支持网络策略的插件,否则 阅读全文
posted @ 2019-05-27 18:33 zh_Revival 阅读(698) 评论(0) 推荐(0) 编辑
摘要:flannel的网络插件配置 Kubernetes网络通信需要解决以下问题: (1)容器间通信:同一个Pod内的多个容器间的通信,lo (2)Pod通信:Pod IP <-直达-> Pod IP (3)Pod与Service通信:Pod IP <--> Cluster IP (4)Service与集 阅读全文
posted @ 2019-05-26 18:42 zh_Revival 阅读(3265) 评论(0) 推荐(0) 编辑
摘要:k8s的webUI管理界面可以更好更直观更便捷的让我们去管理我们的k8s集群。 我们知道,由于某些原因我们无法直接拉取dashboard的镜像,但是国内有些人已经将镜像下载到dockerhub中可以给我们使用 在GitHub官网中获取dashboard的资源清单:https://github.com 阅读全文
posted @ 2019-05-24 12:57 zh_Revival 阅读(5223) 评论(2) 推荐(1) 编辑
摘要:kubernetes的API Server常用的授权插件有: Node、ABAC、RBAC、Webhook我们重点说一下RBAC的访问控制逻辑RBAC(Role base access control)基于角色的访问控制涉及到的资源类型: Role #角色,基于名称空间下的资源 RoleBindin 阅读全文
posted @ 2019-05-22 17:56 zh_Revival 阅读(1858) 评论(0) 推荐(0) 编辑
摘要:自定义证书使用kubectl认证接入API Serverkubeconfig是API Server的客户端连入API Server时使用的认证格式的客户端配置文件。使用kubectl config view查看其配置 创建、删除集群\用户\上下文列表kubectl config (set-clust 阅读全文
posted @ 2019-05-21 18:23 zh_Revival 阅读(2990) 评论(0) 推荐(0) 编辑
摘要:k8s的认证: 与API server通信的客户端大致有两类: 1.集群客户端工具(kubectl、kubeadm、kubelet等) 2.集群内pod. 任何客户端访问k8s时的过程: 1.认证:任何客户端访问k8s,首先需要通过k8s的认证;认证通过是说明所用账号只是k8s的合法用户; 2.授权 阅读全文
posted @ 2019-05-21 16:29 zh_Revival 阅读(1584) 评论(0) 推荐(0) 编辑
摘要:secret相对于configMap,功能上是相似的但是secret是以其他编码方式去记录配置信息的,但是也可以被解读,只不过有技术门槛,不是那么容易就被解读。使用base64可以解码:echo ******** | base64 -d********是kubectl describe secret 阅读全文
posted @ 2019-05-16 19:28 zh_Revival 阅读(2016) 评论(0) 推荐(0) 编辑
摘要:pod中两种特殊类型的存储卷:secret,configMap pod.spec.volumes.secret pod.spec.volumes.configMap多数情况下,这两个存储卷不是给pod做存储空间来用的,而是给我们的管理员或者用户提供了从集群外部向pod内部的应用注入配置信息的方式。 阅读全文
posted @ 2019-05-16 17:29 zh_Revival 阅读(1733) 评论(0) 推荐(0) 编辑
摘要:pvc:资源需要指定:1.accessMode:访问模型;对象列表: ReadWriteOnce – the volume can be mounted as read-write by a single node: RWO - ReadWriteOnce一人读写 ReadOnlyMany – th 阅读全文
posted @ 2019-05-13 18:04 zh_Revival 阅读(12784) 评论(0) 推荐(0) 编辑
摘要:pod中的存储卷类型:1.emptyDir:用于临时储存空间,无持久性储存功能,生命周期同pod容器,pod删除后,数据不再存在。2.gitRepo:pod创建时,自动将云端仓库中的文件克隆到pod挂载的目录中,pod运行后,不会自主同步云端仓库的内容,有需要的话可以通过pod容器添加sidecar 阅读全文
posted @ 2019-05-10 22:13 zh_Revival 阅读(1164) 评论(0) 推荐(0) 编辑
摘要:ingress controller是独立与controller-manager的Ingress的主要作用是可以利用nginx,haproxy,envoy,traefik等负载均衡器来暴露集群内部服务。利用Ingress可以解决内部资源访问外部资源的方式,和四层调度替换为七层调度的问题。解决因为四层 阅读全文
posted @ 2019-05-09 23:03 zh_Revival 阅读(3503) 评论(0) 推荐(0) 编辑