すべてのプロダクト
Search
ドキュメントセンター

Container Service for Kubernetes:Terway の使用

最終更新日:Mar 07, 2026

Terway は Alibaba Cloud が開発したオープンソースのコンテナネットワークインターフェース (CNI) プラグインです。Terway は Virtual Private Cloud (VPC) と統合され、標準的な Kubernetes ネットワークポリシーを使用してコンテナ間の通信を制御できます。

事前準備

Terway ネットワークプラグインを使用する前に、このトピックを読んで Terway の動作原理を理解してください。

このトピックを読む前に、コンテナネットワークプラグインの基本概念を理解し、適切なプラグインを選択できるように、ネットワークの概要およびTerway と Flannel の比較をご確認ください。

クラスターを作成する前に、CIDR ブロックを計画してください。詳細については、「ACK マネージドクラスターのネットワークプランニング」をご参照ください。

課金

Terway は無料でご利用いただけます。ただし、Terway Pod は各ノードにデプロイされ、少量のノードリソースを消費します。ACK で使用される Alibaba Cloud サービスの課金情報については、「クラウドリソース料金」をご参照ください。

重要な注意事項

Terway の設定ファイル eni-config には多くのシステムパラメーターが含まれています。サポートされていないフィールドを変更または削除しないでください。そうしないと、ネットワークが中断されたり、Pod の作成に失敗したりする可能性があります。変更可能な設定パラメーターの一覧については、「Terway 設定パラメーターのカスタマイズ」をご参照ください。

Terway コンポーネントは、Custom Resource Definitions (CRD) を使用してリソースステータスを追跡します。システムリソースを誤って変更すると、ネットワークが中断されたり、Pod の作成に失敗したりする可能性があります。

リソース名

リソースタイプ

ユーザーが CRD を管理可能か

ユーザーが CR を管理可能か

podnetworkings.network.alibabacloud.com

ユーザーリソース

いいえ

はい

podenis.network.alibabacloud.com

システムリソース

いいえ

いいえ

networkinterfaces.network.alibabacloud.com

システムリソース

いいえ

いいえ

nodes.network.alibabacloud.com

システムリソース

いいえ

いいえ

noderuntimes.network.alibabacloud.com

システムリソース

いいえ

いいえ

*.cilium.io

システムリソース

いいえ

いいえ

*.crd.projectcalico.org

システムリソース

いいえ

いいえ

ノードあたりの最大 Pod 数の計算方法

Terway ネットワークプラグインを使用する場合、ノードあたりの最大 Pod 数は、Elastic Compute Service (ECS) インスタンスタイプがサポートする Elastic Network Interfaces (ENI) の数によって決まります。Terway はノードあたりの Pod 数に対して最小限の制限を設けており、この制限を満たすノードのみがクラスターに正常に参加できます。詳細については、次の表をご参照ください。

Terway モード

ノードあたりの最大 Pod 数

静的 IP アドレス、個別の vSwitch、個別のセキュリティグループをサポートするノードあたりの最大 Pod 数

共有 ENI モード

(ECS インスタンスタイプがサポートする ENI 数 - 1) × ENI がサポートするプライベート IP アドレス数

(EniQuantity - 1) × EniPrivateIpAddressQuantity

説明

ノードあたりの最大 Pod 数が 11 を超える場合にのみ、ノードをクラスターに参加させることができます。

たとえば、汎用 ecs.g7.4xlarge インスタンスタイプは 8 個の ENI をサポートし、各 ENI は 30 個のプライベート IP アドレスをサポートします。ノードあたりの最大 Pod 数は (8 - 1) × 30 = 210 です。

重要

ノード上で ENI を使用できる最大 Pod 数は、インスタンスタイプによって決定される固定値です。maxPods パラメーターを変更しても、hostNetwork モードを使用する Pod の最大数にのみ影響します。

0

共有 ENI + Trunk ENI

シングルノード Trunk Pod クォータ:

