1、什么是controller
-
在集群上管理和运行容器的对象
2、Pod和Controller关系
-
Pod通过Controller实现应用的运维(比如伸缩,滚动升级等等)
-
Pod和Controller通过label建立联系
3、Deploymentk控制器应用场景
-
部署无状态的应用
-
管理Pod和replicaset
-
部署,滚动升级等功能
应用升级 [root@m1 ~]# kubectl set image deployment web01 nginx=nginx:1.16 deployment.apps/web01 image updated 查看升级状态 [root@m1 ~]# kubectl rollout status deployment web01 deployment "web01" successfully rolled out 查看升级版本 [root@m1 ~]# kubectl rollout history deployment web01 deployment.apps/web01 REVISION CHANGE-CAUSE 2 <none> 3 <none> 4 <none> 回滚到上一个版本 [root@m1 ~]# kubectl rollout undo deployment web01 deployment.apps/web01 rolled back
-
应用到web服务,微服务
4、yaml文件字段说明
5、升级回滚
回滚到指定版本 [root@m1 ~]# kubectl rollout undo deployment web01 --to-revision=2 deployment.apps/web01 rolled back
6、弹性伸缩(创建更多的副本)
[root@m1 ~]# kubectl scale deployment web --replicas=10 deployment.apps/web scaled