View a markdown version of this page

EKS マネージド型ノードグループのノード修復設定のサポート - Eksctl ユーザーガイド

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

EKS マネージド型ノードグループのノード修復設定のサポート

EKS Managed Nodegroups は、マネージドノードの状態がモニタリングされ、異常なワーカーノードがそれに応じて置き換えまたは再起動されるノード修復をサポートしています。eksctl は、ノード修復動作をきめ細かく制御するための包括的な設定オプションを提供するようになりました。

基本的なノード修復設定

CLI フラグの使用

基本的なノード修復を使用してマネージド型ノードグループを持つクラスターを作成するには、 --enable-node-repairフラグを渡します。

eksctl create cluster --enable-node-repair

既存のクラスターでノード修復を使用してマネージド型ノードグループを作成するには:

eksctl create nodegroup --cluster=<clusterName> --enable-node-repair

設定ファイルの使用

# basic-node-repair.yaml apiVersion: eksctl.io/v1alpha5 kind: ClusterConfig metadata: name: basic-node-repair-cluster region: us-west-2 managedNodeGroups: - name: ng-1 nodeRepairConfig: enabled: true
eksctl create cluster -f basic-node-repair.yaml

拡張ノード修復設定

しきい値の設定

ノード修復アクションがパーセンテージまたはカウントベースのしきい値を使用して停止するタイミングを設定できます。注: パーセンテージしきい値とカウントしきい値を同時に使用することはできません。

しきい値の CLI フラグ

# Percentage-based threshold - repair stops when 20% of nodes are unhealthy eksctl create cluster --enable-node-repair \ --node-repair-max-unhealthy-percentage=20 # Count-based threshold - repair stops when 5 nodes are unhealthy eksctl create cluster --enable-node-repair \ --node-repair-max-unhealthy-count=5

しきい値の設定ファイル

managedNodeGroups: - name: threshold-ng nodeRepairConfig: enabled: true # Stop repair actions when 20% of nodes are unhealthy maxUnhealthyNodeThresholdPercentage: 20 # Alternative: stop repair actions when 3 nodes are unhealthy # maxUnhealthyNodeThresholdCount: 3 # Note: Cannot use both percentage and count thresholds simultaneously

並列修復の制限

同時にまたは並行して修復できるノードの最大数を制御します。これにより、ノード置換のペースをよりきめ細かく制御できます。注: パーセンテージ制限とカウント制限を同時に使用することはできません。

並列制限の CLI フラグ

# Percentage-based parallel limits - repair at most 15% of unhealthy nodes in parallel eksctl create cluster --enable-node-repair \ --node-repair-max-parallel-percentage=15 # Count-based parallel limits - repair at most 2 unhealthy nodes in parallel eksctl create cluster --enable-node-repair \ --node-repair-max-parallel-count=2

並列制限の設定ファイル

managedNodeGroups: - name: parallel-ng nodeRepairConfig: enabled: true # Repair at most 15% of unhealthy nodes in parallel maxParallelNodesRepairedPercentage: 15 # Alternative: repair at most 2 unhealthy nodes in parallel # maxParallelNodesRepairedCount: 2 # Note: Cannot use both percentage and count limits simultaneously

カスタム修復オーバーライド

特定の修復アクションの詳細なオーバーライドを指定します。これらのオーバーライドは、ノードが修復対象と見なされるまでの修復アクションと修復遅延時間を制御します。これを使用する場合は、各オーバーライドのすべての値を指定する必要があります。

managedNodeGroups: - name: custom-repair-ng instanceType: g4dn.xlarge # GPU instances nodeRepairConfig: enabled: true maxUnhealthyNodeThresholdPercentage: 25 maxParallelNodesRepairedCount: 1 nodeRepairConfigOverrides: # Handle GPU-related failures with immediate termination - nodeMonitoringCondition: "AcceleratedInstanceNotReady" nodeUnhealthyReason: "NvidiaXID13Error" minRepairWaitTimeMins: 10 repairAction: "Terminate" # Handle network issues with restart after waiting - nodeMonitoringCondition: "NetworkNotReady" nodeUnhealthyReason: "InterfaceNotUp" minRepairWaitTimeMins: 20 repairAction: "Restart"

完全な設定例

すべての設定オプションを含む包括的な例については、「examples/44-node-repair.yaml」を参照してください。

例 1: しきい値の割合による基本的な修復