ECS インスタンスタイプがサポートするネットワークインターフェース総数 - ECS インスタンスタイプがサポートする ENI 数

EniTotalQuantity - EniQuantity

排他的な ENI モード

ECS インスタンス:

ECS インスタンスタイプがサポートする ENI 数 - 1

EniQuantity - 1

Lingjun インスタンス:

Lingjun ENI の作成と管理 - 1

LeniQuota - 1

説明

ノードあたりの最大 Pod 数が 6 を超える場合にのみ、ノードをクラスターに参加させることができます。

たとえば、汎用 ecs.g7.4xlarge インスタンスタイプは 8 個の ENI をサポートします。ノードあたりの最大 Pod 数は (8 - 1) = 7 です。

ECS インスタンスタイプがサポートする ENI 数 - 1

EniQuantity - 1

説明

Lingjun インスタンスはサポートされていません。

重要

Terway v1.11.0 以降のバージョンでは、ノードプールを排他的な ENI モードまたは共有 ENI モードで実行するように設定できます。両方のタイプのノードプールを同じクラスター内に共存させることができます。詳細については、「Terway リリースノート」をご参照ください。

ノードがサポートする最大 Pod 数の確認方法

  • 方法 1:ACK コンソールでノードプールを作成する際、インスタンスタイプ セクションの Terway 互換性 (サポートされる Pod 数) で、インスタンスタイプがサポートする最大 Pod 数を確認できます。

  • 方法 2:必要なデータを取得して、手動で ECS インスタンスタイプがサポートする最大 Pod 数を計算します。

    • インスタンスファミリーの概要を確認して、インスタンスタイプがサポートする ENI 数を調べます。

    • OpenAPI Explorer を使用して情報を照会できます。InstanceTypes パラメーターに既存ノードのインスタンスタイプを指定し、呼び出しを開始 をクリックします。応答において、EniQuantity はインスタンスタイプがサポートする最大 ENI 数を示します。EniPrivateIpAddressQuantity は各 ENI がサポートするプライベート IP アドレス数を示します。EniTotalQuantity はインスタンスタイプがサポートするネットワークインターフェース総数を示します。

クラスター作成時の Terway のインストール

