K8s中的Controller

Controller的作用

(1)确保预期的pod副本数量
(2)无状态应用部署
(3)有状态应用部署
(4)确保所有的node运行同一个pod,一次性任务和定时任务

1.无状态和有状态

无状态:(1)认为pod都是一样的(2)没有顺序要求(3)不用考虑在哪个node运行(4)随意进行伸缩和扩展

2.有状态:(1)让每个pod都是独立的保持bod的启动顺序和唯一性(2)唯一的网络标识符,持久存储(3)有序,比如mysql主从

部署有状态的应用

无头的Service,ClusterIP:none

K8s中的Controller_第1张图片

 

(1)SatefulSet 部署有状态应用

 deployment和statefueset的区别:有身份的(唯一标识的)

(1)根据主机名+按照一定规则生成域名

(2)每个pod有唯一主机名

(3)唯一域名:格式:主机名称.service名称.名称空间.svc.cluster.local

 3.部署守护进程 DaemonSet

(1)在每个node上运行一个pod,新加入的node也同样运行在一个pod里面

例子:在每个node节点安装数据采集工具

4.job(一次性任务)

5.cronjob(定时任务)

你可能感兴趣的:(K8S,kubernetes,容器,云原生)