controller —— Deployment 部署无状态应用
1、controller是什么
- 在集群上管理和运行容器的对象(由controller管理Pod)
2、Pod和Controller关系
- Pod是通过Controller实现应用运维(如应用伸缩,滚动升级等)
- Pod和Controller之间通过label标签建立关系 selector
3、Deployment控制器应用场景
- 部署无状态应用
- 管理Pod和ReplicaSet
- 伸缩,滚动升级等功能
- 应用场景:web服务,微服务
4、yaml文件字段说明
5、Deployment控制器部署应用
6、升级回滚
7、弹性伸缩
8、关于deployment补充
Deployment 可以保证在升级时只有一定数量的 Pod 是 down 的。默认的,它会确保至少有比期望的Pod数量少一个是up状态(最多一个不可用)
Deployment 同时也可以确保只创建出超过期望数量的一定数量的 Pod。默认的,它会确保最多比期望的Pod数量多一个的 Pod 是 up 的(最多1个 surge )
未来的 Kuberentes 版本中,将从1-1变成25%-25%(25%一个阀值,可以在资源清单中进行修改,默认是25%)
清理 Policy
您可以通过设置 .spec.revisonHistoryLimit 项来指定 deployment 最多保留多少 revision 历史记录。默认的会保留所有的 revision;如果将该项设置为0,Deployment 就不允许回退了(默认会保留所有历史版本,可以设置仅保留几次版本)
Loading...
keepalived