クラスターを作成する前に、そのサイズ、ネットワーク機能の要件、および Virtual Private Cloud (VPC) 自体と vSwitch を含む VPC 構成を計画します。また、コンテナネットワークインターフェース (CNI) プラグイン、Pod CIDR ブロック、サービス CIDR ブロックなど、クラスター固有のネットワーク設定も計画します。これにより、ネットワークリソースの効率的な使用が保証され、将来のビジネスの成長に対応できます。このトピックでは、Alibaba Cloud VPC 環境における ACK マネージドクラスターのネットワークアーキテクチャを計画する方法について説明します。
ネットワーク規模の計画
リージョンとゾーン
VPC 数
vSwitch 数
クラスターサイズ
ネットワーク接続計画
コンテナネットワークプラグインの計画
ACK マネージドクラスターは、Terway と Flannel の 2 つのコンテナネットワークインターフェース (CNI) プラグインをサポートしています。選択によって、サポートされる機能とネットワーク構成が影響を受けます。たとえば、Terway はポリシーベースのネットワーク制御のために NetworkPolicy をサポートしますが、Flannel はサポートしません。Terway は VPC から Pod IP を割り当てますが、Flannel は仮想 CIDR ブロックを使用します。
コンテナネットワークプラグインは、クラスター作成時にインストールします。クラスター作成後に変更することはできません。ネットワーク機能の要件に合ったプラグインを選択してください。
機能計画
機能 | Terway | Flannel |
NetworkPolicy (ネットワークポリシー) | ACK クラスターのネットワークポリシーをサポートします。 | サポートされていません。 |
IPv4/IPv6 デュアルスタック | Pod のIPv6 パブリック帯域幅をサポートします。 | サポートされていません。 説明 ACK は、Alibaba Cloud 向けに最適化された Flannel プラグインの修正版を使用しています。アップストリームのオープンソース変更は追跡しません。Flannel の更新履歴については、「Flannel」をご参照ください。 |
固定 Pod IP | 専用 vSwitch とセキュリティグループによる固定 Pod IPをサポートします。 | サポートされていません。 |
Pod への EIP 割り当て | Pod への専用 Elastic IP アドレス (EIP) の割り当てをサポートします。 | サポートされていません。 |
クラスター間アクセス | サポートされています。異なるクラスターの Pod は、セキュリティグループが必要なポートを許可していれば通信できます。 | サポートされていません。 |
Terway と Flannel の機能の詳細な比較については、「Terway と Flannel コンテナネットワークプラグインの比較」をご参照ください。
CIDR ブロック計画
Terway ネットワークモード

[Terway 構成例]
Terway [単一ゾーン構成]
VPC CIDR ブロック
vSwitch CIDR ブロック
Pod vSwitch CIDR ブロック
サービス CIDR ブロック
最大割り当て可能 Pod IP 数
192.168.0.0/16
ゾーン I
192.168.0.0/19
192.168.32.0/19
172.21.0.0/20
8192
[Terway マルチゾーン構成]
VPC CIDR ブロック
vSwitch CIDR ブロック
Pod vSwitch CIDR ブロック
サービス CIDR ブロック
最大割り当て可能 Pod IP 数
192.168.0.0/16
ゾーン I 192.168.0.0/19
192.168.32.0/19
172.21.0.0/20
8192
ゾーン J 192.168.64.0/19
192.168.96.0/19
Terway を構成する際、以下のパラメーターを設定し、これらの注意事項を遵守してください。
仮想プライベートクラウド
VPC のプライマリ IPv4 CIDR ブロックとして、RFC 標準のプライベート CIDR ブロック (192.168.0.0/16、172.16.0.0/12、または 10.0.0.0/8) のいずれか、またはサブネットを使用します。有効なマスク長は /8 から /28 の範囲です (ブロックによって異なります)。例:
192.168.0.0/16。説明VPC CIDR ブロックにパブリック IP 範囲を使用するには、クォータセンターで
ack.white_list/supportVPCWithPublicIPRangesクォータをリクエストしてください。複数 VPC またはハイブリッドクラウドデプロイメント (VPC + オンプレミスデータセンター) の場合、RFC 標準のプライベート CIDR ブロックのサブネットを使用します。マスク長は /16 以下に維持してください。VPC 間または VPC とデータセンターの間で CIDR ブロックが重複しないようにしてください。
IPv6 を有効にすると、VPC は IPv6 CIDR ブロックを自動的に割り当てます。コンテナに IPv6 を使用するには、Terway プラグインを選択してください。
vSwitch
vSwitch は ECS インスタンスをホストし、ノード間トラフィックを処理します。vSwitch を作成する際、その CIDR ブロックは VPC CIDR ブロックのサブセットである必要があります (同じか小さい、決して大きくない)。構成する際:
vSwitch 内の ECS インスタンスは、この CIDR ブロックから IP を取得します。十分な IP アドレスを持つ vSwitch を選択してください。
1 つの VPC 内に複数の vSwitch を作成できますが、それらの CIDR ブロックは重複してはなりません。
vSwitch とそれに対応する Pod vSwitch は同じゾーンにある必要があります。
Pod vSwitch
この vSwitch は Pod IP を割り当て、Pod トラフィックを処理します。Pod は Kubernetes の概念です。各 Pod は 1 つの IP を持ちます。vSwitch を作成する際、その CIDR ブロックは VPC CIDR ブロックのサブセットである必要があります。構成する際:
Terway モードでは、Pod はこの vSwitch CIDR ブロックから IP を取得します。十分な IP アドレスを持つ vSwitch を選択してください。
この CIDR ブロックはサービス CIDR ブロックと重複してはなりません。
サービス CIDR ブロック
重要作成後にサービス CIDR ブロックを変更することはできません。
Kubernetes では、ClusterIP タイプの各サービスに一意の IP アドレスが割り当てられます。これらのアドレスの CIDR ブロックを構成する際、以下の点に注意してください。
サービス IP は Kubernetes クラスター内でのみ機能します。外部からは到達できません。
サービス CIDR ブロックは、vSwitch CIDR ブロックと重複してはなりません。
サービス CIDR ブロックは Pod vSwitch CIDR ブロックと重複してはなりません。
サービス IPv6 CIDR ブロック
IPv6 デュアルスタックを有効にした後、サービス用に IPv6 CIDR ブロックを構成します。構成する際:
fc00::/7 範囲の Unique Local Address (ULA) を使用します。プレフィックス長は /112 から /120 の間である必要があります。
サービス CIDR ブロックの使用可能なアドレスの数と一致させてください。
Flannel ネットワークモード

