Slide 29
Slide 29 text
©2019 Wantedly, Inc.
EFQMPZNFOUDPOUSPMMFSʹ͓͚ΔΩϟογϡར༻
"1*4FSWFS
*OGPSNFS
8BUDIUBSHFUSFTPVSDFFWFOUT
1PQBPCKFDUGSPNRVFVF
"EEUIFPCKFDU
/PUJGZFWFOU
$IBOHFUIFTUBUFPGUIFPCKFDU
(FUUIFPCKFDUGSPNDBDIFTUPSF
DMJFOUHP
6TFS
)BOEMFS
$BDIF4UPSF
0CKFDU
0CKFDU
0CKFDU/
3FqFDUPS
2VFVF
ᶈ
ᶃ
ᶄ
ᶅ
ᶆ
ᶇ
%FQMPZNFOU
3FQMJDB4FU
1PE
%FQMPZNFOU
3FQMJDB4FU
1PE
EFQMPZNFOUDPOUSPMMFSʹ͓͚ΔΩϟογϡར༻
func (dc *DeploymentController) syncDeployment(key string) error {
namespace, name, err := cache.SplitMetaNamespaceKey(key)
deployment, err := dc.dLister.Deployments(namespace).Get(name)
d := deployment.DeepCopy()
if reflect.DeepEqual(d.Spec.Selector, &everything) {
dc.eventRecorder.Eventf(d, v1.EventTypeWarning, "SelectingAll", "This deployment is selecting all pods. A non-
empty selector is required.")
if d.Status.ObservedGeneration < d.Generation {
d.Status.ObservedGeneration = d.Generation
dc.client.AppsV1().Deployments(d.Namespace).UpdateStatus(d)
}
return nil
}
rsList, err := dc.getReplicaSetsForDeployment(d)
podMap, err := dc.getPodMapForDeployment(d, rsList)
if getRollbackTo(d) != nil {
return dc.rollback(d, rsList)
}
scalingEvent, err := dc.isScalingEvent(d, rsList)
switch d.Spec.Strategy.Type {
case apps.RecreateDeploymentStrategyType:
return dc.rolloutRecreate(d, rsList, podMap)
case apps.RollingUpdateDeploymentStrategyType:
return dc.rolloutRolling(d, rsList)
}
}
IUUQTHJUIVCDPNLVCFSOFUFTLVCFSOFUFTCMPCBGGFFCFFCGBFFGFDQLHDPOUSPMMFSEFQMPZNFOUEFQMPZNFOU@DPOUSPMMFSHP--