以下に、手順を追った解説付きの解決策を示します。
Explanation:
解決策(ステップバイステップ):
1. デプロイメントYAMLの更新:
- 新しいバージョンに必要なレプリカ数に「spec.replicas」フィールドを更新してください。
- 「spec.strategy.rollingUpdate」セクションで、「maxUnavailable」を1に設定します。これは、更新プロセス中に利用できなくなるポッドが1つだけであることを意味します。
- maxSurge を 1 に設定し、同時に作成できる新しいポッドの数を 1 に制限します。

2. 更新されたデプロイメントの適用: - 'kubectl apply -f deployment.yaml' を使用して、変更をクラスターに適用します。 3. 更新プロセスの監視: - 'kubectl get pods -l app=my-app' を使用して、ポッドを監視します。ローリング更新が進行中であることがわかります。 - 古いポッドが一度に 1 つずつ終了します。 - 新しいポッドが一度に 1 つずつ作成されます。 - すべてのレプリカが新しいバージョンに更新されるまで、更新が継続されます。 4. 更新の検証: - 更新が完了したら、'kubectl describe deployment my-deployment' を使用して、デプロイメントの状態を確認します。'updatedReplicas' フィールドが 'replicas' フィールドと一致していれば、更新が成功したことを示しています。'maxUnavailable' と 'maxSurge' を使用すると、更新プロセス中に利用できないポッドとサージポッドの数を制御できます。これにより、安全で制御されたローリング更新戦略が保証されます。