[Flannel CIDR ブロック構成例]
VPC CIDR ブロック | vSwitch CIDR ブロック | コンテナ CIDR ブロック | サービス CIDR ブロック | 最大割り当て可能 Pod IP 数 |
192.168.0.0/16 | 192.168.0.0/24 | 172.20.0.0/16 | 172.21.0.0/20 | 65536 |
Flannel を構成する際、以下のパラメーターを設定し、これらの注意事項を遵守してください。
VPC
VPC のプライマリ IPv4 CIDR ブロックとして、RFC 標準のプライベート CIDR ブロック (192.168.0.0/16、172.16.0.0/12、または 10.0.0.0/8) のいずれか、またはサブネットを使用します。有効なマスク長は /8 から /28 の範囲です (ブロックによって異なります)。例:
192.168.0.0/16。説明VPC CIDR ブロックにパブリック IP 範囲を使用するには、クォータセンターで
ack.white_list/supportVPCWithPublicIPRangesクォータをリクエストしてください。複数 VPC またはハイブリッドクラウドデプロイメント (VPC + オンプレミスデータセンター) の場合、RFC 標準のプライベート CIDR ブロックのサブネットを使用します。マスク長は /16 以下に維持してください。VPC 間または VPC とデータセンターの間で CIDR ブロックが重複しないようにしてください。
IPv6 を有効にすると、VPC は IPv6 CIDR ブロックを自動的に割り当てます。コンテナに IPv6 を使用するには、Terway プラグインを選択してください。
vSwitch
vSwitch は ECS インスタンスをホストし、ノード間トラフィックを処理します。vSwitch を作成する際、その CIDR ブロックは VPC CIDR ブロックのサブセットである必要があります (同じか小さい、決して大きくない)。構成する際:
vSwitch 内の ECS インスタンスは、この CIDR ブロックから IP を取得します。
1 つの VPC 内に複数の vSwitch を作成できますが、それらの CIDR ブロックは重複してはなりません。
コンテナ CIDR ブロック
重要作成後にコンテナ CIDR ブロックを変更することはできません。
この CIDR ブロックは Pod IP を割り当て、Pod トラフィックを処理します。Pod は Kubernetes の概念です。各 Pod は 1 つの IP を持ちます。構成する際:
これは仮想 CIDR ブロックであり、vSwitch には関連付けられていません。
この CIDR ブロックは vSwitch CIDR ブロックと重複してはなりません。
この CIDR ブロックはサービス CIDR ブロックと重複してはなりません。
たとえば、VPC CIDR ブロックが 172.16.0.0/12 の場合、コンテナ CIDR ブロックに 172.16.0.0/16 または 172.17.0.0/16 を使用しないでください。これらは 172.16.0.0/12 の範囲内です。
サービス CIDR ブロック
重要作成後にサービス CIDR ブロックを変更することはできません。
サービスは Kubernetes の概念です。サービス CIDR ブロックは、ClusterIP タイプのサービスの IP 範囲を定義します。各サービスは 1 つの IP を取得します。構成する際:
サービス IP は Kubernetes クラスター内でのみ機能します。外部からは到達できません。
サービス CIDR ブロックは vSwitch CIDR ブロックと重複してはなりません。
サービス CIDR ブロックはコンテナ CIDR ブロックと重複してはなりません。