Container Service for Kubernetes (ACK) クラスターを作成する場合、仮想プライベートクラウド (VPC) 、vSwitch、ポッドCIDRブロック、およびサービスCIDRブロックを指定する必要があります。 したがって、クラスターを作成する前に、Elastic Compute Service (ECS) インスタンスのCIDRブロック、ポッドCIDRブロック、およびService CIDRブロックを計画することを推奨します。 このトピックでは、VPCにデプロイされたACKクラスターのCIDRブロックを計画する方法と、各CIDRブロックの使用方法について説明します。
VPC CIDRブロックとクラスターCIDRブロックの関係
VPCを作成する前に、VPCのCIDRブロックとVPC内のvSwitchのCIDRブロックを計画する必要があります。 ACKクラスターを作成する前に、ポッドCIDRブロックとサービスCIDRブロックを計画する必要があります。 ACKはTerwayとFlannelプラグインをサポートしています。 次の図は、TerwayとFlannelを使用するACKクラスターのネットワークアーキテクチャを示しています。
使用上の注意
ACKクラスターにTerwayまたはFlannelをインストールするには、関連するパラメーターにCIDRブロックを指定する必要があります。 次の表に、ACKクラスターにTerwayまたはFlannelを設定するための使用方法の注意事項を示します。
パラメーター | Terway | フランネル |
[VPC] | VPCを作成するときは、VPCのCIDRブロックを選択する必要があります。 有効な値: 10.0.0.0/8、172.16.0.0/12、および192.168.0.0/16。 IPv6 CIDRブロックは、VPCのIPv6を有効にした後にVPCによって割り当てられます。 コンテナーのIPv6を有効にする場合は、[Network Plug-in] パラメーターとして [Terway] を選択します。 | |
vSwitch | ECSインスタンスに関連付けられているvSwitchは、ノードが相互に通信できるようにします。 VPC内のvSwitchのCIDRブロックは、VPC CIDRブロックのサブセットである必要があります。 これは、vSwitchのCIDRブロックがVPC CIDRブロックと同じであるか、またはその中にある必要があることを示します。 vSwitchのCIDRブロックを指定するときは、次の項目に注意してください。
| ECSインスタンスに関連付けられているvSwitchは、ノードが相互に通信できるようにします。 VPC内のvSwitchのCIDRブロックは、VPC CIDRブロックのサブセットである必要があります。 これは、vSwitchのCIDRブロックがVPC CIDRブロックと同じであるか、またはその中にある必要があることを示します。 vSwitchのCIDRブロックを指定するときは、次の項目に注意してください。
|
ポッドvSwitch | ポッドのIPアドレスは、ポッドvSwitchのCIDRブロックから割り当てられます。 これにより、ポッドは互いに通信することができます。 PodはACKの抽象化です。 各ポッドにはIPアドレスがあります。 VPCでポッドvSwitchを作成するときに指定するCIDRブロックは、VPC CIDRブロックのサブセットである必要があります。 ポッドvSwitchのCIDRブロックを指定するときは、次の項目に注意してください。
| クラスターがFlannelを使用している場合は、このパラメーターを設定する必要はありません。 |
ポッドCIDRブロック | クラスターがTerwayを使用している場合は、このパラメーターを設定する必要はありません。 | ポッドのIPアドレスは、ポッドCIDRブロックから割り当てられます。 これにより、ポッドは互いに通信することができます。 PodはACKの抽象化です。 各ポッドにはIPアドレスがあります。 ポッドCIDRブロックを指定するときは、次の項目に注意してください。
たとえば、VPC CIDRブロックが172.16.0.0/12の場合、これらのCIDRブロックは172.16.0.0/12のサブセットであるため、ポッドCIDRブロックを172.16.0.0/16または172.17.0.0/16にすることはできません。 |
サービスCIDR | サービスのCIDRブロック。 サービスはACKの抽象化です。 ClusterIPサービスのIPアドレスは、サービスのCIDRブロックから割り当てられます。 各ClusterIPサービスにはIPアドレスがあります。 vSwitchのCIDRブロックを指定するときは、次の項目に注意してください。
| サービスのCIDRブロック。 サービスはACKの抽象化です。 ClusterIPサービスのIPアドレスは、サービスCIDRブロックから割り当てられます。 各ClusterIPサービスにはIPアドレスがあります。 Service CIDRブロックを指定するときは、次の項目に注意してください。
|
IPv6サービスCIDR | IPv6デュアルスタックを有効にする場合は、サービスのIPv6 CIDRブロックを指定する必要があります。 IPv6 CIDRブロックを指定するときは、次の項目に注意してください。
| クラスターがFlannelを使用している場合は、このパラメーターを設定する必要はありません。 |
中国サイト
Alibaba CloudにデプロイされているACKクラスターを使用するには、まずクラスターサイズとビジネスシナリオに基づいてクラスターのネットワークを設定する必要があります。 次の表を使用して、ACKクラスターのネットワークを設定できます。 特定のシナリオでのビジネス要件に基づいて仕様を変更します。
VPCのネットワークの計画
ノード数 | シナリオ | [VPC] | Zone |
<100 | 定期的なビジネス | 単一VPC | 1 |
無制限 | クロスゾーンデプロイ | 単一VPC | ≥ 2 |
無制限 | 高い信頼性とクロスリージョン展開 | 複数のVPC | ≥ 2 |
クラスターのCIDRブロックの計画
FlannelまたはTerwayを使用するクラスターのCIDRブロックを計画する方法を次の表に示します。
Flannelを使用するクラスター
VPC CIDRブロック
vSwitch CIDRブロック
ポッドCIDRブロック
サービスCIDRブロック
ポッドIPアドレスの最大数
192.168.0.0/16
192.168.0.0/24
172.20.0.0/16
172.21.0.0/20
65536
Terwayを使用するクラスター
専用elastic network interface (ENI) モード、データパスV2モード、またはIPVLANモード
VPC CIDRブロック
vSwitch CIDRブロック
ポッドvSwitch CIDRブロック
サービスCIDRブロック
ポッドIPアドレスの最大数
192.168.0.0/16
192.168.0.0/19
192.168.32.0/19
172.21.0.0/20
8192
マルチゾーン展開
VPC CIDRブロック
vSwitch CIDRブロック
ポッドvSwitch CIDRブロック
サービスCIDRブロック
ポッド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
8192
CIDR ブロックプランニング
1つのVPCと1つのACKクラスター
VPCのCIDRブロックは、VPCの作成時に指定されます。 VPCにACKクラスターを作成するときは、ポッドCIDRブロックとService CIDRブロックがVPC CIDRブロックと重複しないようにしてください。 これにより、クラスター内のネットワーク通信が保証され、外部VPCとの競合が防止されます。
1つのVPCおよび複数のACKクラスター
このシナリオでは、VPCに複数のACKクラスターが作成されます。
VPCのCIDRブロックは、VPCの作成時に指定されます。 VPCにクラスターを作成するときは、各クラスターのVPC CIDRブロック、サービスCIDRブロック、ポッドCIDRブロックが互いに重複しないようにしてください。
クラスタのサービスCIDRブロックは、互いに重複することができる。 ただし、ポッドCIDRブロックは互いに重複することはできません。
クラスターがFlannelを使用している場合、ポッドのパケットはVPCルーターによって転送される必要があります。 ACKは、VPCルーター上の各宛先ポッドCIDRブロックのルートテーブルを自動的に生成します。
説明この場合、あるクラスターのポッドは、別のクラスターのポッドおよびECSインスタンスと通信できます。 ただし、ポッドは別のクラスターのサービスと通信できません。
VPCピアリング
2つのVPCが接続されている場合、一方のVPCのルートテーブルを使用して、もう一方のVPCに送信するパケットを指定できます。 次の図では、VPC 1のCIDRブロックは192.168.0.0/16、VPC 2のCIDRブロックは172.16.0.0/12です。 VPC 1のルートテーブルを使用して、172.16.0.0/12宛てのすべてのパケットをVPC 2に転送できます。
表 3. VPCピアリング
[VPC]
CIDRブロック
宛先CIDRブロック
宛先VPC
VPC 1
192.168.0.0/16
172.16.0.0/12
VPC 2
VPC 2
172.16.0.0/12
192.168.0.0/16
VPC 1
このシナリオでは、VPC 1またはVPC 2にクラスターを作成するときに、次の条件が満たされていることを確認します。
クラスターのCIDRブロックは、VPC 1のCIDRブロックと重複しません。
クラスターのCIDRブロックは、VPC 2のCIDRブロックと重複しません。
クラスターのCIDRブロックは、VPC 1およびVPC 2の他のクラスターのCIDRブロックと重複しません。
クラスターのCIDRブロックは、VPC 1およびVPC 2のポッドのCIDRブロックと重複しません。
クラスターのCIDRブロックは、VPC 1およびVPC 2のサービスのCIDRブロックと重複しません。
この例では、クラスターのポッドCIDRブロックを10.0.0.0/8のサブセットに設定できます。
説明VPC 2の宛先CIDRブロック内のすべてのIPアドレスは使用中と見なすことができます。 したがって、クラスターのCIDRブロックは、宛先CIDRブロックと重複することはできません。
VPC 2からVPC 1のポッドにアクセスするには、VPC 2のルートを設定する必要があります。 ルートは、VPC 1のクラスターのポッドCIDRブロックを指す必要があります。
VPCからデータセンターへの接続
VPCがデータセンターに接続されている場合、特定のCIDRブロックのパケットがデータセンターにルーティングされます。 この場合、VPC内のクラスターのポッドCIDRブロックは、これらのCIDRブロックと重複することはできません。 データセンターからVPC内のポッドにアクセスするには、データセンター内のルートを設定して、VBR-VPCピアリング接続を有効にする必要があります。