5.3. クラスターの更新フェーズ
OpenShift Container Platform では、クラスターの更新は 2 つのフェーズで行われます。
- Cluster Version Operator (CVO) ターゲット更新ペイロードのデプロイメント
- Machine Config Operator (MCO) ノードの更新
5.3.1. Cluster Version Operator ターゲット更新ペイロードのデプロイメント
Cluster Version Operator (CVO) は、ターゲットの更新リリースイメージを取得し、クラスターに適用します。Pod として実行されるすべてのコンポーネントはこのフェーズ中に更新されますが、ホストコンポーネントは Machine Config Operator (MCO) によって更新されます。このプロセスには 60 ~ 120 分かかる場合があります。
更新の CVO フェーズでは、ノードは再起動されません。
関連情報
5.3.2. Machine Config Operator ノードの更新
Machine Config Operator (MCO) は、新しいマシン設定を各コントロールプレーンとコンピュートノードに適用します。このプロセス中に、MCO はクラスターの各ノードで次の一連のアクションを実行します。
- すべてのノードを遮断してドレインする
- オペレーティングシステム (OS) を更新する
- ノードを再起動します。
- すべてのノードのコードを解除し、ノードでワークロードをスケジュールします
ノードが遮断されている場合、ワークロードをそのノードにスケジュールすることはできません。
このプロセスが完了するまでの時間は、ノードやインフラストラクチャーの設定など、いくつかの要因によって異なります。このプロセスは、ノードごとに完了するまでに 5 分以上かかる場合があります。
MCO に加えて、次のパラメーターの影響を考慮する必要があります。
- コントロールプレーンノードの更新期間は予測可能であり、多くの場合、コンピュートノードよりも短くなります。これは、コントロールプレーンのワークロードが適切な更新と迅速なドレインに合わせて調整されているためです。
-
Machine Config Pool (MCP) で
maxUnavailable
フィールドを1
より大きい値に設定することで、コンピュートノードを並行して更新できます。MCO は、maxUnavailable
で指定された数のノードを遮断し、それらを更新不可としてマークします。 -
MCP で
maxUnavailable
を増やすと、プールがより迅速に更新されるのに役立ちます。ただし、maxUnavailable
の設定が高すぎて、複数のノードが同時に遮断されている場合、レプリカを実行するスケジュール可能なノードが見つからないため、Pod 中断バジェット (PDB) で保護されたワークロードのドレインに失敗する可能性があります。MCP のmaxUnavailable
を増やす場合は、PDB で保護されたワークロードを排出できるように、スケジュール可能なノードがまだ十分にあることを確認してください。 更新を開始する前に、すべてのノードが使用可能であることを確認する必要があります。ノードが利用できないと、
maxUnavailable
および Pod 中断バジェットに影響するため、利用できないノードがあると、更新期間に大きな影響を与える可能性があります。ターミナルからノードのステータスを確認するには、次のコマンドを実行します。
$ oc get node
出力例
NAME STATUS ROLES AGE VERSION ip-10-0-137-31.us-east-2.compute.internal Ready,SchedulingDisabled worker 12d v1.23.5+3afdacb ip-10-0-151-208.us-east-2.compute.internal Ready master 12d v1.23.5+3afdacb ip-10-0-176-138.us-east-2.compute.internal Ready master 12d v1.23.5+3afdacb ip-10-0-183-194.us-east-2.compute.internal Ready worker 12d v1.23.5+3afdacb ip-10-0-204-102.us-east-2.compute.internal Ready master 12d v1.23.5+3afdacb ip-10-0-207-224.us-east-2.compute.internal Ready worker 12d v1.23.5+3afdacb
ノードのステータスが
NotReady
またはSchedulingDisabled
の場合、ノードは使用できず、更新期間に影響します。Compute
Node を展開することで、Web コンソールの Administrator パースペクティブからノードのステータスを確認できます。