1.6. マシン設定ノードのステータスの確認について


たとえば、マシン設定または kubelet 設定を使用して、クラスター内のデフォルトのコントロールプレーンノードまたはワーカーノードに変更を加える場合、マシン設定ノードカスタムリソースを使用して、ノード更新の進捗に関する詳細情報を取得できます。新しいマシン設定が生成されるような変更は、ノード更新プロセスをトリガーします。

OpenShift Container Platform のインストール時に作成された control plane および worker マシン設定プール内のノードの詳細情報を表示できます。カスタムマシン設定プールは使用できません。

MachineConfigNode カスタムリソースを使用すると、アップグレードフェーズを通過する際に、個別のノード更新の進捗をモニターできます。この情報は、更新中にノードの 1 つに問題が発生した場合のトラブルシューティングに役立ちます。カスタムリソースは、現在ノードが更新プロセスのどの段階にあるか、完了したフェーズ、および残りのフェーズを報告します。

重要

マシン設定ノードのカスタムリソースは、テクノロジープレビュー機能のみです。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。

Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。

ノードの更新プロセスには、マシン設定ノードのカスタムリソースで追跡される以下のフェーズとサブフェーズが含まれます。このセクションで後ほど詳細に説明します。

  • Update Prepared: MCO は設定ドリフトモニタリングプロセスを停止し、新たに作成されたマシン設定がノードに適用できることを確認します。

    • UpdateCompatible
  • Update Executed: MCO はノードを遮断およびドレインし、必要に応じて新しいマシン設定をノードのファイルおよびオペレーティングシステムに適用します。次のサブフェーズが含まれています。

    • Cordoned
    • Drained
    • AppliedFilesAndOS
  • PinnedImageSetsProgressing: MCO は、コンテナーイメージの固定および事前ロードに必要な手順を実行しています。
  • PinnedImageSetsDegraded: 固定されたイメージプロセスに失敗しました。oc describe machineconfignode コマンドを使用すると、このセクションの後半で説明するように、障害の理由を表示できます。
  • Update Post update action: MCO は、必要に応じてノードを再起動するか CRI-O を再ロードします。

    • RebootedNode
    • ReloadedCRIO
  • Update Complete: MCO はノードの遮断を解除し、ノードの状態をクラスターに更新して、ノードのメトリクスの生成を再開します。

    • Updated
    • Uncordoned
  • Resumed: MCO は設定ドリフトモニタープロセスを再起動し、ノードは運用状態に戻ります。

更新がこれらのフェーズを通過すると、MachineConfigNode カスタムリソースをクエリーできます。これは、フェーズごとに次のいずれかの条件を報告します。

  • True: そのノードでフェーズが完了したか、MCO がそのノードでそのフェーズを開始したことを意味します。
  • False: そのノードでは、フェーズが実行中であるか、実行されないことを意味します。
  • Unknown: そのノードでは、フェーズが実行中であるか、エラーが発生していることを意味します。フェーズにエラーがある場合、このセクションで後で説明するように、oc describe machineconfignodes コマンドを使用して詳細情報を取得できます。

たとえば、新たに作成されたマシン設定を持つクラスターについて考えてみます。

$ oc get machineconfig

出力例

# ...
rendered-master-23cf200e4ee97daa6e39fdce24c9fb67   c00e2c941bc6e236b50e0bf3988e6c790cf2bbb2   3.4.0             6d15h
rendered-master-a386c2d1550b927d274054124f58be68   c00e2c941bc6e236b50e0bf3988e6c790cf2bbb2   3.4.0             7m26s
# ...
rendered-worker-01f27f752eb84eba917450e43636b210   c00e2c941bc6e236b50e0bf3988e6c790cf2bbb2   3.4.0             6d15h 1
rendered-worker-f351f6947f15cd0380514f4b1c89f8f2   c00e2c941bc6e236b50e0bf3988e6c790cf2bbb2   3.4.0             7m26s 2
# ...

1
コントロールプレーンおよびワーカーノードの現在のマシン設定。
2
コントロールプレーンおよびワーカーノードに適用される新規作成のマシン設定。

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

$ oc get machineconfignodes

出力例

