ReplicaSet/DaemonSet各显神通
错综复杂的API对象
Pod是核心,Pod中运行业务代码; 为了更好的管理Pod,完成副本控制、升级、灰度发布等更高阶的功能,在Pod的基础上,添加组合新的功能、衍生出更多的资源对象(ReplicaSet是ReplicaController的进阶版本,基础功能一致)
ReplicaSet(ReplicaController)看管Pod
Pod A无人看管,节点挂了就跟着挂了; 反观Pod B,节点挂了就被调度到另外的节点
ReplicaSet(ReplicaController)的工作流: 实时看管,及时调整
在一个不停的循环中,持续看管,保证恰到好处
ReplicaSet(ReplicaController)的YAML组成
ReplicaSet(ReplicaController)管理的Pod被异常删除后新的Pod被创建
ReplicaSet(ReplicaController)管理Pod是通过Label和Selector实现的
修改Pod的Label, 让Pod脱离管控,新的Pod被触发创建
更新ReplicaSet(ReplicaController)中的template,只会在后续新建的Pod生效
删除ReplicaSet(ReplicaController)时指定--cascade=false可保留Pod
DaemonSet跟着Node走,每个Node部署一个Pod
DaemonSet的一个场景:我们想在每个节点上运行一些节点日志采集、节点监控、节点网络代理等服务
可以利用nodeSelector在某些特定的节点运行Pod
注意:节点的unschedulable对DaemonSet不生效