Terway をネットワークプラグインとして選択できるのは、クラスター作成時のみです。クラスター作成後はプラグインを変更できません。

  1. Container Service 管理コンソール にログインします。左側のナビゲーションウィンドウで、クラスターリスト をクリックします。

  2. クラスターリスト ページで、Kubernetes クラスターの作成 をクリックします。

  3. Terway の主要なネットワークパラメーターを設定します。その他のクラスターパラメーターの詳細については、「ACK マネージドクラスターの作成」をご参照ください。

    設定項目

    説明

    IPv6 デュアルスタック

    有効化 を選択すると、IPv4 と IPv6 の両方をサポートするデュアルスタッククラスターを作成できます。

    Kubernetes 1.22 以降でのみサポートされ、Terway でのみ使用でき、eRDMA とは併用できません。

    クラスターは IPv4 および IPv6 プロトコルの両方をサポートしますが、ワーカーノードとコントロールプレーン間の通信は引き続き IPv4 アドレスを使用します。以下の点を確認してください。

    • クラスター VPC が IPv6 デュアルスタックをサポートしていること。

    • 共有 ENI モードで Terway を使用する場合、ノードのインスタンスタイプが IPv6 をサポートしており、割り当て可能な IPv4 アドレス数と IPv6 アドレス数が同一であること。

    VPC

    クラスターで使用する VPC。

    ネットワークプラグイン

    Terway を選択します。

    DataPath V2

    このオプションを選択すると、DataPath V2 アクセラレーションが有効になります。DataPath V2 を有効化すると、Terway は標準的な共有 ENI モードとは異なるトラフィック転送パスを使用して、ネットワークパフォーマンスを向上させます。機能の詳細については、「ネットワークアクセラレーション」をご参照ください。

    説明
    • Kubernetes 1.34 以降を使用する新規クラスターで DataPath V2 を有効化した場合、kube-proxy は Terway ノード上で実行されなくなります。

      • このモードにはポートマップの組み込みサポートが含まれており、ポートマッププラグインを別途設定する必要はありません。「カスタム CNI チェーンの設定」をご参照ください。

    • DataPath V2 は以下のオペレーティングシステムイメージのみをサポートし、Linux カーネルバージョン 5.10 以上が必要です。

      • Alibaba Cloud Linux 3 (すべてのバージョン)

      • ContainerOS

      • Ubuntu

    • 有効化すると、Terway ポリシーコンテナは各ワーカーノードで追加で 0.5 コアと 512 MB のリソースを消費します。このリソース消費量はクラスター規模の拡大に伴って増加します。デフォルトの Terway 構成では、ポリシーコンテナの CPU 制限は 1 コアで、メモリ制限はありません。

    • DataPath V2 モードでは、コンテナネットワークの接続追跡 (conntrack) データは eBPF マップに格納されます。Linux のネイティブ conntrack メカニズムと同様に、eBPF conntrack は Least Recently Used (LRU) エビクションを実装しています。マップ容量に達すると、最も古い接続が自動的に削除され、新しい接続が格納されます。ワークロード規模に基づいてパラメーターを設定し、接続制限を超えないようにしてください。詳細については、「Terway における conntrack 構成の最適化」をご参照ください。

    NetworkPolicy のサポート

    このオプションを選択すると、Kubernetes ネイティブの NetworkPolicy が有効になります。

    説明
    • Terway v1.9.2 以降では、新規クラスターの NetworkPolicy は拡張 Berkeley Packet Filter (eBPF) を使用して実装されています。データプレーンでは DataPath V2 も有効になります。

    • コンソールを使用して NetworkPolicy を管理する機能はパブリックプレビュー中です。この機能を使用するには、クォータセンターコンソールで申請を提出する必要があります。

    ENI トランキングのサポート

    このオプションを選択すると、ENI トランキングが有効になります。各 Pod に静的 IP アドレス、個別の vSwitch、個別のセキュリティグループを割り当てることができます。

    説明
    • ACK マネージドクラスターでは、申請を提出せずに ENI トランキングを選択できます。ACK 専用クラスターで ENI トランキングを有効にするには、クォータセンターコンソールで申請を提出する必要があります。

    • Kubernetes 1.31 以降を使用する新規ACK マネージドクラスターでは、ENI トランキングがデフォルトで有効になります。

    vSwitch

    クラスターノードで使用する vSwitch の CIDR ブロック。クラスターの高可用性を確保するために、異なるゾーンにまたがる少なくとも 3 つの vSwitch を選択してください。

    Pod vSwitch

    Pod で使用する vSwitch の CIDR ブロック。このブロックはノードで使用する vSwitch CIDR ブロックと重複しても構いません。

    サービス CIDR

    サービスで使用する CIDR ブロック。このブロックはノードまたは Pod の CIDR ブロックと重複してはいけません。

    IPv6 サービス CIDR

    IPv6 デュアルスタックを有効化した後に設定します。

Terway モード

以下のセクションを確認して、Terway モードの違いと動作原理を理解してください。

共有 ENI モードと排他的な ENI モード

Pod に IP アドレスを割り当てる際、Terway は 共有 ENI モード または 排他的な ENI モード のいずれかで動作します。

重要
  • Terway v1.11.0 以降のバージョンでは、個々のノードプールを共有 ENI モードまたは排他的な ENI モードで実行するように設定できます。この選択はクラスター作成時ではなくなりました。

  • ノード上のプライマリ ENI はノード OS に割り当てられます。残りの ENI は Terway が管理し、Pod ネットワークを構成します。これらの ENI を手動で設定しないでください。ENI の管理方法の詳細については、「ENI フィルターの設定」をご参照ください。

