DeploymentController
kube-controller-manager源码分析(二)之 DeploymentController
controller # 主要包含各种controller的具体实现
├── apis
├── bootstrap
├── certificates
├── client_builder.go
├── cloud
├── clusterroleaggregation
├── controller_ref_manager.go
├── controller_utils.go # WaitForCacheSync
├── cronjob
├── daemon
├── deployment # deployment controller
│ ├── deployment_controller.go # NewDeploymentController、Run、syncDeployment
│ ├── progress.go # syncRolloutStatus
│ ├── recreate.go # rolloutRecreate
│ ├── rollback.go # rollback
│ ├── rolling.go # rolloutRolling
│ ├── sync.go
├── disruption # disruption controller
├── endpoint
├── garbagecollector
├── history
├── job
├── lookup_cache.go
├── namespace # namespace controller
├── nodeipam
├── nodelifecycle
├── podautoscaler
├── podgc
├── replicaset # replicaset controller
├── replication # replication controller
├── resourcequota
├── route
├── service # service controller
├── serviceaccount
├── statefulset # statefulset controller
└── volume # PersistentVolumeController、AttachDetachController、PVCProtectionController2. NewDeploymentController
2.1. eventBroadcaster
2.2. rsControl
2.3. Informer().AddEventHandler
2.4. Informer.Lister()
2.5. Informer().HasSynced
2.6. syncHandler
3. DeploymentController.Run
3.1. WaitForCacheSync
3.2. dc.worker
4. syncDeployment
4.1. Get deployment
4.2. getReplicaSetsForDeployment
4.3. getPodMapForDeployment
4.4. checkPausedConditions
4.5. isScalingEvent
4.6. rolloutRecreate
4.7. rolloutRolling
5. 总结
最后更新于