NAME                                       POOLNAME   DESIREDCONFIG                                      CURRENTCONFIG                                      UPDATED
ci-ln-ds73n5t-72292-9xsm9-master-0         master     rendered-master-a386c2d1550b927d274054124f58be68   rendered-master-a386c2d1550b927d274054124f58be68   True
ci-ln-ds73n5t-72292-9xsm9-master-1         master     rendered-master-a386c2d1550b927d274054124f58be68   rendered-master-23cf200e4ee97daa6e39fdce24c9fb67   False
ci-ln-ds73n5t-72292-9xsm9-master-2         master     rendered-master-23cf200e4ee97daa6e39fdce24c9fb67   rendered-master-23cf200e4ee97daa6e39fdce24c9fb67   True
ci-ln-ds73n5t-72292-9xsm9-worker-a-2d8tz   worker     rendered-worker-f351f6947f15cd0380514f4b1c89f8f2   rendered-worker-f351f6947f15cd0380514f4b1c89f8f2   True 1
ci-ln-ds73n5t-72292-9xsm9-worker-b-gw5sd   worker     rendered-worker-f351f6947f15cd0380514f4b1c89f8f2   rendered-worker-01f27f752eb84eba917450e43636b210   False 2
ci-ln-ds73n5t-72292-9xsm9-worker-c-t227w   worker     rendered-worker-01f27f752eb84eba917450e43636b210   rendered-worker-01f27f752eb84eba917450e43636b210   True 3

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

NAME

ノードの名前。

POOLNAME

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

DESIREDCONFIG

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

CURRENTCONFIG

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

UPDATED

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

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

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

$ oc get machineconfignodes -o wide

出力例

$ oc get machineconfignode -o wide
NAME                                       POOLNAME   DESIREDCONFIG                                      CURRENTCONFIG                                      UPDATED   UPDATEPREPARED   UPDATEEXECUTED   UPDATEPOSTACTIONCOMPLETE   UPDATECOMPLETE   RESUMED   UPDATECOMPATIBLE   UPDATEDFILESANDOS   CORDONEDNODE   DRAINEDNODE   REBOOTEDNODE   RELOADEDCRIO   UNCORDONEDNODE
ci-ln-ds73n5t-72292-9xsm9-master-0         master     rendered-master-23cf200e4ee97daa6e39fdce24c9fb67   rendered-master-23cf200e4ee97daa6e39fdce24c9fb67   True      False            False            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      False            False            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      False            False            False                      False            False     False              False               False          False         False          False          False
ci-ln-ds73n5t-72292-9xsm9-worker-a-2d8tz   worker     rendered-worker-f351f6947f15cd0380514f4b1c89f8f2   rendered-worker-f351f6947f15cd0380514f4b1c89f8f2   True      False            False            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     True             True             Unknown                    False            False     True               True                True           True          Unknown        False          False
ci-ln-ds73n5t-72292-9xsm9-worker-c-t227w   worker     rendered-worker-01f27f752eb84eba917450e43636b210   rendered-worker-01f27f752eb84eba917450e43636b210   True      False            False            False                      False            False     False              False               False          False         False          False          False

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

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

UPDATEPREPARED

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

UPDATEEXECUTED

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

UPDATEPOSTACTIONCOMPLETE

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

UPDATECOMPLETE

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

RESUMED

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

UPDATECOMPATIBLE

MCO がノードで更新を実行できると判断したかどうかを示します。

UPDATEDFILESANDOS

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

CORDONEDNODE

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

DRAINEDNODE

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

REBOOTEDNODE

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

RELOADEDCRIO

MCO が CRI-O サービスを再起動したかどうかを示します。

UNCORDONEDNODE

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

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

$ oc describe machineconfignode/<machine_config_node_name> -o yaml

出力例

Name:         <machine_config_node_name> 1
Namespace:
Labels:       <none>
Annotations:  <none>
API Version:  machineconfiguration.openshift.io/v1alpha1
Kind:         MachineConfigNode
Metadata:
  Creation Timestamp:  2023-10-17T13:08:58Z
  Generation:          1
  Resource Version:    49443
  UID:                 4bd758ab-2187-413c-ac42-882e61761b1d
Spec:
  Node Ref:
    Name:         <node_name>
  Pool:
    Name:         worker
  ConfigVersion:
    Desired: rendered-worker-f351f6947f15cd0380514f4b1c89f8f2 2