比較項目

共有 ENI モード

排他的な ENI モード

Pod IP アドレス管理

ENI 割り当て

複数の Pod が 1 つの ENI を共有します。

各 Pod にノード上の専用 ENI が割り当てられます。

Pod 密度

単一ノードで数百の Pod をサポートできるため、高密度で Pod をデプロイできます。

低密度です。標準的なインスタンスタイプでは、1 桁の Pod 数しかサポートできません。

ネットワークアーキテクチャ

imageimage

データリンク

Pod が別の Pod にアクセスする場合や、サービスのバックエンドとして機能する場合、トラフィックはノードのネットワークプロトコルスタックを通過します。

Pod がサービスにアクセスする場合、トラフィックはノード OS のプロトコルスタックを通過します。しかし、Pod が別の Pod にアクセスする場合や、サービスのバックエンドとして機能する場合、アタッチされた ENI がノードのネットワークプロトコルスタックをバイパスするため、より高いパフォーマンスを実現します。

ユースケース

一般的な Kubernetes ユースケースに適しています。

従来の仮想マシンと同等のネットワークパフォーマンスを提供します。このモードは、高ネットワークスループットまたは低レイテンシを必要とするアプリケーションに適しています。

ネットワークアクセラレーション

DataPath V2 ネットワークアクセラレーションをサポートしています。詳細については、「ネットワークアクセラレーション」をご参照ください。

ネットワークアクセラレーションはサポートされていません。ただし、排他的な ENI リソースにより優れたネットワークパフォーマンスを提供します。

NetworkPolicy のサポート

Kubernetes ネイティブの NetworkPolicy をサポートしています。これにより、ポリシーに基づくアクセス制御が可能です。詳細については、「NetworkPolicy のサポート」をご参照ください。

NetworkPolicy はサポートされていません。

ノードレベルのネットワーク構成

サポートされています。「ノードレベルのネットワーク構成」をご参照ください。

サポートされています。「ノードレベルのネットワーク構成」をご参照ください。

アクセスの制御

ENI トランキングを有効化すると、Pod に静的 IP アドレス、個別のセキュリティグループ、個別の vSwitch を割り当てることができます。詳細については、「Pod への静的 IP アドレス、個別の vSwitch、個別のセキュリティグループの設定」をご参照ください。

Pod に静的 IP アドレス、個別のセキュリティグループ、個別の vSwitch を割り当てることができます。

ネットワークアクセラレーション

Terway 共有 ENI モードを使用する場合、ネットワークアクセラレーションを有効化できます。ネットワークアクセラレーションを有効化すると、Terway は標準的な共有 ENI モードとは異なるトラフィック転送パスを使用して、より高いパフォーマンスを実現します。現在、Terway は DataPath V2 アクセラレーションをサポートしています。詳細については、以下の説明をご参照ください。

重要
  • DataPath V2 は、以前の IPVLAN + eBPF アクセラレーションモードのアップグレード版です。Terway 1.8.0 以降を使用してクラスターを作成する場合、DataPath V2 のみがサポートされます。

  • DataPath V2 および IPVLAN + eBPF アクセラレーションモードは、共有 ENI モードで実行されるノードプールにのみ適用されます。排他的な ENI モードで実行されるノードプールには影響しません。

DataPath V2 機能

説明

適用される Terway バージョン

Terway 1.8.0 以降で作成されたクラスター。

ネットワークアーキテクチャ

image

アクセラレーションされたデータリンク

  • Pod がサービスにアクセスする場合、eBPF がサービスアドレスをバックエンド Pod のアドレスに解決します。

  • Pod が別のノード上の Pod にアクセスする場合、eBPF が両ノードのネットワークプロトコルスタックをバイパスします。

  • Pod が同じノード上の別の Pod にアクセスする場合、ノードプロトコルスタックをバイパスし、内部でトラフィックが転送されます。

