Kubernetes
中的Deployment Controller
是一个负责管理Pod
副本集的控制器。它在Kubernetes
集群中负责确保Pod
的副本数始终符合用户指定的期望值。Deployment Controller
能够对Pod
进行滚动更新(默认的更新策略),通过逐步替换Pod
的方式更新应用程序,以确保服务的高可用性和零停机时间。Deployment Controller
使用控制循环对目标状态和当前状态进行比较,并对任何不同之处进行调整,以确保集群中的Pod
数始终符合用户指定的期望值。
1 | // DeploymentController启动入口 |
1 | // pkg/controller/deployment/deployment_controller.go |
1 | // pkg/controller/deployment/rolling.go |
REF:
1.cmd/kube-controller-manager/app/apps.go
2.pkg/controller/deployment/deployment_controller.go
3.pkg/controller/deployment/rolling.go