Status:
  Conditions:
    Last Transition Time:  2025-01-14T17:01:16Z
    Message:               Node ci-ln-ds73n5t-72292-9xsm9-worker-b-gw5sd needs an update
    Reason:                Updated
    Status:                False
    Type:                  Updated
    Last Transition Time:  2025-01-14T17:01:18Z
    Message:               Update is Compatible.
    Reason:                UpdateCompatible
    Status:                True
    Type:                  UpdatePrepared
    Last Transition Time:  2025-01-14T17:04:08Z
    Message:               Updated the Files and OS on disk as a part of the in progress phase
    Reason:                AppliedFilesAndOS
    Status:                True
    Type:                  UpdateExecuted
    Last Transition Time:  2025-01-14T17:04:08Z
    Message:               Node will reboot into config rendered-worker-db01b33f959e5645a721da50a6db1fbb
    Reason:                RebootedNode
    Status:                Unknown
    Type:                  UpdatePostActionComplete
    Last Transition Time:  2025-01-14T16:04:27Z
    Message:               Action during update to rendered-worker-f351f6947f15cd0380514f4b1c89f8f2: UnCordoned Node as part of completing upgrade phase
    Reason:                Uncordoned
    Status:                False
    Type:                  UpdateComplete
    Last Transition Time:  2025-01-14T16:04:27Z
    Message:               Action during update to rendered-worker-f351f6947f15cd0380514f4b1c89f8f2: In desired config rendered-worker-01f27f752eb84eba917450e43636b210. Resumed normal operations.
    Reason:                Resumed
    Status:                False
    Type:                  Resumed
    Last Transition Time:  2025-01-14T17:01:18Z
    Message:               Update Compatible. Post Cfg Actions []: Drain Required: true
    Reason:                UpdatePreparedUpdateCompatible
    Status:                True
    Type:                  UpdateCompatible
    Last Transition Time:  2025-01-14T17:03:57Z
    Message:               Drained node. The drain is complete as the desired drainer matches current drainer: drain-rendered-worker-db01b33f959e5645a721da50a6db1fbb
    Reason:                UpdateExecutedDrained
    Status:                True
    Type:                  Drained
    Last Transition Time:  2025-01-14T17:04:08Z
    Message:               Applied files and new OS config to node. OS did not need an update. SSH Keys did not need an update
    Reason:                UpdateExecutedAppliedFilesAndOS
    Status:                True
    Type:                  AppliedFilesAndOS
    Last Transition Time:  2025-01-14T17:01:23Z
    Message:               Cordoned node. The node is reporting Unschedulable = true
    Reason:                UpdateExecutedCordoned
    Status:                True
    Type:                  Cordoned
    Last Transition Time:  2025-01-14T17:04:08Z
    Message:               Upgrade requires a reboot. Currently doing this as the post update action.
    Reason:                UpdatePostActionCompleteRebootedNode
    Status:                Unknown
    Type:                  RebootedNode
    Last Transition Time:  2025-01-14T15:30:57Z
    Message:               This node has not yet entered the ReloadedCRIO phase
    Reason:                NotYetOccured
    Status:                False
    Type:                  ReloadedCRIO
    Last Transition Time:  2025-01-14T16:04:27Z
    Message:               Action during update to rendered-worker-f351f6947f15cd0380514f4b1c89f8f2: UnCordoned node. The node is reporting Unschedulable = false
    Reason:                UpdateCompleteUncordoned
    Status:                False
    Type:                  Uncordoned
    Last Transition Time:  2025-01-14T16:04:07Z
    Message:               All is good
    Reason:                AsExpected
    Status:                False
    Type:                  PinnedImageSetsDegraded
    Last Transition Time:  2025-01-14T16:04:07Z
    Message:               All pinned image sets complete
    Reason:                AsExpected
    Status:                False
    Type:                  PinnedImageSetsProgressing
  Config Version:
    Current:            rendered-worker-01f27f752eb84eba917450e43636b210 3
    Desired:            rendered-worker-f351f6947f15cd0380514f4b1c89f8f2
  Observed Generation:  6
# ...

1
MachineConfigNode オブジェクト名。
2
新しいマシン設定。このフィールドは、MCO が UPDATEPREPARED フェーズでマシン設定を検証した後に更新され、ステータスが新しい設定を追加します。
3
ノードの現在のマシン設定。

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

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

これらのコマンドは、カスタムのマシン設定プールでは使用できません。

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

前提条件

  • cluster という名前の FeatureGate CR を編集して、クラスターに必要なテクノロジープレビュー機能を有効にした。

    $ oc edit featuregate cluster

    FeatureGate CR の例

    apiVersion: config.openshift.io/v1
    kind: FeatureGate
    metadata:
      name: cluster
    spec:
      featureSet: TechPreviewNoUpgrade

    警告

    クラスターで TechPreviewNoUpgrade 機能セットを有効にすると、元に戻すことができず、マイナーバージョンの更新が妨げられます。この機能セットを使用すると、該当するテクノロジープレビュー機能をテストクラスターで有効にして、完全にテストすることができます。実稼働クラスターではこの機能セットを有効にしないでください。

    変更を保存すると、新規マシン設定が作成され、マシン設定プールが更新され、変更が適用されている間に各ノードのスケジューリングが無効になります。