パフォーマンスの最適化

  • ホスト上の Pod ネットワーク転送プロセスが簡素化されます。Pod ネットワークパフォーマンスはホストネットワークパフォーマンスとほぼ同等になり、レイテンシは標準モードと比べて 30 % 低下します。

  • サービスネットワーキングでは kube-proxy モードの代わりに eBPF を使用します。これにより、ホスト上の iptables または IPVS をバイパスし、リクエストレイテンシを大幅に削減します。大規模クラスターでもネットワークパフォーマンスへの影響が少なくなり、スケーラビリティが向上します。

  • Pod ネットワークポリシー (NetworkPolicy) では iptables の代わりに eBPF を使用します。これにより、ホスト上に大量の iptables ルールを生成することを回避し、ネットワークポリシーがネットワークパフォーマンスに与える影響を軽減します。

使用方法

クラスター作成時に、ネットワークプラグインTerway に設定し、DataPath V2 を選択します。

使用上の注意

  • カーネルバージョン ≥ 5.10。Alibaba Cloud Linux OS イメージを推奨します。

  • サンドボックス化されたコンテナランタイムはまだサポートされていません。

  • ネットワークポリシー (NetworkPolicy) の制限事項:

    • CIDR セレクターは Pod CIDR ブロック制御をサポートしていません。Pod アクセスを制御するには、Pod ラベルセレクターを使用してください。

    • CIDR セレクターの except キーワードは完全にはサポートされていません。使用を避けてください。

    • Egress タイプの NetworkPolicy を使用すると、ホストネットワーク内の Pod やクラスター内のノード IP アドレスへのアクセスができなくなります。

  • LoadBalancer サービスに関連付けられた SLB インスタンスへのクラスター内部からのアクセスは、ループバックの問題や接続障害を引き起こす可能性があります。詳細については、「SLB インスタンスにアクセスできないのはなぜですか?」をご参照ください。

  • IPv6 ヘアピンアクセスはサポートされていません。

  • NodePort の制限事項:

    • ExternalTrafficPolicy=Local を使用してサービスにアクセスすると、トラフィックが失敗する可能性があります。ExternalTrafficPolicy=Cluster を代わりに設定してください。

    • ExternalTrafficPolicy=Cluster を使用する場合、ソースアドレスに SNAT が適用されます。利用可能なポート範囲は 32768–65535 です。

旧バージョンのクラスターでは、IPVLAN + eBPF アクセラレーションモードを選択していた可能性があります。詳細については、以下の説明をご参照ください。

IPVLAN + eBPF アクセラレーションモード

IPVLAN + eBPF 機能

説明

適用される Terway バージョン

Terway 1.7.0 以前で作成されたクラスター。

ネットワークアーキテクチャ

image

アクセラレーションされたデータリンク

  • Pod がサービスにアクセスする場合、eBPF がサービスアドレスを Pod のネットワーク名前空間内のバックエンド Pod のアドレスに解決します。

  • Pod が別の Pod にアクセスする場合、IPVLAN が両ノードのネットワークプロトコルスタックをバイパスします。

使用方法

クラスター作成時に、ネットワークプラグインTerway に設定し、Pod IPVLAN を選択します。

アクセスの制御

Terway 共有 ENI モードは、NetworkPolicy および ENI トランキングを使用して、クラスター内のネットワークトラフィックを詳細に管理できます。Terway 排他的な ENI モードも一部のトラフィック制御機能をサポートしています。

NetworkPolicy のサポート

  • Terway 排他的な ENI モードで実行されるノードプールは、NetworkPolicy をサポートしていません。

  • Terway 共有 ENI モードで実行されるノードプールは、Kubernetes ネイティブの NetworkPolicy をサポートしています。Pod 間のネットワークトラフィックを制御するルールを定義できます。

    クラスター作成時に、ネットワークプラグインTerway に設定し、NetworkPolicy のサポート を選択して NetworkPolicy を有効化します。詳細については、「ACK クラスターでのネットワークポリシーの使用」をご参照ください。

    説明

    コンソールを使用して NetworkPolicy を管理する機能はパブリックプレビュー中です。この機能を使用するには、クォータセンターコンソールで申請を提出する必要があります。

