Lingjun ノードの自動修復を有効化すると、ACK は Lingjun ノードの基盤障害を自動的にモニタリングします。障害が検出された場合、ACK は Lingjun の Approve O&M operations 機能を使用して修復を実行します。この機能を使用するには、まず Lingjun ノードプールのマネージド構成を有効化する必要があります。
ノード自動修復の有効化
ACK では、ノードプールの作成時または既存ノードプールのマネージド構成の変更時に、ノード自動修復を有効化し、自動修復ルールを定義できます。自動修復ルール ページでルールを管理できます。構成手順については、以下の「自動修復ルールの構成」をご参照ください。
この機能は、ホワイトリストに登録されたユーザーのみが利用可能です。有効化するには、テクニカルサポートまでお問い合わせください。
Apsara Stack リージョンではこの機能はサポートされていません。
方法 1: 新規ノードプール
ACK Clusters ページで、ご利用のクラスター名をクリックします。左側のナビゲーションウィンドウで、 をクリックします。
Lingjun ノードプールの作成 をクリックします。マネージド設定 セクションで、マネージド機能を有効化し、画面上の指示に従って自動修復ルールを作成・有効化します。
構成項目の詳細については、「Lingjun ノードプールの作成」をご参照ください。
方法 2: 既存ノードプール
ACK Clusters ページで、ご利用のクラスター名をクリックします。左側のナビゲーションウィンドウで、 をクリックします。
対象の Lingjun ノードプールの アクション 列で、
をクリックし、マネージド型ノードプールの有効化(まだ有効化されていない場合)または マネージド設定(すでに有効化済みの場合)を選択します。画面上の指示に従って自動修復ルールを作成・有効化します。構成項目の詳細については、「Lingjun ノードプールの作成」をご参照ください。
この機能を有効化した後は、すべての自動修復ルールを ページで作成および管理できます。
画面上の指示に従って、自己修復ルールの作成 をクリックして新しいルールを作成するか、ルール一覧で既存ルールを管理します。
自動修復ルールの構成
障害は優先度に基づいて処理されます。メンテナンスが必要な高優先度の障害が最初に修復されます。再起動で解決可能な低優先度の障害は、すべての高優先度障害が解決されるまで遅延されます。
権限付与を迅速に行わないと、ACK が修復プロセスを一時停止し、ノードが不健全な状態のままになる可能性があります。
ノード自動修復により修復が自動化されますが、サービスの長時間中断を防ぐため、引き続き Lingjun ノードの健全性と ACK クラスター内のステータスを監視する必要があります。
1. ルール構成ページへのアクセス
ノードプールの作成または構成ページ、または 自動修復ルール ページから、自己修復ルールの作成 をクリックして、自己修復ルールの作成 パネルを開きます。
画面上の指示に従って、ルール名を指定し、ルールを構成します。
Node Pool Type: Lingjun Node Pool を選択します。
サブルール設定: サブルールの追加 をクリックし、ウィザードに従って「a. 障害の選択」および「b. 障害修復プロセスのカスタマイズ」を完了します。
通知: ページ上の注意事項をよくお読みください。
2. サブルールの構成
a. 障害タイプの選択
ノード自動修復は、Lingjun ノードから報告された CloudMonitor イベントをモニタリングすることで障害を検出し、Lingjun の Approve O&M operations 機能を呼び出して修復を実行します。
障害タイプと修復動作:
障害名 | Lingjun イベント名 | Kubernetes 条件 | 障害の説明 | 修復動作 |
Lingjun ノード基盤ハードウェア例外 | Node.HardwareFault.HOST:Inquiring resourceType: Node |
| Lingjun ノードでハードウェア障害が発生し、メンテナンスが必要です。このメンテナンスにより、ノードのローカルディスク上のデータが損失する可能性があります。コンテナランタイムおよび kubelet のディレクトリがローカルディスク上にある場合、メンテナンス完了後にノードを ACK クラスターから削除し、再度追加する必要があります。 | Lingjun ノードを修復します。 重要 修復中に Lingjun ノードのローカルディスク上のデータが損失する可能性があります。事前にデータをバックアップしてください。 優先度: 高 |
Lingjun ノード基盤例外 | Node.FaultNeedReboot.HOST:Inquiring resourceType: Node |
| Lingjun ノードで例外が発生しました。問題を解決するために、できるだけ早くノードを再起動することを推奨します。 | Lingjun ノードを再起動します。 優先度: 中 |
b. 障害修復フローのカスタマイズ
以下のすべての修復プロセスは手動介入をサポートしており、ノードラベルによる承認 を有効化することで使用できます。有効化すると、ACK は権限付与の確認を受け取った後にのみ操作を実行します。
パラメーター | 説明 |
Node cordon | 障害のあるノードをスケジュール不可としてマークします( |
Node draining | これを有効化する前に、まず node cordon を有効化する必要があります。 ACK は障害のあるノードからワークロードをエビクト(退避)します。ノードドレインのデフォルトタイムアウトは 300 秒ですが、調整可能です。
|
Auto repair | ACK は障害タイプに対応する修復アクションを実行します。詳細については、「障害タイプと修復動作」をご参照ください。 |
Node uncordon | これを有効化する前に、まず node cordon を有効化する必要があります。 ノードをスケジュール可能な状態に戻します( このステップは、修復開始前にすでにスケジュール不可としてマークされていたノードをスケジュール可能にはしません。 |
ノード自動修復イベント
Lingjun ノードプールに自動修復ルールを関連付けた後、ACK はクラスター内の Lingjun ノードからの障害イベントを Kubernetes Events および Condition に変換します。また、ノード自動修復プロセスの進行状況を追跡するために Kubernetes Events を出力します。
一般的な自動修復イベント
イベント (reason) | レベル | 説明 |
DetectedLingJungCMSEvent | Warning | Lingjun ノードの障害が検出された、または既存の障害のステータスが更新されました。 |
RepairPlanCreated | Warning | 自動修復プランが作成されました。 |
WaitingApproveProcedure | Warning | 現在のステップが一時停止され、手動による権限付与を待機しています。イベントメッセージには、必要なアクションおよび権限付与方法の詳細が記載されています。 |
RepairPlanProcedureWaitingForApproval | Warning | ノードに権限付与ラベルが追加されました。 |
RepairPlanStatusUpdated | Normal | 自動修復プランのステータスが更新されました。このイベントは、現在実行中のステップとその結果を記録します。 |
ApproveLingjunOperation | Normal | Lingjun コントロールプレーンが修復操作を実行する権限を付与されました。 |
NodeNotRecovery | Warning | 修復完了後もノードが回復しなかった場合にトリガーされます。ACK は修復後、30 分ごとにノードのステータスをチェックします。 |
RepairPlanCompleted | Warning | 自動修復プランが完了しました。イベントメッセージには、プランが成功したか失敗したかが示されます。 |
特殊なシナリオのイベント
以下のイベントは、特定のシナリオで発生する可能性があります。
イベント (理由) | レベル | 説明 |
NodeRecoveryNeedSilence | Normal | 最近修復されたノードで、異なるタイプの新しい障害が発生しました。システムは、新しい自動修復プランを作成する前に 10 分間のサイレンス期間を待ちます。 |
NodeRecoveryHasProcessed | Warning | 自動修復プランがこの障害をすでに処理しましたが、ノードは回復していません。手動での介入が必要です。 |
RepairPlanFailed | Warning | 現在の障害に対する自動修復プランが失敗し、ノードは回復していません。手動での介入が必要です。 |
RepairPlanStatusUpdateFailed | Warning | 自動修復プランのステータスの更新に失敗しました。 |
AddInquiringLabelFailed | Normal | 権限付与ラベルの設定に失敗しました。自動修復プロセスは中止されます。 |
アラートの構成
ノード自動修復を有効化した後は、アラーム管理も構成する必要があります。クラスターノードプール O&M のイベントアラートルールセット および クラスターノードの自己修復アラートルールセット を有効化して、異常イベントに関する通知をタイムリーに受け取るようにしてください。
これらのルールセットの有効化手順については、「Container Service のアラーム管理」をご参照ください。