View a markdown version of this page

Amazon EKS Hybrid Nodes ゲートウェイ設定リファレンス - Amazon EKS

このページの改善にご協力ください

このユーザーガイドに貢献するには、すべてのページの右側のペインにある「GitHub でこのページを編集する」リンクを選択してください。

Amazon EKS Hybrid Nodes ゲートウェイ設定リファレンス

このページでは、Amazon EKS Hybrid Nodes ゲートウェイの設定可能なすべてのパラメータについて説明します。インストール手順については、「EKS Hybrid Nodes ゲートウェイの使用を開始する」を参照してください。ゲートウェイの概要については、「Amazon EKS Hybrid Nodes ゲートウェイ」を参照してください。

Helm チャート値

以下の表に、eks-hybrid-nodes-gateway Helm チャート内のすべての値を一覧表示します。これらの値は、helm install または helm upgrade 中に --set フラグまたはカスタム values.yaml ファイルを使用して設定できます。

タイプ デフォルト 必須 説明

image.repository

string

public.ecr.aws/eks/eks-hybrid-nodes-gateway

いいえ

ゲートウェイイメージのコンテナイメージリポジトリ。デフォルトは、パブリック Amazon ECR レジストリです。

image.tag

string

Chart appVersion

いいえ

イメージタグ。デフォルトは、Chart.yaml で定義されている appVersion です。

image.pullPolicy

string

IfNotPresent

いいえ

イメージプルポリシー。有効な値は、AlwaysIfNotPresentNever です。

replicas

integer

2

いいえ

ゲートウェイポッドレプリカの数。本番環境で高可用性を実現するには、2 つのレプリカが推奨設定です。

nodeLabel

string

hybrid-gateway-node

いいえ

ゲートウェイノードの選択に使用されるノードラベルキー。ノードには、このラベルを "true" に設定する必要があります。

vpcCIDR

string

""

はい

Cilium VTEP 設定に使用される VPC CIDR ブロック。例えば、10.0.0.0/16 などです。

podCIDRs

string

""

はい

ハイブリッドノードで Cilium が使用するポッド CIDR のカンマ区切りリスト。例えば、10.85.0.0/16,10.86.0.0/16 などです。

routeTableIDs

string

""

はい

ハイブリッドポッドルートでプログラムする VPC ルートテーブル ID のカンマ区切りリスト。例えば、rtb-0123456789abcdef0,rtb-0123456789abcdef1 などです。

autoMode.enabled

boolean

true

いいえ

EKS Auto Mode 統合を有効にします。true の場合、チャートは eks.amazonaws.com/compute-type: auto ノードセレクタを追加し、ダウンタイムのないローリング更新戦略を使用します。マネージド型ノードグループまたはセルフマネージド型ノードの場合は false に設定します。

インストールコマンドの例

EKS Auto Mode (デフォルト):

helm install eks-hybrid-nodes-gateway oci://public.ecr.aws/eks/eks-hybrid-nodes-gateway \ --version 1.0.0 \ --namespace eks-hybrid-nodes-gateway \ --create-namespace \ --set vpcCIDR=VPC_CIDR \ --set podCIDRs=POD_CIDRS \ --set routeTableIDs=ROUTE_TABLE_IDS

マネージド型ノードグループまたはセルフマネージド型ノード:

helm install eks-hybrid-nodes-gateway oci://public.ecr.aws/eks/eks-hybrid-nodes-gateway \ --version 1.0.0 \ --namespace eks-hybrid-nodes-gateway \ --create-namespace \ --set autoMode.enabled=false \ --set vpcCIDR=VPC_CIDR \ --set podCIDRs=POD_CIDRS \ --set routeTableIDs=ROUTE_TABLE_IDS

Auto Mode とマネージド型ノードグループ設定の比較

autoMode.enabled Helm 値は、デプロイテンプレートの 2 つの動作を制御します。

行動 autoMode.enabled=true (デフォルト) autoMode.enabled=false

ノードセレクタ

ゲートウェイノードラベルに加えて eks.amazonaws.com/compute-type: auto を追加します。

ゲートウェイノードラベル (hybrid-gateway-node: "true") のみを使用します。

ローリング更新戦略

maxSurge: 1maxUnavailable: 0 — 古いポッドを終了する前に新しいポッドを起動することで、アップグレード中のダウンタイムをゼロにします。

maxSurge: 0maxUnavailable: 1 — ノード容量は事前プロビジョニングされているため、新しいポッドを開始する前に古いポッドを終了します。

EKS Auto Mode を使用する場合は、Helm チャートをインストールする前に NodePoolNodeClass を作成する必要があります。NodePool は、正しいラベル、テイント、送信元/送信先チェック設定を使用して EC2 インスタンスをプロビジョニングします。必要な YAML については、「EKS Hybrid Nodes ゲートウェイの使用を開始する」を参照してください。マネージド型ノードグループまたはセルフマネージド型ノードを使用する場合は、チャートをインストールする前に、ノードを自分でプロビジョニングしてラベルを付ける必要があります。

すべてのデプロイターゲットについて、デプロイは hostNetwork: true を使用し、NET_ADMIN 機能を必要とします。ポッドアンチアフィニティにより、2 つのゲートウェイポッドが別々のノードで実行されます。

リーダー選出調整

ゲートウェイは、Kubernetes リースベースのリーダー選出を使用してアクティブスタンバイモデルを維持します。デフォルトのパラメータは、高速フェイルオーバー用に調整されます。

パラメータ デフォルト 説明

--leader-election-lease-duration

3s

非リーダーが、最後に確認されたリースの更新後、リースの取得を試みるまで待機する時間。値が低いほどリーダーの障害をより迅速に検出できますが、一時的なネットワーク問題中に誤ったフェイルオーバーが発生するリスクが高まります。

--leader-election-renew-deadline

2s

アクティブなリーダーがリーダーシップを放棄する前にリースの更新に費やす最大時間。リース期間より短くする必要があります。

--leader-election-retry-period

1s

候補がリースの取得または更新を再試行する頻度。

デフォルト値では、アクティブゲートウェイが失敗すると予想されるフェイルオーバー時間は約 3~5 秒です。これには、スタンバイがリースの有効期限を検出し、リースを取得し、リーダーセットアップシーケンス (VPC ルートテーブルの更新と Cilium VTEP 設定) を実行するまでの時間が含まれます。

リーダー選出パラメータを調整するタイミング

  • ゲートウェイポッドと Kubernetes API サーバー間の一時的なネットワークレイテンシーが原因でリーダーが頻繁に移行する場合は、リース期間を長くします。

  • フェイルオーバー検出を高速化する必要があり、ゲートウェイノードと API サーバー間のネットワークの信頼性が高く、レイテンシーが低い場合は、リース期間を短縮します。

  • 大規模なクラスターでリーダー選出による API サーバーの負荷を減らすには、再試行期間を長くします。

注記

--leader-election-renew-deadline は常に --leader-election-lease-duration より小さくなければなりません。更新期限がリース期間を超える場合、リーダーは更新前にリースを失う可能性があります。