Pod への静的 IP アドレス、個別の vSwitch、個別のセキュリティグループの設定

  • Terway 排他的な ENI モードで実行されるノードプールは、各 Pod に静的 IP アドレス、個別の vSwitch、個別のセキュリティグループを割り当てることをサポートしています。これにより、詳細なトラフィック管理、トラフィック隔離、ネットワークポリシー構成、IP アドレス管理が可能になります。

  • ENI トランキングは、Terway 共有 ENI モードで実行されるノードプールのオプションです。ENI トランキングを有効化すると、各 Pod に静的 IP アドレス、個別の vSwitch、個別のセキュリティグループを割り当てることができます。

    クラスター作成時に、ネットワークプラグインTerway に設定し、ENI トランキングのサポート を選択します。詳細については、「Pod への固定 IP アドレス、個別の vSwitch、個別のセキュリティグループの設定」をご参照ください。

    説明
    • ACK マネージドクラスターでは、申請を提出せずに ENI トランキングを選択できます。ACK 専用クラスターで ENI トランキングを有効にするには、クォータセンターコンソールで申請を提出する必要があります。

    • Kubernetes 1.31 以降を使用する新規ACK マネージドクラスターでは、ENI トランキングがデフォルトで有効になります。

    • ENI トランキングを有効化すると、terway-eniip および terway-controlplane コンポーネントがインストールされます。

スケール制限

Terway はクラウドプロダクトの OpenAPI を呼び出してノードのネットワークインターフェースおよび IP アドレスを管理します。OpenAPI の使用制限については、対応するクラウドプロダクトのドキュメントをご確認ください。

  • 共有 ENI モード: 並列で割り当て可能な最大ノード数は 500 です。

  • 排他的な ENI / Trunk ENI モード: 並列で割り当て可能な最大 Pod 数は 100 です。

これらのクォータは調整できません。

データプレーンの構成要件

Terway のネットワーク機能は、カーネルレベルの構成の正確な順序と整合性に大きく依存しています。優先度の変更、ルールのオーバーライド、プログラムのアンロードなど、外部コンポーネントによる IP RuleIP Route、または eBPF フックの調整されていない変更は、Pod ネットワークの停止、ポリシーの失敗、トラフィックのハイジャックなどの重大な障害を引き起こす可能性があります。すべてのサードパーティ製コンポーネントの統合について、競合が発生しないよう厳密に検証する必要があります。

TC フィルタールール

インターフェース

方向

プログラム

優先度

機能

ethx

toContainer

VLAN Untag

20000

VLAN タグの削除

ethx

toContainer

cil_from_netdev

25000

Cilium サービス / ネットワークポリシー

veth

toContainer

cil_to_container

25000

Cilium サービス / ネットワークポリシー

veth

fromContainer

cil_from_container

25000

Cilium サービス / ネットワークポリシー

ethx

fromContainer

cil_to_netdev

25000

Cilium サービス / ネットワークポリシー

ethx

fromContainer

VLAN Tag

50001

VLAN タグの追加

IP Rule ルール

方向

優先度

ルーティングテーブル

toContainer

512

1000 + linkIndex (eni index)

fromContainer

512

1000 + linkIndex (eni index)

よくある質問

Terway が排他的な ENI モードか共有 ENI モードかを判断する方法はありますか?

    既存の ACK クラスターの CNI プラグインを変更できますか?

    ネットワークプラグインはクラスター作成時に選択される基本コンポーネントです。プラグインを切り替えるには、目的の CNI プラグインを使用して新しいクラスターを作成し、ワークロードを移行する必要があります。