kubernetes基础概念
1)master/node的几个守护进程
master :API Server(提供了k8s各类资源对象(Pod,RC,service)的增,删,改,查及HTTP REST接口)
???????????????Scheduler(负责Pod调度,通过调度算法为待调度Pod列表的每个Pod从Node列表中选择一个最适合的Node,并将信息写入etcd中。kubelet通过API Server监听到kubernetes Scheduler产生的Pod绑定信息,然后获取对应的Pod清单,下载Image,并启动容器。)
???????????????Controller-Manager(作为集群内部的管理控制中心,负责集群内的Node、Pod副本、服务端点(Endpoint)、命名空间(Namespace)、服务账号(ServiceAccount)、资源定额(ResourceQuota)的管理,当某个Node意外宕机时,Controller Manager会及时发现并执行自动化修复流程,确保集群始终处于预期的工作状态)
总结:API server 接受请求 > scheduler控制器调度启动pod>Controller Manager确保schedule 正常
node:kubelet(每个Node节点都会启动kubelet进程,用来处理Master节点下发到本节点的任务,管理Pod和其中的容器。kubelet会在API Server上注册节点信息,定期向Master汇报节点资源使用情况,并通过cAdvisor监控容器和节点资源。可以把kubelet理解成【Server-Agent】架构中的agent,是Node上的pod管家。),docker,kube-proxy
pod(为了统一管理集群上面的大量的像POD一样的资源,添加元数据信息)
???????Label: key=value(类型数据)
????????? Pod :分两类
????????????? 1)自主式pod(指定调度到某节点,如节点down pod 无法恢复)
????????????? 2)控制器管理pod 一般有如下控制器 不同类型的控制用于不同类似的pod
??????????????????? ReplicationController(控制副本数,滚动更新)
????????????????????ReplicaSet(升级后的控制器)
??????????????????? Deployment(一般使用此声明式管理器)只能用于无状态应该
????????????????????statefulset 有状态副本集控制器
??????????????????? DaemonSet 使用此控制器部署的副本 会在每一个node上面都有
?????????????????????job,ctonjod 作业 计划作业 (如备份操作,或者计划任务之类的 或者数据清理 用这个控制器)
HPA控制器(HorizontalPodAutoscaler)自动伸缩控制器,比如限制CPU 利用率60% 如果超过这个设定值就会创建新的pod)
service服务发现 相当于一个ipvs dnat 规则
K8S网络模型(附件一般有两种:flannel(网络配置,calico既能网络配置也网络策略),canel(使用flanel的网络和calico 的网络策略) 应对多租户的网络安全隔离使用namespace+网络策略 进行隔离
各个pod一网段地址:
1)同一pod内多个容器间通信:lo
2)各pod之间通信
3) pod 与service 的通信
service 一网段地址
node 一网段地址
原文地址:http://blog.51cto.com/1014810/2320664