Virtual Private Cloud (VPC) のレイアウトと CIDR ブロックを計画し、Terway または Flannel を選択します。CNI プラグインと CIDR は、クラスター作成後に変更できません。
ネットワーク規模の計画
リージョンとゾーン
VPC 数
vSwitch 数
クラスター規模
ネットワーク接続性の計画
CNI プラグインの計画
Container Service for Kubernetes (ACK) は 2 つの CNI プラグイン (Terway と Flannel) をサポートしています。プラグインはクラスター作成後に変更できません。利用可能なネットワーク機能と CIDR 設定は、選択したプラグインによって決まります。
CNI プラグインの選択
要件に合うプラグインを選択してください:
| Terway | Flannel | |
|---|---|---|
| 最適な用途 | NetworkPolicy、固定 Pod IP、Pod に紐付く Elastic IP アドレス (EIP)、またはクラスター間アクセスが必要なワークロード | これらの機能が不要な、よりシンプルな構成 |
| Pod IP の割り当て元 | VPC の vSwitch から割り当て | 仮想 CIDR ブロックから割り当て |
| IP プールの規模 | vSwitch CIDR ブロックのサイズに依存 | /16 のコンテナ CIDR ブロックで最大 65,536 個の Pod IP |
| IPv6 | サポート | 非サポート |
機能比較
| 機能 | Terway | Flannel |
|---|---|---|
| NetworkPolicy | サポート | 非サポート |
| IPv4/IPv6 デュアルスタック | サポート | 非サポート |
| 固定 Pod IP | サポート | 非サポート |
| Pod に紐付く EIP | サポート | 非サポート |
| クラスター間アクセス | サポート (セキュリティグループで必要なポートが許可されている場合) | 非サポート |
ACK は Alibaba Cloud 向けに最適化した改変版の Flannel プラグインを使用します。このプラグインは upstream の変更を追従しません。更新履歴については、「Flannel」をご参照ください。
「Terway と Flannel のコンテナネットワークプラグインの比較」をご参照ください。
CIDR ブロックの計画
Terway ネットワークモード
Terway モードでは、Pod は専用の Pod vSwitch から IP を取得します。Pod vSwitch の CIDR ブロックは、ノードとゾーン全体のすべての Pod を収容できるように、ローリングアップグレード用のヘッドルームも含めて設計してください。
[設定例]
単一ゾーン:
| VPC CIDR ブロック | vSwitch CIDR ブロック | Pod vSwitch CIDR ブロック | Service CIDR ブロック | 割り当て可能な Pod IP の最大数 |
|---|---|---|---|---|
| 192.168.0.0/16 | ゾーン I:192.168.0.0/19 | 192.168.32.0/19 | 172.21.0.0/20 | 8,192 |
複数ゾーン:
| VPC CIDR ブロック | vSwitch CIDR ブロック | Pod vSwitch CIDR ブロック | Service CIDR ブロック | 割り当て可能な Pod IP の最大数 |
|---|---|---|---|---|
| 192.168.0.0/16 | ゾーン I:192.168.0.0/19 | 192.168.32.0/19 | 172.21.0.0/20 | 8,192 |
| ゾーン J:192.168.64.0/19 | 192.168.96.0/19 |
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 またはハイブリッドクラウドのデプロイでは、/16 以下 (つまり /16 またはそれより短い) のマスクを持つサブネットを使用してください。VPC 間やオンプレミスデータセンターとの重複がないことを確認してください。
IPv6 を有効にすると、VPC は IPv6 CIDR ブロックを自動的に割り当てます。コンテナで IPv6 を使用するには、Terway を選択してください。
VPC CIDR ブロックにパブリック IP 範囲を使用するには、[クォータセンター] で ack.white_list/supportVPCWithPublicIPRanges クォータを申請してください。
vSwitch
vSwitch は ECS インスタンスをホストし、ノード間トラフィックを処理します。vSwitch CIDR ブロックは VPC CIDR ブロックのサブセットである必要があります。
-
ECS インスタンスは、この CIDR ブロックから IP を取得します。すべてのノードを収容できるようにサイズを設計してください。
-
同一 VPC 内の複数 vSwitch の CIDR ブロックは重複できません。
-
各 Pod vSwitch は、対応するノード vSwitch と同じゾーンに配置する必要があります。
Pod vSwitch
Pod vSwitch は Pod に IP を割り当て、Pod トラフィックを処理します。CIDR ブロックは VPC CIDR ブロックのサブセットである必要があります。
-
想定する最大 Pod 数に加え、アップグレード用のバッファも含めてサイズを設計してください。
-
Pod vSwitch CIDR ブロックは Service CIDR ブロックと重複できません。
Service CIDR ブロック
Service CIDR ブロックは、クラスター作成後に変更できません。
Service CIDR ブロックは、ClusterIP Service の IP 範囲を定義します。各 Service には 1 つの IP が割り当てられます。
-
Service IP はクラスター内からのみ到達可能で、クラスター外からは到達できません。
-
Service CIDR ブロックは、vSwitch CIDR ブロックおよび Pod vSwitch CIDR ブロックと重複できません。
Service IPv6 CIDR ブロック (IPv4/IPv6 デュアルスタックが有効な場合)
-
fc00::/7範囲のユニークローカルアドレス (ULA) を使用してください。プレフィックス長は /112~/120 である必要があります。 -
Service CIDR ブロックの使用可能アドレス数と一致させてください。
Flannel ネットワークモード
Flannel モードでは、Pod IP は vSwitch に紐付かない仮想のコンテナ CIDR ブロックから割り当てられます。Pod パケットは VPC を経由してルーティングされ、ACK は各 Pod CIDR ブロックへのルートを VPC のルートテーブルに自動的に追加します。
[設定例]
| VPC CIDR ブロック | vSwitch CIDR ブロック | コンテナ CIDR ブロック | Service CIDR ブロック | 割り当て可能な Pod IP の最大数 |
|---|---|---|---|---|
| 192.168.0.0/16 | 192.168.0.0/24 | 172.20.0.0/16 | 172.21.0.0/20 | 65,536 |
VPC
VPC のプライマリ IPv4 CIDR ブロックとして、次のいずれかの RFC 標準プライベート CIDR ブロック、またはそのサブネットを使用します: 192.168.0.0/16、172.16.0.0/12、または 10.0.0.0/8。有効なマスク長は /8 から /28 の範囲です (ブロックによって異なります)。マルチ VPC またはハイブリッドクラウドデプロイメントの場合、VPC 間またはオンプレミスのデータセンターと重複しないように、/16 以下のマスクを使用します。
VPC CIDR ブロックにパブリック IP 範囲を使用するには、[クォータセンター]で ack.white_list/supportVPCWithPublicIPRanges クォータを申請してください。
vSwitch
-
ECS インスタンスは、この CIDR ブロックから IP を取得します。すべてのノードを収容できるようにサイズを設計してください。
-
同一 VPC 内の複数 vSwitch の CIDR ブロックは重複できません。
コンテナ CIDR ブロック
コンテナ CIDR ブロックは、クラスター作成後に変更できません。
この仮想 CIDR ブロックは、クラスター全体に Pod IP を割り当てます。
-
いずれの vSwitch にも紐付きません。
-
vSwitch CIDR ブロックおよび Service CIDR ブロックと重複できません。
例えば、VPC CIDR ブロックが 172.16.0.0/12 の場合、コンテナ CIDR ブロックとして 172.16.0.0/16 または 172.17.0.0/16 を使用しないでください。どちらも 172.16.0.0/12 に含まれるためです。
Service CIDR ブロック
Service CIDR ブロックは、クラスター作成後に変更できません。
Service CIDR ブロックは、ClusterIP Service の IP 範囲を定義します。
-
Service IP はクラスター内からのみ到達可能です。
-
Service CIDR ブロックは、vSwitch CIDR ブロックおよびコンテナ CIDR ブロックと重複できません。
次のステップ
-
VPC セカンダリ CIDR ブロックの使用:セカンダリ CIDR ブロックまたは新しいゾーンで拡張する場合は、NAT Gateway で SNAT を設定し、セキュリティグループルールを更新します。
-
アカウント計画:ビジネスの成長に合わせて、権限とワークロード分離のためのアカウント構成を計画します。
-
セキュリティ機能の計画:ネットワーク接続性トポロジーとセキュリティ要件に基づいて、セキュリティ制御を計画します。
-
災害復旧機能の計画:ビジネスアーキテクチャに基づいて災害復旧を計画し、データを保護して継続性を確保します。
-
インターネットから API サーバーにアクセスする:Elastic IP アドレス (EIP) を使用して、クラスターの API サーバーをインターネットに公開します。
-
クラスターのアウトバウンドインターネットアクセスを有効にする:イメージレジストリや依存ライブラリなどのパブリックリソースへのアウトバウンドアクセスのために SNAT を設定します。
-
ネットワーク管理 FAQ:ACK マネージドクラスターでよくあるネットワークの問題。