手順

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

    $ oc get machineconfignodes

    出力例

    NAME                                       POOLNAME   DESIREDCONFIG                                      CURRENTCONFIG                                      UPDATED
    ci-ln-mdb23yt-72292-kzdsg-master-0         master     rendered-master-f21b093d20f68a7c06f922ed3ea5fbc8   rendered-master-1abc053eec29e6c945670f39d6dc8afa   False
    ci-ln-mdb23yt-72292-kzdsg-master-1         master     rendered-master-1abc053eec29e6c945670f39d6dc8afa   rendered-master-1abc053eec29e6c945670f39d6dc8afa   True
    ci-ln-mdb23yt-72292-kzdsg-master-2         master     rendered-master-1abc053eec29e6c945670f39d6dc8afa   rendered-master-1abc053eec29e6c945670f39d6dc8afa   True
    ci-ln-mdb23yt-72292-kzdsg-worker-a-gfqjr   worker     rendered-worker-d0130cd74e9e576d7ba78ce166272bfb   rendered-worker-8f61bf839898a4487c3b5263a430e94a   False
    ci-ln-mdb23yt-72292-kzdsg-worker-b-gknq4   worker     rendered-worker-8f61bf839898a4487c3b5263a430e94a   rendered-worker-8f61bf839898a4487c3b5263a430e94a   True
    ci-ln-mdb23yt-72292-kzdsg-worker-c-mffrx   worker     rendered-worker-8f61bf839898a4487c3b5263a430e94a   rendered-worker-8f61bf839898a4487c3b5263a430e94a   True

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

    $ oc get machineconfignodes -o wide

    出力例

    NAME                                       POOLNAME   DESIREDCONFIG                                      CURRENTCONFIG                                      UPDATED   UPDATEPREPARED   UPDATEEXECUTED   UPDATEPOSTACTIONCOMPLETE   UPDATECOMPLETE   RESUMED   UPDATECOMPATIBLE   UPDATEDFILESANDOS   CORDONEDNODE   DRAINEDNODE   REBOOTEDNODE   RELOADEDCRIO   UNCORDONEDNODE
    ci-ln-g6dr34b-72292-g9btv-master-0         master     rendered-master-d4e122320b351cdbe1df59ddb63ddcfc   rendered-master-6f2064fcb36d2a914de5b0c660dc49ff   False     True             Unknown          False                      False            False     True               Unknown             False          False         False          False          False
    ci-ln-g6dr34b-72292-g9btv-master-1         master     rendered-master-6f2064fcb36d2a914de5b0c660dc49ff   rendered-master-6f2064fcb36d2a914de5b0c660dc49ff   True      False            False            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      False            False            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     True             Unknown          False                      False            False     True               Unknown             False          False         False          False          False
    ci-ln-g6dr34b-72292-g9btv-worker-b-xthbz   worker     rendered-worker-d5534cb730e5e108905fc285c2a42b6c   rendered-worker-d5534cb730e5e108905fc285c2a42b6c   True      False            False            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      False            False            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

    出力例

    NAME                                       POOLNAME   DESIREDCONFIG                                      CURRENTCONFIG                                      UPDATED
    ci-ln-g6dr34b-72292-g9btv-worker-a-sjh5r   worker     rendered-worker-d5534cb730e5e108905fc285c2a42b6c   rendered-worker-d5534cb730e5e108905fc285c2a42b6c   True
    ci-ln-g6dr34b-72292-g9btv-worker-b-xthbz   worker     rendered-worker-d5534cb730e5e108905fc285c2a42b6c   rendered-worker-faf6b50218a8bbce21f1370866283de5   False
    ci-ln-g6dr34b-72292-g9btv-worker-c-gnpd6   worker     rendered-worker-faf6b50218a8bbce21f1370866283de5   rendered-worker-faf6b50218a8bbce21f1370866283de5   True

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

    $ oc describe machineconfignode/<node_name>

    出力例

    Name:         <node_name>
    Namespace:
    Labels:       <none>
    Annotations:  <none>
    API Version:  machineconfiguration.openshift.io/v1alpha1
    Kind:         MachineConfigNode
    Metadata:
      Creation Timestamp:  2023-10-17T13:08:58Z
      Generation:          1
      Resource Version:    49443
      UID:                 4bd758ab-2187-413c-ac42-882e61761b1d
    Spec:
      Node Ref:
        Name:         <node_name>
      Pool:
        Name:         master
      ConfigVersion:
        Desired: rendered-worker-823ff8dc2b33bf444709ed7cd2b9855b
    Status:
    # ...
        Message:               Drained node. The drain is complete as the desired drainer matches current drainer: drain-rendered-worker-01f27f752eb84eba917450e43636b210
        Reason:                UpdateExecutedDrained
        Status:                True
        Type:                  Drained
        Last Transition Time:  2025-01-14T15:45:55Z
    # ...
      Config Version:
        Current:            rendered-master-8110974a5cea69dff5b263237b58abd8
        Desired:            rendered-worker-823ff8dc2b33bf444709ed7cd2b9855b
      Observed Generation:  6
    # ...

関連情報

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.