05 2019 档案

摘要:默认的scheduler的调度过程:1.预选策略:从所有节点当中选择基本符合选择条件的节点。2.优选函数:在众多符合基本条件的节点中使用优选函数,计算节点各自的得分,通过比较进行排序。3.从最高得分的节点中随机选择出一个作为Pod运行的节点。可以通过自己的预设来影响预选、优选过程,从而实现符合我们期 阅读全文
posted @ 2019-05-30 14:50 zh_Revival 阅读(2850) 评论(0) 推荐(0) 编辑
摘要:scheduler调度过程: Predicate(预选)-->Priority(优选)-->Select(选定)调度方式: 1.节点亲和性调度(NodeAffinity)使用nodeSelector完成这类调度。 2.Pod亲和性和反亲和性调度(PodAffinity、PodUnAffinity)。 阅读全文
posted @ 2019-05-28 18:55 zh_Revival 阅读(832) 评论(0) 推荐(0) 编辑
摘要:Kubernetes能够把集群中不同Node节点上的Pod连接起来,并且默认情况下,每个Pod之间是可以相互访问的。但在某些场景中,不同的Pod不应该互通,这个时候就需要进行访问控制。亲测:在kubernetes集群中,默认可以设定NetworkPolicy资源,但是必须安装支持网络策略的插件,否则 阅读全文
posted @ 2019-05-27 18:33 zh_Revival 阅读(708) 评论(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 阅读(3382) 评论(0) 推荐(0) 编辑
摘要:k8s的webUI管理界面可以更好更直观更便捷的让我们去管理我们的k8s集群。 我们知道,由于某些原因我们无法直接拉取dashboard的镜像,但是国内有些人已经将镜像下载到dockerhub中可以给我们使用 在GitHub官网中获取dashboard的资源清单:https://github.com 阅读全文
posted @ 2019-05-24 12:57 zh_Revival 阅读(5255) 评论(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 阅读(1868) 评论(0) 推荐(0) 编辑
摘要:自定义证书使用kubectl认证接入API Serverkubeconfig是API Server的客户端连入API Server时使用的认证格式的客户端配置文件。使用kubectl config view查看其配置 创建、删除集群\用户\上下文列表kubectl config (set-clust 阅读全文
posted @ 2019-05-21 18:23 zh_Revival 阅读(3058) 评论(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 阅读(1599) 评论(0) 推荐(0) 编辑
摘要:secret相对于configMap,功能上是相似的但是secret是以其他编码方式去记录配置信息的,但是也可以被解读,只不过有技术门槛,不是那么容易就被解读。使用base64可以解码:echo ******** | base64 -d********是kubectl describe secret 阅读全文
posted @ 2019-05-16 19:28 zh_Revival 阅读(2025) 评论(0) 推荐(0) 编辑
摘要:pod中两种特殊类型的存储卷:secret,configMap pod.spec.volumes.secret pod.spec.volumes.configMap多数情况下,这两个存储卷不是给pod做存储空间来用的,而是给我们的管理员或者用户提供了从集群外部向pod内部的应用注入配置信息的方式。 阅读全文
posted @ 2019-05-16 17:29 zh_Revival 阅读(1744) 评论(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 阅读(12823) 评论(0) 推荐(0) 编辑
摘要:pod中的存储卷类型:1.emptyDir:用于临时储存空间,无持久性储存功能,生命周期同pod容器,pod删除后,数据不再存在。2.gitRepo:pod创建时,自动将云端仓库中的文件克隆到pod挂载的目录中,pod运行后,不会自主同步云端仓库的内容,有需要的话可以通过pod容器添加sidecar 阅读全文
posted @ 2019-05-10 22:13 zh_Revival 阅读(1165) 评论(0) 推荐(0) 编辑
摘要:ingress controller是独立与controller-manager的Ingress的主要作用是可以利用nginx,haproxy,envoy,traefik等负载均衡器来暴露集群内部服务。利用Ingress可以解决内部资源访问外部资源的方式,和四层调度替换为七层调度的问题。解决因为四层 阅读全文
posted @ 2019-05-09 23:03 zh_Revival 阅读(3514) 评论(0) 推荐(0) 编辑
摘要:yaml文件书写格式:5大类:apiVersion: 选择kubectl api-versions里面存在的版本kind: 选择kubectl api-resources结果中的对象资源metadata: 源数据,主要定义pod,service,等的名称,镜像来源,端口,暴露方式,数据卷挂载点目录等 阅读全文
posted @ 2019-05-09 20:28 zh_Revival 阅读(1417) 评论(0) 推荐(0) 编辑
摘要:k8s向集群外部暴露端口的3种方式: 1.service->nodePort :仅暴露一个宿主机端口,用于集群外部访问,因为此操作被写入各个节点的iptables或ipvs规则当中,可以用任意一个节点的IP+端口号访问。 2.hostNetwork :暴露宿主机IP,只可以通过此宿主机IP访问,慎重 阅读全文
posted @ 2019-05-09 20:22 zh_Revival 阅读(1408) 评论(0) 推荐(0) 编辑
摘要:pod的配置清单常见选项: pod控制器: ReplicaSet:通常管理无状态pod,带用户创建指定数量的pod副本,并确保pod副本一直处于满足用户期望数量的状态。 多退少补,并且支持扩缩容 ReplicaSet:常用的3个组件;1,用户期望的副本数。2,标签选择器,以便选择自己管控的pod副本 阅读全文
posted @ 2019-05-09 20:21 zh_Revival 阅读(877) 评论(0) 推荐(0) 编辑
摘要:pod的生命周期: 1.init container 2.main contianer (1) post start hook :容器启动后做什么操作(可以命令查看kubectl explain pod.spec.containers.livesysle) (2) readiness probe : 阅读全文
posted @ 2019-05-09 20:20 zh_Revival 阅读(1474) 评论(0) 推荐(0) 编辑