以下に、手順を追った解説付きの解決策を示します。
Explanation:
解決策(ステップバイステップ):
1. デプロイメントYAMLを更新します。
- 「レプリカ」の数を4に更新します。
- ローリング更新プロセスを制御するには、「strategy.rollingUpdate」セクションで「maxUnavailable: 2」と「maxSurge:」を定義します。
- デプロイメントが更新されたときにローリングアップデートをトリガーするように「strategy.type」を設定します。
- 'spec.template.spec.containers[0].imagePullPolicy: Always' を設定すると、新しいイメージがポッドのローカルキャッシュに存在する場合でも、必ずプルされます。
- 更新処理のタイムアウトを5分に設定するには、「spec.progressDeadlineSeconds: 300」を追加します。

2. デプロイメントの作成: - 'kubectl apply -f api-server.yaml' を使用して更新された YAML ファイルを適用します。 3. デプロイメントの確認: - ロールアウトと更新されたレプリカ数を確認するために、'kubectl get deployments api-server' を使用してデプロイメントの状態を確認します。 4. 自動更新のトリガー: - 'my.org/api-server:latest' Docker Hub リポジトリに新しいイメージをプッシュします。 5. デプロイメントの監視: - ローリング更新プロセス中に 'Vxubectl get pods -l app=api-server' を使用して、ポッドの更新を監視します。 6. タイムアウト超過時のロールバックの確認: - 更新プロセスが完了するまでに 5 分以上かかる場合、デプロイメントは以前のバージョンにロールバックされます。これは、'kubectl describe deployment api-server' を使用して 'updatedReplicas' フィールドと 'availableReplicas' フィールドを確認することで確認できます。