知らなかった
Deploymentにて3つ展開されているPodを一つ消すと
$ kubectl get pod NAME READY STATUS RESTARTS AGE nginx-test-59bcbd985-86fs4 1/1 Running 0 13m nginx-test-59bcbd985-bqjt9 1/1 Running 0 3d4h nginx-test-59bcbd985-cxpfb 1/1 Running 0 15m
こんな感じでPodが作り直されます。
nginx-test-59bcbd985-bqjt9 1/1 Terminating 0 3d4h nginx-test-59bcbd985-drszp 0/1 Pending 0 0s nginx-test-59bcbd985-drszp 0/1 Pending 0 0s nginx-test-59bcbd985-drszp 0/1 ContainerCreating 0 0s nginx-test-59bcbd985-drszp 0/1 ContainerCreating 0 1s nginx-test-59bcbd985-drszp 1/1 Running 0 2s nginx-test-59bcbd985-bqjt9 1/1 Terminating 0 3d4h nginx-test-59bcbd985-bqjt9 0/1 Terminating 0 3d4h
その時にDeploymentとReplicaSetの値を見ていると気になる動きをしていました。
DeploymentのREADYの数がUP-TO-DATE/AVAILABLEと一致していない
レプリカセットはこんな感じ。
$ kubectl get rs -w NAME DESIRED CURRENT READY AGE nginx-test-59bcbd985 3 3 3 3d4h nginx-test-59bcbd985 3 2 2 3d4h nginx-test-59bcbd985 3 3 2 3d4h nginx-test-59bcbd985 3 3 3 3d4h
想定通り。要求しているのは3だけど一時的に2になるよね・・という話。
しかしデプロイメントは
$ kubectl get deployment -w NAME READY UP-TO-DATE AVAILABLE AGE nginx-test 3/3 3 3 18d nginx-test 2/3 2 2 18d nginx-test 2/3 3 2 18d nginx-test 3/3 3 3 18d
UP-TO-DATEが2になってる瞬間がある・・!
ここはおそらくCURRENTから引っ張ってきているんでしょうね。ややこしや・・