10.3. カナリアロールアウト更新の実行について
次の手順は、カナリアロールアウト更新プロセスのワークフローの概要を示しています。
ワーカープールに基づいてカスタムマシン設定プール (MCP) を作成します。
注記MCP の
maxUnavailable
設定を変更して、任意の時点で更新できるパーセンテージまたはマシン数を指定できます。デフォルトは1
です。ノードセレクターをカスタム MCP に追加します。残りのクラスターと同時に更新しない各ノードに、一致するラベルをノードに追加します。このラベルは、ノードを MCP に関連付けます。
重要ノードからデフォルトのワーカーラベルを削除しないでください。クラスター内でノードを適切に機能させるには、ノードにロールラベルが必要です。
更新プロセスの一部として更新しない MCP を一時停止します。
注記MCP を一時停止すると、
kube-apiserver-to-kubelet-signer
自動 CA 証明書のローテーションも一時停止します。新しい CA 証明書は、インストール日と古い証明書の 292 日で生成され、インストール日から 365 日は削除されます。次の自動 CA 証明書のローテーションまでの所要時間については、Understanding CA cert auto updates in Red Hat OpenShift 4 を参照してください。CA 証明書のローテーションが発生したときに、プールが一時停止されていないことを確認してください。MCP が一時停止されている場合、MCO は新しくローテーションされた証明書をそれらのノードにプッシュできません。これにより、クラスターが劣化し、
oc debug
、oc logs
、oc exec
、oc attach
などの複数のoc
コマンドで障害が発生します。証明書がローテーションされたときに MCP が一時停止された場合、OpenShift Container Platform コンソールのアラート UI でアラートを受け取ります。- クラスターの更新を実行します。更新プロセスでは、コントロールプレーンノードを含む、一時停止されていない MCP が更新されます。
- 更新されたノードでアプリケーションをテストし、期待どおりに動作することを確認します。
- 残りの MCP の 1 つを一時停止解除し、そのプール内のノードの更新が完了するのを待ち、それらのノードでアプリケーションをテストします。すべてのワーカーノードが更新されるまで、このプロセスを繰り返します。
- オプション: 更新されたノードからカスタムラベルを削除し、カスタム MCP を削除します。