このページの改善にご協力ください
本ユーザーガイドの改善にご協力いただけませんか? このページの下部までスクロールし、[GitHub でこのページの編集] を選択します。皆さまにご協力いただくことで、あらゆる人々に使いやすいユーザーガイドになります。
プレフィックスを使用して Amazon EKS ノードに割り当てる IP アドレスを増やす
適用対象: Amazon EC2 インスタンスを持つ Linux および Windows ノード
適用対象: パブリックサブネットおよびプライベートサブネット
各 Amazon EC2 インスタンスでは、Elastic Network Interface の最大数と、各ネットワークインターフェイスに割り当て可能な IP アドレスの最大数がサポートされています。各ノードには、ネットワークインターフェースごとに 1 つの IP アドレスが必要です。その他の使用可能な IP アドレスはすべて Pods
に割り当てることができます。Pod
それぞれに固有の IP アドレスが必要です。その結果、使用可能なコンピューティングリソースとメモリリソースはあるが、Pods
に割り当てる IP アドレスが不足しているために追加の Pods
に対応できないノードが存在する可能性があります。
個別のセカンダリ IP アドレスではなく、IP プレフィックスをノードに割り当てて、ノードでPods
に割り当て可能な IP アドレスの数を増やす方法について説明します。各プレフィックスには複数の IP アドレスが含まれます。IP プレフィックスが割り当てられるようにクラスターを設定しない場合、クラスターは Pod 接続に必要なネットワークインターフェイスと IP アドレスを設定するために Amazon EC2 アプリケーションプログラミングインターフェイス (API) の呼び出しをさらに実行する必要があります。クラスターのサイズが大きくなるにつれて、これらの API コールの頻度が高くなるため、Pod とインスタンスの起動時間が長くなる場合があります。これにより、大規模でスパイク的なワークロードの需要を満たすためにスケーリングの遅延が発生します。また、スケーリング要件を満たすためには、追加のクラスターと VPC をプロビジョニングする必要があるため、コストと管理オーバーヘッドも増加します。詳細については、「GitHub」の「Kubernetes スケーラビリティ閾値
Amazon VPC CNI plugin for Kubernetes 機能との互換性
次の機能で IP プレフィックスを使用できます。
-
IPv4 ソースネットワークアドレス変換 - 詳細については、「podsのアウトバウンドインターネットアクセスを有効にする」を参照してください。
-
クラスター、ポッド、サービスへの IPv6 アドレス - 詳細については、「クラスター、pods、サービスに IPv6 アドレスを割り当てる」を参照してください。
-
Kubernetes ネットワークポリシーを使用したトラフィックの制限 - 詳細については、「Kubernetes ネットワークポリシーによりpodトラフィックを制限する」を参照してください。
次のリストは、適用される Amazon VPC CNI プラグイン設定に関する情報を示しています。各設定の詳細については、GitHub の「amazon-vpc-cni-k8s
-
WARM_IP_TARGET
-
MINIMUM_IP_TARGET
-
WARM_PREFIX_TARGET
考慮事項
この機能を使用する場合は、以下を考慮してください。
-
各 Amazon EC2 インスタンスタイプでは、Pods の最大数がサポートされています。マネージドノードグループが複数のインスタンスタイプで構成されている場合、クラスターのインスタンスで指定する Pods の最大数の内、最小の値がクラスター内のすべてのノードに適用されます。
-
デフォルトでは、1 つのノードで実行できる
Pods
の最大数は 110 ですが、この値は変更できます。数値を変更し、既存のマネージド型ノードグループがある場合、ノードグループの AMI または起動テンプレートを次に更新するときに、新しいノードで変更済みの値が適用されるようになります。 -
IP アドレスの割り当てから IP プレフィックスの割り当てに移行する場合は、既存のノードにローリング置換を実行するのではなく、新しいノードグループを作成して使用可能な IP アドレスの数を増やすことをお勧めします。IP アドレスと IP プレフィックスの両方が割り当てられているノードで Pods を実行すると、アドバタイズされた IP アドレスの容量に不一致が生じ、ノード上の将来のワークロードに影響する可能性があります。推奨される移行方法については、「Amazon EKS ベストプラクティスガイド」の「セカンダリ IP モードからプレフィックス委任モード、またはその逆への移行中にすべてのノードを置換する
」を参照してください。 -
セキュリティグループのスコープはノードレベル - 詳細については、「セキュリティグループ」を参照してください。
-
ネットワークインターフェイスに割り当てられた IP プレフィックスは、ノードあたりの高いPod密度をサポートし、最適な起動時間になっています。
-
IP プレフィックスと IP アドレスは、標準の Amazon EC2 Elastic ネットワークインターフェイスに関連付けられています。特定のセキュリティグループを必要とする Pod には、ブランチネットワークインターフェイスのプライマリ IP アドレスが割り当てられます。IP アドレスを取得する Pods、または IP プレフィックスからの IP アドレスを、同じノード上のブランチネットワークインターフェイスを取得する Pods と混在させることができます。
-
Linux ノードのみを含むクラスターの場合。
-
ネットワークインターフェイスにプレフィックスを割り当てるようにアドオンを設定すると、クラスター内のすべてのノードグループにあるすべてのノードを削除しない限り、Amazon VPC CNI plugin for Kubernetes アドオンを
1.9.0
(または1.10.1
) より前のバージョンにダウングレードすることはできません。 -
Pods のセキュリティグループ (
POD_SECURITY_GROUP_ENFORCING_MODE
=standard
およびAWS_VPC_K8S_CNI_EXTERNALSNAT
=false
に設定) も使用している場合、Pods が VPC の外部のエンドポイントと通信するときに、Pods に割り当てたセキュリティグループではなく、ノードのセキュリティグループが使用されます。Pods のセキュリティグループ (
POD_SECURITY_GROUP_ENFORCING_MODE
=strict
に設定) も使用している場合、Pods
が VPC の外部のエンドポイントと通信するときに、Pod's
セキュリティグループが使用されます。
-