翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
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 リファレンス
ノード修復フラグ
| フラグ | 説明 | 例 |
|---|---|---|
|
|
自動ノード修復を有効にする |
|
|
|
修復前の異常なノードの最大パーセンテージ |
|
|
|
修復前の異常なノードの最大数 |
|
|
|
並行して修復するノードの最大パーセンテージ |
|
|
|
並行して修復するノードの最大数 |
|
注: ノード修復設定の上書きは、その複雑さにより YAML 設定ファイルでのみサポートされます。
設定リファレンス
nodeRepairConfig
| フィールド | タイプ | 説明 | 制約 | 例 |
|---|---|---|---|---|
|
|
boolean |
ノード修復の有効化/無効化 |
- |
|
|
|
integer |
ノードの自動修復アクションが停止する異常ノードのしきい値の割合 |
では使用できません |
|
|
|
integer |
ノードの自動修復アクションが停止する異常なノードのカウントしきい値 |
では使用できません |
|
|
|
integer |
同時にまたは並行して修復できる異常なノードの最大割合 |
では使用できません |
|
|
|
integer |
同時または並行して修復できる異常なノードの最大数 |
では使用できません |
|
|
|
array |
修復アクションと遅延時間を制御する特定の修復アクションの詳細なオーバーライド |
オーバーライドごとにすべての値を指定する必要があります |
上記の例を参照してください。 |
nodeRepairConfigOverrides
| フィールド | タイプ | 説明 | 有効な値 |
|---|---|---|---|
|
|
string |
このオーバーライドが適用されるノードモニタリングエージェントによって報告される異常な状態 |
|
|
|
string |
このオーバーライドが適用されるノードモニタリングエージェントによって報告された理由 |
|
|
|
integer |
指定された条件と理由でノードを修復しようとするまでの最小待機時間 |
任意の正の整数 |
|
|
string |
指定された条件がすべて満たされたときにノードに対して実行する修復アクション |
|