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 # ...
新しいマシン設定でノードが更新される様子を監視できます。
$ 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
フィールド | 意味 |
---|---|
| ノードの名前。 |
| そのノードに関連付けられたマシン設定プールの名前。 |
| ノードの更新先である新しいマシン設定の名前。 |
| そのノード上の現在のマシン設定の名前。 |
| ノードが次のいずれかの条件で更新されたかどうかを示します。
|
-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
出力には以下のフィールドが表示されます。
フェーズ名 | 定義 |
---|---|
| MCO がノードを更新する準備ができているかどうかを示します。 |
| MCO がノードで更新の本体を完了したかどうかを示します。 |
| MCO がノードで更新後のアクションを実行したかどうかを示します。 |
| MCO がノードで更新を完了したかどうかを示します。 |
| ノードが通常のプロセスを再開したかどうかを示します。 |
| MCO がノードで更新を実行できると判断したかどうかを示します。 |
| MCO がノードファイルとオペレーティングシステムを更新したかどうかを示します。 |
| MCO がノードをスケジュール対象外としてマークしているかどうかを示します。 |
| MCO がノードをドレインしたかどうかを示します。 |
| MCO がノードを再起動したかどうかを示します。 |
| MCO が CRI-O サービスを再起動したかどうかを示します。 |
| 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.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 # ...
関連情報
- フィーチャーゲートの詳細は、Web コンソールを使用した機能セットの有効化 を参照してください。