apiVersion: eksctl.io/v1alpha5 kind: ClusterConfig metadata: name: basic-repair-cluster region: us-west-2 managedNodeGroups: - name: basic-ng instanceType: m5.large desiredCapacity: 3 nodeRepairConfig: enabled: true maxUnhealthyNodeThresholdPercentage: 20 maxParallelNodesRepairedPercentage: 15

例 2: 重要なワークロードの保守的な修復

apiVersion: eksctl.io/v1alpha5 kind: ClusterConfig metadata: name: critical-workload-cluster region: us-west-2 managedNodeGroups: - name: critical-ng instanceType: c5.2xlarge desiredCapacity: 6 nodeRepairConfig: enabled: true # Very conservative settings maxUnhealthyNodeThresholdPercentage: 10 maxParallelNodesRepairedCount: 1 nodeRepairConfigOverrides: # Wait longer before taking action on critical workloads - nodeMonitoringCondition: "NetworkNotReady" nodeUnhealthyReason: "InterfaceNotUp" minRepairWaitTimeMins: 45 repairAction: "Restart"

例 3: 特殊な修復による GPU ワークロード

apiVersion: eksctl.io/v1alpha5 kind: ClusterConfig metadata: name: gpu-workload-cluster region: us-west-2 managedNodeGroups: - name: gpu-ng instanceType: g4dn.xlarge desiredCapacity: 4 nodeRepairConfig: enabled: true maxUnhealthyNodeThresholdPercentage: 25 maxParallelNodesRepairedCount: 1 nodeRepairConfigOverrides: # GPU failures require immediate termination - nodeMonitoringCondition: "AcceleratedInstanceNotReady" nodeUnhealthyReason: "NvidiaXID13Error" minRepairWaitTimeMins: 5 repairAction: "Terminate"

CLI リファレンス

ノード修復フラグ

フラグ 説明

--enable-node-repair

自動ノード修復を有効にする

--enable-node-repair

--node-repair-max-unhealthy-percentage

修復前の異常なノードの最大パーセンテージ

--node-repair-max-unhealthy-percentage=20

--node-repair-max-unhealthy-count

修復前の異常なノードの最大数

--node-repair-max-unhealthy-count=5

--node-repair-max-parallel-percentage

並行して修復するノードの最大パーセンテージ

--node-repair-max-parallel-percentage=15

--node-repair-max-parallel-count

並行して修復するノードの最大数

--node-repair-max-parallel-count=2

注: ノード修復設定の上書きは、その複雑さにより YAML 設定ファイルでのみサポートされます。

設定リファレンス

nodeRepairConfig

フィールド タイプ 説明 制約

enabled

boolean

ノード修復の有効化/無効化

-

true

maxUnhealthyNodeThresholdPercentage

integer

ノードの自動修復アクションが停止する異常ノードのしきい値の割合

では使用できません maxUnhealthyNodeThresholdCount

20

maxUnhealthyNodeThresholdCount

integer

ノードの自動修復アクションが停止する異常なノードのカウントしきい値

では使用できません maxUnhealthyNodeThresholdPercentage

5

maxParallelNodesRepairedPercentage

integer

同時にまたは並行して修復できる異常なノードの最大割合

では使用できません maxParallelNodesRepairedCount

15

maxParallelNodesRepairedCount

integer

同時または並行して修復できる異常なノードの最大数

では使用できません maxParallelNodesRepairedPercentage

2

nodeRepairConfigOverrides

array

修復アクションと遅延時間を制御する特定の修復アクションの詳細なオーバーライド

オーバーライドごとにすべての値を指定する必要があります

上記の例を参照してください。

nodeRepairConfigOverrides

フィールド タイプ 説明 有効な値

nodeMonitoringCondition

string

このオーバーライドが適用されるノードモニタリングエージェントによって報告される異常な状態

"AcceleratedInstanceNotReady", "NetworkNotReady"

nodeUnhealthyReason

string

このオーバーライドが適用されるノードモニタリングエージェントによって報告された理由

"NvidiaXID13Error", "InterfaceNotUp"

minRepairWaitTimeMins

integer

指定された条件と理由でノードを修復しようとするまでの最小待機時間

任意の正の整数

repairAction

string

指定された条件がすべて満たされたときにノードに対して実行する修復アクション

"Terminate", "Restart", "NoAction"

詳細情報