Kubernetes の RollingUpdate
deploymentのstrategyの項目
Recreateもある
パラメータ
maxSurge
replicasで設定している起動するpodの数を超えて起動できるpodの数
デフォルトは25%
上限
maxUnavailable
更新処理中に使用不可となりうるpodの最大数
デフォルトは25%
下限
更新しているときにどのくらいまで処理性能がダウンしてよいかを示しそう
お金やインスタンス能力が十分にあれば単純に0でもよさそう
節約したいときとかにうまいこと設定すると価値がありそう
例
code:yaml
strategy:
type: RollingUpdate
rollingUpdate:
maxSurge: 50%
maxUnavailable: 10%
replicas: 16, maxSurge: 25%, maxUnavailable: 25%
maxSurge: 4, maxUnavailable: 4と同等
更新中に
最大で20podsまで起動する
使用可能なpodsは最低で12podsとなる
16oldsあって、4newsを起動して、4oldsを終了してを繰り返してrolling updateしていく
これを4回繰り返すはず
なので、initialDelaySeconds * 4程でデプロイが完了するはず
livenessProbeは1発で終わるとすればの話
参考