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
Copy to Clipboard Toggle word wrap

出力例

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 
1

rendered-worker-f351f6947f15cd0380514f4b1c89f8f2   c00e2c941bc6e236b50e0bf3988e6c790cf2bbb2   3.5.0             7m26s 
2

# ...
Copy to Clipboard Toggle word wrap

1
ワーカーノードの現在のマシン設定。
2
ワーカーノードに適用されている新しく作成されたマシン設定。

新しいマシン設定でノードが更新される様子を監視できます。

$ oc get machineconfignodes
Copy to Clipboard Toggle word wrap

出力例

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  
1

ci-ln-ds73n5t-72292-9xsm9-worker-b-gw5sd   worker        rendered-worker-f351f6947f15cd0380514f4b1c89f8f2   rendered-worker-01f27f752eb84eba917450e43636b210   False     20M  
2

ci-ln-ds73n5t-72292-9xsm9-worker-c-t227w   worker        rendered-worker-01f27f752eb84eba917450e43636b210   rendered-worker-01f27f752eb84eba917450e43636b210   True      19M  
3
Copy to Clipboard Toggle word wrap

1
このノードは更新されています。新しいマシン設定 rendered-worker-f351f6947f15cd0380514f4b1c89f8f2 が必要なマシン設定および現在のマシン設定として表示されます。
2
このノードは現在、新しいマシン設定に更新されています。以前のマシン設定および新しいマシン設定は、それぞれ必要なマシン設定および現在のマシン設定として表示されます。
3
このノードは新しいマシン設定にまだ更新されていません。以前のマシン設定は、必要なマシン設定と現在のマシン設定として表示されます。
Expand
表1.1 基本的なマシン設定ノードフィールド
フィールド意味

NAME

ノードの名前。

POOLNAME

そのノードに関連付けられたマシン設定プールの名前。

DESIREDCONFIG

ノードの更新先である新しいマシン設定の名前。

CURRENTCONFIG

そのノード上の現在のマシン設定の名前。

UPDATED

次のいずれかの条件を使用して、ノードが更新されたかどうかを示します。

  • False の場合、ノードは DESIREDCONFIG フィールドに表示される新しいマシン設定に更新されています。
  • True の場合で、CURRENTCONFIGDESIREDCONFIG フィールドに示されている新しいマシン設定と一致する場合は、ノードは更新されています。
  • True の場合で、CURRENTCONFIGDESIREDCONFIG フィールドに示されている古いマシン設定と一致する場合は、そのノードはまだ更新されていません。

AGE

マシン設定ノードが作成されてからの経過時間。関連付けられたノードが更新されても、経過時間は変更されません。

-o wide フラグを使用すると、更新に関する追加情報を表示できます。

$ oc get machineconfignodes -o wide
Copy to Clipboard Toggle word wrap

出力例

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
Copy to Clipboard Toggle word wrap

前の表で定義されたフィールドに加え、-o wide 出力には以下のフィールドが表示されます。

Expand
表1.2 -o wide 出力のマシン設定ノードフィールド
フェーズ名定義

UPDATEPREPARED

MCO がノードを更新する準備ができているかどうかを示します。

UPDATEEXECUTED

MCO がノードで更新の本体を完了したかどうかを示します。

UPDATEPOSTACTIONCOMPLETE

MCO がノードで更新後のアクションを実行したかどうかを示します。

UPDATECOMPLETE

MCO がノードで更新を完了したかどうかを示します。

RESUMED

ノードが通常のプロセスを再開したかどうかを示します。

UPDATEDFILESANDOS

MCO がノードファイルとオペレーティングシステムを更新したかどうかを示します。

CORDONEDNODE

MCO がノードをスケジュール対象外としてマークしているかどうかを示します。

DRAINEDNODE

MCO がノードをドレインしたかどうかを示します。

REBOOTEDNODE

MCO がノードを再起動したかどうかを示します。

UNCORDONEDNODE

MCO がノードをスケジュール対象としてマークしているかどうかを示します。

更新ステータスの詳細は、oc describe machineconfignode コマンドを使用できます。

$ oc describe machineconfignode/<machine_config_node_name>
Copy to Clipboard Toggle word wrap

出力例

apiVersion: machineconfiguration.openshift.io/v1
kind: MachineConfigNode
metadata:
  creationTimestamp: "2025-04-28T18:40:29Z"
  generation: 3
  name: <machine_config_node_name> 
1

# ...
spec:
  configVersion:
    desired: rendered-master-34f96af2e41acb615410b97ce1c819e6 
2

  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 
3

    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.
Copy to Clipboard Toggle word wrap

1.6.1. マシン設定ノードのステータスの確認

マシン設定プール (MCP) の更新中に、oc get machineconfignodesoc describe machineconfignodes コマンドを使用して、クラスター内のすべてのノードの進行状況を監視できます。これらのコマンドは、更新時に問題が発生し、ノードのトラブルシューティングが必要な場合に役立つ情報を提供します。

これらのフィールドの意味に関する詳細は、「マシン設定ノードのステータスの確認について」を参照してください。

手順

  • 次のコマンドを実行して、現在のマシン設定と必要なマシン設定を含む、クラスター内のすべてのノードの更新ステータスを表示します。

    $ oc get machineconfignodes
    Copy to Clipboard Toggle word wrap

    出力例

    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
    Copy to Clipboard Toggle word wrap

  • 次のコマンドを実行して、クラスター内のノードのすべてのマシン設定ノードステータスフィールドを表示します。

    $ oc get machineconfignodes -o wide
    Copy to Clipboard Toggle word wrap

    出力例

    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
    Copy to Clipboard Toggle word wrap

  • 次のコマンドを実行して、特定のマシン設定プールに含まれるノードの更新ステータスを確認します。

    $ oc get machineconfignodes $(oc get machineconfignodes -o json | jq -r '.items[]|select(.spec.pool.name=="<pool_name>")|.metadata.name') 
    1
    Copy to Clipboard Toggle word wrap

    ここでは、以下のようになります。

    <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
    Copy to Clipboard Toggle word wrap

  • 次のコマンドを実行して、個々のノードの更新ステータスを確認します。

    $ oc describe machineconfignode/<node_name>
    Copy to Clipboard Toggle word wrap

    出力例

    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
    # ...
    Copy to Clipboard Toggle word wrap

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat