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

Container Service for Kubernetes:Terway の使用

最終更新日:Feb 25, 2026

Terway は、Alibaba Cloud が開発したオープンソースの Container Network Interface (CNI) プラグインです。Terway は Virtual Private Cloud (VPC) と統合され、標準の Kubernetes ネットワークポリシーを用いてコンテナー向けのアクセス制御ポリシーを定義できます。

事前準備

Terway の動作原理をより深く理解するために、Terway ネットワークプラグインの利用を開始する前に、本トピックをご確認ください。

作業を進める前に、コンテナーネットワークプラグインの基本概念を理解し、適切なプラグインを選択済みであることをご確認ください。詳細については、「ネットワーキング」および「Terway と Flannel の比較」をご参照ください。

クラスターを作成する前に、その CIDR ブロックを計画する必要があります。詳細については、「ACK マネージドクラスターの CIDR ブロックの計画」をご参照ください。

課金

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

注意事項

Terway の構成ファイル eni-config には多数のシステムパラメーターが含まれています。明示的に許可されていないフィールドを変更または削除すると、ネットワーク切断や Pod の作成失敗などの問題が発生する可能性があります。変更可能なパラメーターについては、「Terway 構成パラメーターのカスタマイズ」をご参照ください。

Terway コンポーネントは CustomResourceDefinitions (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 数は、そのノードの ECS インスタンスタイプがサポートする ENI の数によって決定されます。Terway では、各ノードに対して最小限の Pod 数が設定されています。この下限を満たさない限り、ノードはクラスターに追加できません。以下の表に詳細を示します。

Terway モード

ノードあたりの最大 Pod 数

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

共有 ENI モード

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

(EniQuantity - 1) × EniPrivateIpAddressQuantity

説明

ノードをクラスターに追加するには、ノードあたりの最大 Pod 数が 11 より大きい必要があります。

たとえば、g7 一般用途インスタンスファミリーの 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 インスタンスタイプがサポートするネットワークインターフェースカード (NIC) の総数) - (ECS インスタンスタイプがサポートする ENI 数)

EniTotalQuantity - EniQuantity

排他的な ENI モード

ECS インスタンスの場合:

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

EniQuantity - 1

Lingjun インスタンスの場合:

Lingjun ENI の作成と管理 - 1

LeniQuota - 1

説明

ノードをクラスターに追加するには、ノードあたりの最大 Pod 数が 6 より大きい必要があります。

たとえば、g7 一般用途インスタンスファミリーの ecs.g7.4xlarge インスタンスタイプの場合、このインスタンスタイプは 8 個の ENI をサポートします。ノードあたりの最大 Pod 数は (8 - 1) = 7 となります。

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

EniQuantity - 1

説明

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

重要

Terway v1.11.0 以降では、ノードプール単位で排他的な ENI モードまたは共有 ENI モードを選択できます。両方のタイプのノードプールは、単一のクラスター内で共存可能です。詳細については、「Terway リリースノート」をご参照ください。

コンテナーネットワークがサポートする最大 Pod 数の確認方法

  • 方法 1:ノードプールを作成する際、インスタンスタイプ セクションに移動すると、Terway 互換性(対応 Pod 数) 列に各インスタンスタイプがサポートする Pod 数が表示されます。

  • 方法 2:以下の手順に従って必要なデータを取得し、ECS インスタンスタイプがサポートする Pod 数を手動で算出します。

    • インスタンスファミリー のドキュメントを参照して、ECS インスタンスがサポートする ENI 数を照会します。

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

クラスター作成時に Terway ネットワークプラグインをインストールする

クラスターを作成する際に、Terway ネットワークプラグインをインストールする必要があります。既存のクラスターに対してネットワークプラグインを変更することはできません。

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

  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 加速モードが有効になります。加速モードを有効化すると、Terway は通常の共有 ENI モードとは異なるトラフィック転送経路を使用して、より高速なネットワーク通信を実現します。このモードの特徴については、「ネットワークアクセラレーション」をご参照ください。

    説明
    • Kubernetes 1.34 以降を実行する新規クラスターで DataPath V2 を選択した場合、Terway ノードは kube-proxy を実行しなくなります。

      • このモードでは、デフォルトで portmap がサポートされます。portmap プラグインの構成は不要です。詳細については、「カスタム 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 は LRU(Least Recently Used)アルゴリズムに基づいて実装されています。マップの容量に達すると、最も古い接続レコードが自動的に削除され、新しい接続を保存するためのスペースが確保されます。ビジネス規模に応じて関連パラメーターを構成し、接続数が上限を超えないようにする必要があります。詳細については、「Terway モードにおける conntrack 構成の最適化」をご参照ください。

    NetworkPolicy サポート

    このチェックボックスをオンにすると、Kubernetes ネイティブの NetworkPolicy がサポートされます。

    説明
    • Terway v1.9.2 以降では、新規クラスターの NetworkPolicy は eBPF により実装され、データプレーンで DataPath V2 機能が有効化されます。

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

    Trunk ENI サポート

    このチェックボックスをオンにすると、Trunk ENI モードが有効化されます。これにより、各 Pod に対して静的 IP アドレス、独立 vSwitch、および独立セキュリティグループを構成できます。

    説明
    • ACK マネージドクラスター では、申請を行わずに Trunk ENI オプションを選択できます。ACK 専用クラスター で Trunk ENI 機能を有効化する場合は、クォータセンターコンソール にて申請を行う必要があります。

    • Kubernetes 1.31 以降では、新規の ACK マネージドクラスター で Trunk ENI 機能が自動的に有効化されます。このオプションを手動で選択する必要はありません。

    vSwitch

    クラスター内のノードで使用される vSwitch の CIDR ブロックです。高いクラスター可用性を実現するため、3 つ以上の異なるゾーンから vSwitch を選択することを推奨します。

    Pod vSwitch

    Pod で使用される vSwitch の CIDR ブロックです。これはノード vSwitch の CIDR ブロックと重複可能です。

    Service CIDR

    Service で使用される CIDR ブロックです。これはノードおよび Pod の CIDR ブロックと重複してはなりません。

    IPv6 Service CIDR

    IPv6 デュアルスタックを有効化後に構成可能です。

Terway の動作モード

以下では、さまざまな Terway モードの特徴、比較、および動作原理について説明します。

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

Terway では、Pod への IP アドレス割り当てに 2 つのモードを提供しています:共有 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 をサポートできます。

Pod デプロイ密度が低いため、一般的なインスタンスタイプのノードでは少数の Pod のみをサポートします。

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

imageimage

データリンク

Pod が他の Pod にアクセスする場合、または Service のバックエンドとしてアクセスされる場合、トラフィックはノードのネットワークプロトコルスタックを通過します。

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

シナリオ

標準的な Kubernetes シナリオ。

このモードでは、ネットワークパフォーマンスが従来の仮想マシンと同等になります。ネットワークスループットや低レイテンシーなど、ネットワークパフォーマンスに高い要求があるアプリケーションなどのシナリオに適しています。

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

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

ネットワークアクセラレーションはサポートしていません。ただし、Pod が ENI リソースを専有するため、優れたネットワークパフォーマンスを実現します。

NetworkPolicy サポート

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

NetworkPolicy をサポートしていません。

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

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

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

アクセスの制御

Trunk ENI 構成を有効化すると、Pod に対して静的 IP アドレス、独立セキュリティグループ、および独立 vSwitch を構成できます。詳細については、「Pod に対する静的 IP アドレス、独立 vSwitch、および独立セキュリティグループの構成」をご参照ください。

Pod に対して静的 IP アドレス、独立セキュリティグループ、および独立 vSwitch を構成できます。

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

Terway を共有 ENI モードで使用する場合、ネットワークアクセラレーションモードを有効化できます。アクセラレーションモードを有効化すると、Terway は通常の共有 ENI モードとは異なるトラフィック転送経路を使用して、より高いパフォーマンスを実現します。現在、Terway では DataPath V2 アクセラレーションモードがサポートされています。以下では、DataPath V2 の特徴について説明します。

重要
  • DataPath V2 は、以前の IPvlan+eBPF アクセラレーションモードのアップグレード版です。Terway V1.8.0 以降でクラスターを作成し、Terway プラグインをインストールする場合、アクセラレーションには DataPath V2 のみを選択できます。

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

DataPath V2 の特徴

説明

対応する Terway バージョン

Terway V1.8.0 以降で作成されたクラスター。

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

image

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

  • Pod が Service にアクセスする場合、eBPF を使用して Service アドレスを Service のバックエンド Pod のアドレスに解決します。

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

  • Pod が同一ノード上の別の Pod にアクセスする場合、ノードのプロトコルスタックをバイパスするだけでなく、アクセストラフィックはノード内で直接転送され、ノードを離れないようになります。

パフォーマンス最適化

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

  • Service ネットワークでは、eBPF を使用して従来の kube-proxy モードを置き換え、ノード上の iptables または IPVS 転送をバイパスします。これにより、リクエストのレイテンシーが大幅に短縮されます。大規模クラスターではネットワークパフォーマンスへの影響が少なく、スケーラビリティが向上します。

  • Pod のネットワークポリシー (NetworkPolicy) でも eBPF を使用して、従来の iptables 実装を置き換えます。これにより、ホスト上で多数の iptables ルールが生成されるのを回避し、ネットワークポリシーがネットワークパフォーマンスに与える影響を軽減します。

使用方法

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

注意事項

  • カーネルバージョン 5.10 以降が必要です。Alibaba Cloud Linux OS イメージの使用を推奨します。

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

  • NetworkPolicy の制限事項:

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

    • CIDR セレクターの except キーワードは十分にサポートされていません。except キーワードの使用は推奨しません。

    • Egress NetworkPolicy を使用すると、クラスター内のホストネットワーク Pod やノード IP アドレスへのアクセスが失敗する可能性があります。

  • クラスター内から LoadBalancer Service の外部公開 SLB インスタンスにアクセスする場合、ループバックの問題が発生し、ネットワーク障害を引き起こす可能性があります。詳細については、「Server Load Balancer インスタンスにアクセスできない理由」をご参照ください。

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

  • NodePort の制限事項:

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

    • ExternalTrafficPolicy=Cluster を使用する場合、ソースアドレスは SNAT で処理する必要があります。使用可能なポート範囲は 32768 ~ 65535 です。

以前に作成されたクラスターでは、IPvlan+eBPF アクセラレーションモードを選択していた可能性があります。以下では、その特徴について説明します。

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

IPvlan+eBPF の特徴

説明

対応する Terway バージョン

Terway V1.7.0 以前で作成されたクラスター。

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

image

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

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

  • Pod が他の Pod にアクセスする場合、IPvlan 仮想ネットワーク技術を使用して、両方のノードのネットワークプロトコルスタックをバイパスします。

使用方法

クラスターを作成する際、ネットワークプラグインTerway に設定し、Pod IPvlan オプションを選択します。

アクセスの制御

共有 ENI モードの Terway では、NetworkPolicy および Trunk ENI オプションのサポートにより、クラスター内のネットワークトラフィックをより詳細に管理できます。排他的な ENI モードの Terway でも、一部のトラフィック制御機能がサポートされています。

NetworkPolicy サポート

  • Terway 排他的な ENI モードのノードプールは、NetworkPolicy をサポートしていません。

  • Terway 共有 ENI モードのノードプールは、ネイティブの Kubernetes NetworkPolicy 機能をサポートしており、ユーザー定義のルールを使用して Pod 間のネットワークトラフィックを制御できます。

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

    説明

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

Pod に対する静的 IP アドレス、独立 vSwitch、および独立セキュリティグループの構成

  • Terway 排他的な ENI モードのノードプールでは、各 Pod に対して静的 IP アドレス、独立 vSwitch、および独立セキュリティグループをデフォルトで構成できます。これにより、詳細なトラフィック管理、トラフィック隔離、ネットワークポリシー構成、IP アドレス管理機能が提供されます。

  • Trunk ENI は、Terway 共有 ENI モードのノードプール向けのオプションです。Trunk ENI を有効化すると、各 Pod に対して静的 IP アドレス、独立 vSwitch、およびセキュリティグループを構成できます。

    クラスターを作成する際、ネットワークプラグインTerway に設定し、Trunk ENI サポート オプションを選択します。詳細については、「Pod に対する静的 IP アドレス、独立 vSwitch、およびセキュリティグループの構成」をご参照ください。

    説明
    • ACK マネージドクラスター では、申請を行わずに Trunk ENI オプションを選択できます。ACK 専用クラスター で Trunk ENI 機能を有効化する場合は、クォータセンターコンソール にて申請を行う必要があります。

    • Kubernetes 1.31 以降では、新規の ACK マネージドクラスター で Trunk ENI 機能が自動的に有効化されます。このオプションを手動で選択する必要はありません。

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

スケール制限

Terway は、クラウド製品の OpenAPI 操作を呼び出して、ノードのネットワークインターフェースおよび IP アドレスを管理します。OpenAPI 操作の制限事項については、対応するクラウド製品のドキュメントをご参照ください。

  • 共有 ENI モード:最大 500 ノードを並列で割り当てることができます。

  • 排他的な ENI/Trunk ENI モード:最大 100 Pod を並列で割り当てることができます。

上記のクォータは変更できません。

よくある質問

Terway が排他的な ENI モードか共有 ENI モードかを確認する方法を教えてください。

  • Terway v1.11.0 以降では、Terway はデフォルトで共有 ENI モードを使用します。ノードプールの排他的な ENI ネットワークモードを 構成 することで、排他的な ENI モードを有効化できます。

  • Terway v1.11.0 より前のバージョンでは、クラスター作成時に排他的な ENI モードまたは共有 ENI モードを選択できます。クラスターを作成した後、以下の方法でモードを特定できます。

    • 排他的な ENI モード:kube-system 名前空間内の Terway DaemonSet の名前は terway-eni です。

    • 共有 ENI モード:kube-system 名前空間内の Terway DaemonSet の名前は terway-eniip です。

既存の ACK クラスターでネットワークプラグインを切り替えることは可能ですか?

ネットワークプラグイン(Terway または Flannel)は、クラスター作成時にのみ選択できます。クラスター作成後のネットワークプラグインの変更はできません。異なるネットワークプラグインを使用するには、新規クラスターを作成する必要があります。詳細については、「ACK マネージドクラスターの作成」をご参照ください。