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
(1)SatefulSet 部署有状态应用
deployment和statefueset的区别:有身份的(唯一标识的)
(1)根据主机名+按照一定规则生成域名
(2)每个pod有唯一主机名
(3)唯一域名:格式:主机名称.service名称.名称空间.svc.cluster.local
3.部署守护进程 DaemonSet
(1)在每个node上运行一个pod,新加入的node也同样运行在一个pod里面
例子:在每个node节点安装数据采集工具
4.job(一次性任务)
5.cronjob(定时任务)