1.6. 更新中のノードステータスについて
たとえば、MachineConfig または KubeletConfig オブジェクトを使用して、マシン設定プール (MCP) に変更を加えて新しいマシン設定を作成する場合、マシン設定ノードのカスタムリソースを使用して、ノード更新の進捗状況に関する詳細情報を取得できます。この情報は、更新中に問題が発生し、ノードのトラブルシューティングが必要な場合に役立ちます。
MachineConfigNode カスタムリソースを使用すると、更新フェーズを進むにつれて個々のノード更新の進行状況を監視できます。この情報は、更新中にノードの 1 つに問題が発生した場合のトラブルシューティングに役立ちます。カスタムリソースは、現在ノードが更新プロセスのどの段階にあるか、完了したフェーズ、および残りのフェーズを報告します。
ノードの更新プロセスは、次のフェーズとサブフェーズで構成されます。これらのフェーズは、このセクションで後述するマシン設定ノードのカスタムリソースによって追跡されます。
- Update Prepared: MCO は設定ドリフトモニタリングプロセスを停止し、新たに作成されたマシン設定がノードに適用できることを確認します。
Update Executed: MCO はノードをスケジューリング対象から外してドレインし、必要に応じて新しいマシン設定をノードのファイルおよびオペレーティングシステムに適用します。次のサブフェーズが含まれています。
- Cordoned
- Drained
- AppliedFilesAndOS
- PinnedImageSetsProgressing: MCO は、コンテナーイメージの固定および事前ロードに必要な手順を実行しています。
-
PinnedImageSetsDegraded: 固定されたイメージプロセスに失敗しました。
oc describe machineconfignodeコマンドを使用すると、このセクションの後半で説明するように、障害の理由を表示できます。 -
NodeDegraded: ノードの更新に失敗しました。
oc describe machineconfignodeコマンドを使用すると、このセクションの後半で説明するように、障害の理由を表示できます。 - Update Post update action: MCO は必要に応じて CRI-O を再ロードしています。
- Rebooted Node: MCO は必要に応じてノードを再起動しています。
Update Complete: MCO はノードをスケジューリング対象に戻し、ノードの状態をクラスターに更新して、ノードのメトリクスの生成を再開します。これには、次のサブフェーズが含まれます。
- Uncordoned
- Updated MCO はノードの更新を完了し、ノードの現在の設定バージョンは必要な更新バージョンと同じになりました。
- Resumed: MCO は設定ドリフトモニタープロセスを再起動し、ノードは運用状態に戻ります。
更新がこれらのフェーズを通過すると、MachineConfigNode カスタムリソースをクエリーできます。これは、フェーズごとに次のいずれかの条件を報告します。
-
True: そのノードでフェーズが完了します。 -
False: フェーズはまだ開始されていないか、そのノードでは実行されません。 -
Unknown: そのノードでは、フェーズが実行中であるか、エラーが発生していることを意味します。フェーズにエラーがある場合、このセクションで後で説明するように、oc describe machineconfignodesコマンドを使用して詳細情報を取得できます。
たとえば、新たに作成されたマシン設定を持つクラスターを考えてみます。
$ oc get machineconfig
出力例
NAME GENERATEDBYCONTROLLER IGNITIONVERSION AGE
# ...
rendered-master-23cf200e4ee97daa6e39fdce24c9fb67 c00e2c941bc6e236b50e0bf3988e6c790cf2bbb2 3.5.0 6d15h
rendered-master-a386c2d1550b927d274054124f58be68 c00e2c941bc6e236b50e0bf3988e6c790cf2bbb2 3.5.0 7m26s
# ...
rendered-worker-01f27f752eb84eba917450e43636b210 c00e2c941bc6e236b50e0bf3988e6c790cf2bbb2 3.5.0 6d15h
rendered-worker-f351f6947f15cd0380514f4b1c89f8f2 c00e2c941bc6e236b50e0bf3988e6c790cf2bbb2 3.5.0 7m26s
# ...
新しいマシン設定でノードが更新される様子を監視できます。
$ oc get machineconfignodes
出力例
NAME POOLNAME DESIREDCONFIG CURRENTCONFIG UPDATED AGE
ci-ln-ds73n5t-72292-9xsm9-master-0 master rendered-master-a386c2d1550b927d274054124f58be68 rendered-master-a386c2d1550b927d274054124f58be68 True 27M
ci-ln-ds73n5t-72292-9xsm9-master-1 master rendered-master-a386c2d1550b927d274054124f58be68 rendered-master-23cf200e4ee97daa6e39fdce24c9fb67 False 27M
ci-ln-ds73n5t-72292-9xsm9-master-2 master rendered-master-23cf200e4ee97daa6e39fdce24c9fb67 rendered-master-23cf200e4ee97daa6e39fdce24c9fb67 True 27M
ci-ln-ds73n5t-72292-9xsm9-worker-a-2d8tz worker-cnf rendered-worker-f351f6947f15cd0380514f4b1c89f8f2 rendered-worker-f351f6947f15cd0380514f4b1c89f8f2 True 20M
ci-ln-ds73n5t-72292-9xsm9-worker-b-gw5sd worker rendered-worker-f351f6947f15cd0380514f4b1c89f8f2 rendered-worker-01f27f752eb84eba917450e43636b210 False 20M
ci-ln-ds73n5t-72292-9xsm9-worker-c-t227w worker rendered-worker-01f27f752eb84eba917450e43636b210 rendered-worker-01f27f752eb84eba917450e43636b210 True 19M
| フィールド | 意味 |
|---|---|
|
| ノードの名前。 |
|
| そのノードに関連付けられたマシン設定プールの名前。 |
|
| ノードの更新先である新しいマシン設定の名前。 |
|
| そのノード上の現在のマシン設定の名前。 |
|
| 次のいずれかの条件を使用して、ノードが更新されたかどうかを示します。
|
|
| マシン設定ノードが作成されてからの経過時間。関連付けられたノードが更新されても、経過時間は変更されません。 |
-o wide フラグを使用すると、更新に関する追加情報を表示できます。
$ oc get machineconfignodes -o wide
出力例
NAME POOLNAME DESIREDCONFIG CURRENTCONFIG UPDATED AGE UPDATEPREPARED UPDATEEXECUTED UPDATEPOSTACTIONCOMPLETE UPDATECOMPLETE RESUMED UPDATEDFILESANDOS CORDONEDNODE DRAINEDNODE REBOOTEDNODE UNCORDONEDNODE
ci-ln-ds73n5t-72292-9xsm9-master-0 master rendered-master-23cf200e4ee97daa6e39fdce24c9fb67 rendered-master-23cf200e4ee97daa6e39fdce24c9fb67 True 27M False False False False False False False False False False
ci-ln-ds73n5t-72292-9xsm9-master-1 master rendered-master-23cf200e4ee97daa6e39fdce24c9fb67 rendered-master-23cf200e4ee97daa6e39fdce24c9fb67 True 27M False False False False False False False False False False
ci-ln-ds73n5t-72292-9xsm9-master-2 master rendered-master-23cf200e4ee97daa6e39fdce24c9fb67 rendered-master-23cf200e4ee97daa6e39fdce24c9fb67 True 27M False False False False False False False False False False
ci-ln-ds73n5t-72292-9xsm9-worker-a-2d8tz worker-cnf rendered-worker-f351f6947f15cd0380514f4b1c89f8f2 rendered-worker-f351f6947f15cd0380514f4b1c89f8f2 True 20M False False False False False False False False False False
ci-ln-ds73n5t-72292-9xsm9-worker-b-gw5sd worker rendered-worker-f351f6947f15cd0380514f4b1c89f8f2 rendered-worker-01f27f752eb84eba917450e43636b210 False 20M True True Unknown False False True True True Unknown False
ci-ln-ds73n5t-72292-9xsm9-worker-c-t227w worker rendered-worker-01f27f752eb84eba917450e43636b210 rendered-worker-01f27f752eb84eba917450e43636b210 True 19M False False False False False False False False False False
前の表で定義されたフィールドに加え、-o wide 出力には以下のフィールドが表示されます。
| フェーズ名 | 定義 |
|---|---|
|
| MCO がノードを更新する準備ができているかどうかを示します。 |
|
| MCO がノードで更新の本体を完了したかどうかを示します。 |
|
| MCO がノードで更新後のアクションを実行したかどうかを示します。 |
|
| MCO がノードで更新を完了したかどうかを示します。 |
|
| ノードが通常のプロセスを再開したかどうかを示します。 |
|
| MCO がノードファイルとオペレーティングシステムを更新したかどうかを示します。 |
|
| MCO がノードをスケジュール対象外としてマークしているかどうかを示します。 |
|
| MCO がノードをドレインしたかどうかを示します。 |
|
| MCO がノードを再起動したかどうかを示します。 |
|
| MCO がノードをスケジュール対象としてマークしているかどうかを示します。 |
更新ステータスの詳細は、oc describe machineconfignode コマンドを使用できます。
$ oc describe machineconfignode/<machine_config_node_name>
出力例
apiVersion: machineconfiguration.openshift.io/v1
kind: MachineConfigNode
metadata:
creationTimestamp: "2025-04-28T18:40:29Z"
generation: 3
name: <machine_config_node_name>
# ...
spec:
configVersion:
desired: rendered-master-34f96af2e41acb615410b97ce1c819e6
node:
name: ci-ln-921r7qk-72292-kxv95-master-0
pool:
name: master
status:
conditions:
- lastTransitionTime: "2025-04-28T18:41:09Z"
message: All pinned image sets complete
reason: AsExpected
status: "False"
type: PinnedImageSetsProgressing
- lastTransitionTime: "2025-04-28T18:41:09Z"
message: This node has not yet entered the UpdatePrepared phase
reason: NotYetOccurred
status: "False"
type: UpdatePrepared
- lastTransitionTime: "2025-04-28T18:41:09Z"
message: This node has not yet entered the UpdateExecuted phase
reason: NotYetOccurred
status: "False"
type: UpdateExecuted
- lastTransitionTime: "2025-04-28T18:41:09Z"
message: This node has not yet entered the UpdatePostActionComplete phase
reason: NotYetOccurred
status: "False"
type: UpdatePostActionComplete
- lastTransitionTime: "2025-04-28T18:42:08Z"
message: 'Action during update to rendered-master-34f96af2e41acb615410b97ce1c819e6:
Uncordoned Node as part of completing upgrade phase'
reason: Uncordoned
status: "False"
type: UpdateComplete
- lastTransitionTime: "2025-04-28T18:42:08Z"
message: 'Action during update to rendered-master-34f96af2e41acb615410b97ce1c819e6:
In desired config . Resumed normal operations.'
reason: Resumed
status: "False"
type: Resumed
- lastTransitionTime: "2025-04-28T18:41:09Z"
message: This node has not yet entered the Drained phase
reason: NotYetOccurred
status: "False"
type: Drained
- lastTransitionTime: "2025-04-28T18:41:09Z"
message: This node has not yet entered the AppliedFilesAndOS phase
reason: NotYetOccurred
status: "False"
type: AppliedFilesAndOS
- lastTransitionTime: "2025-04-28T18:41:09Z"
message: This node has not yet entered the Cordoned phase
reason: NotYetOccurred
status: "False"
type: Cordoned
- lastTransitionTime: "2025-04-28T18:41:09Z"
message: This node has not yet entered the RebootedNode phase
reason: NotYetOccurred
status: "False"
type: RebootedNode
- lastTransitionTime: "2025-04-28T18:42:08Z"
message: Node ci-ln-921r7qk-72292-kxv95-master-0 Updated
reason: Updated
status: "True"
type: Updated
- lastTransitionTime: "2025-04-28T18:42:08Z"
message: 'Action during update to rendered-master-34f96af2e41acb615410b97ce1c819e6:
UnCordoned node. The node is reporting Unschedulable = false'
reason: UpdateCompleteUncordoned
status: "False"
type: Uncordoned
- lastTransitionTime: "2025-04-28T18:41:09Z"
message: This node has not yet entered the NodeDegraded phase
reason: NotYetOccurred
status: "False"
type: NodeDegraded
- lastTransitionTime: "2025-04-28T18:41:09Z"
message: All is good
reason: AsExpected
status: "False"
type: PinnedImageSetsDegraded
configVersion:
current: rendered-master-34f96af2e41acb615410b97ce1c819e6
desired: rendered-master-34f96af2e41acb615410b97ce1c819e6
observedGeneration: 4
----
<1> The `MachineConfigNode` object name.
<2> The new machine configuration. This field updates after the MCO validates the machine config in the `UPDATEPREPARED` phase, then the status adds the new configuration.
<3> The current machine config on the node.
1.6.1. 更新中にノードのステータスを確認する リンクのコピーリンクがクリップボードにコピーされました!
マシン設定プール (MCP) の更新中に、oc get machineconfignodes と oc describe machineconfignodes コマンドを使用して、クラスター内のすべてのノードの進行状況を監視できます。これらのコマンドは、更新時に問題が発生し、ノードのトラブルシューティングが必要な場合に役立つ情報を提供します。
これらのフィールドの意味に関する詳細は、「マシン設定ノードのステータスの確認について」を参照してください。
手順
次のコマンドを実行して、現在のマシン設定と必要なマシン設定を含む、クラスター内のすべてのノードの更新ステータスを表示します。
$ oc get machineconfignodes出力例
NAME POOLNAME DESIREDCONFIG CURRENTCONFIG UPDATED AGE ci-ln-mdb23yt-72292-kzdsg-master-0 master rendered-master-f21b093d20f68a7c06f922ed3ea5fbc8 rendered-master-1abc053eec29e6c945670f39d6dc8afa False 27M ci-ln-mdb23yt-72292-kzdsg-master-1 master rendered-master-1abc053eec29e6c945670f39d6dc8afa rendered-master-1abc053eec29e6c945670f39d6dc8afa True 27M ci-ln-mdb23yt-72292-kzdsg-master-2 master rendered-master-1abc053eec29e6c945670f39d6dc8afa rendered-master-1abc053eec29e6c945670f39d6dc8afa True 27M ci-ln-mdb23yt-72292-kzdsg-worker-a-gfqjr worker rendered-worker-d0130cd74e9e576d7ba78ce166272bfb rendered-worker-8f61bf839898a4487c3b5263a430e94a False 20M ci-ln-mdb23yt-72292-kzdsg-worker-b-gknq4 worker rendered-worker-8f61bf839898a4487c3b5263a430e94a rendered-worker-8f61bf839898a4487c3b5263a430e94a True 20M ci-ln-mdb23yt-72292-kzdsg-worker-c-mffrx worker rendered-worker-8f61bf839898a4487c3b5263a430e94a rendered-worker-8f61bf839898a4487c3b5263a430e94a True 19M次のコマンドを実行して、クラスター内のノードのすべてのマシン設定ノードステータスフィールドを表示します。
$ oc get machineconfignodes -o wide出力例
NAME POOLNAME DESIREDCONFIG CURRENTCONFIG UPDATED AGE UPDATEPREPARED UPDATEEXECUTED UPDATEPOSTACTIONCOMPLETE UPDATECOMPLETE RESUMED UPDATEDFILESANDOS CORDONEDNODE DRAINEDNODE REBOOTEDNODE UNCORDONEDNODE ci-ln-g6dr34b-72292-g9btv-master-0 master rendered-master-d4e122320b351cdbe1df59ddb63ddcfc rendered-master-6f2064fcb36d2a914de5b0c660dc49ff False 27M True Unknown False False False Unknown False False False False ci-ln-g6dr34b-72292-g9btv-master-1 master rendered-master-6f2064fcb36d2a914de5b0c660dc49ff rendered-master-6f2064fcb36d2a914de5b0c660dc49ff True 27M False False False False False False False False False False ci-ln-g6dr34b-72292-g9btv-master-2 master rendered-master-6f2064fcb36d2a914de5b0c660dc49ff rendered-master-6f2064fcb36d2a914de5b0c660dc49ff True 27M False False False False False False False False False False ci-ln-g6dr34b-72292-g9btv-worker-a-sjh5r worker rendered-worker-671b88c8c569fa3f60dc1a27cf9c91f2 rendered-worker-d5534cb730e5e108905fc285c2a42b6c False 20M True Unknown False False False Unknown False False False False ci-ln-g6dr34b-72292-g9btv-worker-b-xthbz worker rendered-worker-d5534cb730e5e108905fc285c2a42b6c rendered-worker-d5534cb730e5e108905fc285c2a42b6c True 20M False False False False False False False False False False ci-ln-g6dr34b-72292-g9btv-worker-c-gnpd6 worker rendered-worker-d5534cb730e5e108905fc285c2a42b6c rendered-worker-d5534cb730e5e108905fc285c2a42b6c True 19M False False False False False False False False False False次のコマンドを実行して、特定のマシン設定プールに含まれるノードの更新ステータスを確認します。
$ oc get machineconfignodes $(oc get machineconfignodes -o json | jq -r '.items[]|select(.spec.pool.name=="<pool_name>")|.metadata.name')1 ここでは、以下のようになります。
<pool_name>マシン設定プールの名前を指定します。
出力例
NAME POOLNAME DESIREDCONFIG CURRENTCONFIG UPDATED AGE ci-ln-g6dr34b-72292-g9btv-worker-a-sjh5r worker rendered-worker-d5534cb730e5e108905fc285c2a42b6c rendered-worker-d5534cb730e5e108905fc285c2a42b6c True 20M ci-ln-g6dr34b-72292-g9btv-worker-b-xthbz worker rendered-worker-d5534cb730e5e108905fc285c2a42b6c rendered-worker-faf6b50218a8bbce21f1370866283de5 False 20M ci-ln-g6dr34b-72292-g9btv-worker-c-gnpd6 worker rendered-worker-faf6b50218a8bbce21f1370866283de5 rendered-worker-faf6b50218a8bbce21f1370866283de5 True 19M
次のコマンドを実行して、個々のノードの更新ステータスを確認します。
$ oc describe machineconfignode/<node_name>出力例
apiVersion: machineconfiguration.openshift.io/v1 kind: MachineConfigNode metadata: creationTimestamp: "2025-04-28T18:52:16Z" generation: 3 name: ci-ln-921r7qk-72292-kxv95-worker-a-zmxrr ownerReferences: - apiVersion: v1 kind: Node name: ci-ln-921r7qk-72292-kxv95-worker-a-zmxrr uid: e548a8d1-4f16-42cd-9234-87ac5aede6c1 resourceVersion: "62331" uid: 11d96e07-582d-4569-a84a-9d8c5229a551 spec: configVersion: desired: rendered-worker-1930ca7433b7f0153286a3f04e4cb57b node: name: ci-ln-921r7qk-72292-kxv95-worker-a-zmxrr pool: name: worker status: conditions: # ... lastTransitionTime: 2025-04-23T14:55:31Z message: Update Compatible. Post Cfg Actions: [] Drain Required: true reason: UpdatePrepared status: True type: UpdatePrepared # ... lastTransitionTime: 2025-04-23T14:55:31Z message: Draining node. The drain will not be complete until desired drainer drain-rendered-worker-1930ca7433b7f0153286a3f04e4cb57b matches current drainer uncordon-rendered-worker-a9673968884f1ea42c26edcd914af907 reason: UpdateExecutedDrained status: True type: Drained # ... lastTransitionTime: 2025-04-23T14:55:31Z message: Cordoned node. The node is reporting Unschedulable = true reason: UpdateExecutedCordoned status: True type: Cordoned # ... - lastTransitionTime: "2025-04-28T18:52:16Z" message: This node has not yet entered the NodeDegraded phase reason: NotYetOccurred status: "False" type: NodeDegraded # ... configversion: current: rendered-worker-8110974a5cea69dff5b263237b58abd8 desired: rendered-worker-1930ca7433b7f0153286a3f04e4cb57b observedgeneration: 4 pinnedImageSets: - desiredGeneration: 1 name: worker-pinned-images # ...