启动pod会默认启动一个叫pause的容器,pause是pod的根容器,pod中所有的container共享pod的网络栈和挂载存储
replication controller:简称RC,它能够保证Pod持续运行,并且在任何时候都有指定数量的Pod副本,在此基础上提供一些高级特性,比如滚动升级和弹性伸缩,在新版中已被replicaset(rs)取代
replicaset:跟replication controller没有本质区别,只是名字不一样,并且支持集合式的selector
deployment:虽然rs可以独立使用,但是一般还是建议使用deployment来自动管理rs,deployment通过管理rs来创建pod
StatefulSet:是为了解决有状态服务的问题而设计的,例如mysql
-
有状态服务需要稳定的持久化存储,即pod重新调度后还能访问到相同的持久化数据,基于PVC实现
-
稳定的网络标志,pod重新调度后podname和hostname不变,基于Headless Servicel来实现
-
有序存储,有序扩展,pod是有顺序的,在部署或者扩展的时候需要根据定义的顺序依次进行,基于init containers实现
-
有序收缩,有序删除
DaemonSet :确保全部Node上运行一个pod副本。当有Node加入集群时,也会为他们新增一个pod。当有Node从集群移除时,这些pod也会被回收。删除Daemonset将会删除他创建的所有Pod