ルーティング可能なポッド ネットワークを使用する TanzuKubernetesCluster を作成するには、クラスタの CNI として antrea-nsx-routed
を指定して、ルーティング可能な名前空間ネットワークを スーパーバイザー に構成します。
ルーティング可能なポッド ネットワークについて
antrea
または calico
CNI プラグインを使用して Tanzu Kubernetes クラスタをプロビジョニングすると、デフォルトのポッド ネットワーク 192.168.0.0/16
が作成されます。このサブネットは、クラスタ内でのみ一意のプライベート アドレス空間であり、ネットワーク上ではルーティングできません。
TKG v1alpha3 API は、antrea-nsx-routed
CNI プラグインを使用してルーティング可能なポッド ネットワークをサポートします。このネットワーク インターフェイスは、カスタマイズされた Antrea プラグインであり、TKG クラスタでルーティング可能なポッド ネットワークをサポートするように構成されています。クラスタの仕様では、IP アドレス管理 (IPAM) が スーパーバイザー によって処理されるようにするために、ポッドの CIDR ブロック フィールドを明示的に null にする必要があります。次の例を参照してください。
- 同じ vSphere 名前空間 にある TKG クラスタ ポッドと vSphere ポッド の間では、トラフィックが許可されます。
- 異なる vSphere 名前空間 にある TKG クラスタ ポッドと vSphere ポッド の間では、トラフィックがドロップされます。
- スーパーバイザー 制御プレーン ノードは、TKG クラスタ ポッドにアクセスできます。
- TKG クラスタ ポッドは外部ネットワークにアクセスできます。
- 外部ネットワークは、TKG クラスタ ポッドにアクセスできません。クラスタ ノードでは、分散ファイアウォール (DFW) の隔離ルールによってトラフィックがドロップされます。
ルーティング可能なポッド ネットワークの作成:スーパーバイザー 構成
- 新しい vSphere 名前空間 を作成します。
TKG サービス クラスタをホストするための vSphere 名前空間 の作成を参照してください。
- [スーパーバイザー ネットワーク設定のオーバーライド] チェックボックスをオンにします。
詳細については、vSphere 名前空間のワークロード ネットワーク設定のオーバーライドを参照してください。
- ルーティング可能なポッド ネットワークを次のように構成します。
フィールド 説明 [NAT モード] ルーティング可能なサブネットを使用しているためにネットワーク アドレス変換 (NAT) を無効にするには、このオプションを選択解除します。 [名前空間ネットワーク CIDR] 名前空間ネットワーク CIDR は、vSphere 名前空間の IP アドレス プールとして動作するサブネットです。名前空間サブネット プリフィックスには、その IP アドレス プールから分割された後続の CIDR ブロックのサイズが記述されます。
このフィールドには、ルーティング可能な IP サブネットが IP アドレス/ビット(例:10.0.0.6/16)の形式でポピュレートされます。NCP によって、ネットワークに指定された IP ブロックから 1 つ以上の IP プールが作成されます。
少なくともサブネット サイズ /23 を指定する必要があります。たとえば、サブネット プリフィックスが /28 のルーティング可能なサブネット /23 を指定すると、6 ノード クラスタに十分な数である 32 個のサブネットが取得されます。プリフィックスが /28 の /24 サブネットを指定した場合に取得されるサブネットは 2 個であり、これでは不十分です。
[名前空間サブネット プリフィックス] 名前空間サブネット プリフィックスには、名前空間ネットワークの IP アドレス プールから分割された後続の CIDR ブロックのサイズが記述されます。
たとえば、/28 の形式でサブネット プリフィックスを指定します。
- [作成] をクリックして、ルーティング可能なポッド ネットワークを作成します。
ルーティング可能なポッド ネットワークの作成:TKG クラスタの構成
次のサンプル YAML は、ルーティング可能なポッド ネットワークを使用してクラスタを構成する方法を示します。
クラスタの仕様では、ルーティング可能なポッド ネットワークを有効にするために antrea-nsx-routed
を CNI として宣言しています。antrea-nsx-routed
が指定されている場合、NSX-T ネットワークが使用されていないとクラスタのプロビジョニングは失敗します。
antrea-nsx-routed
と指定されている場合、
pods.cidrBlock
フィールドを空にする必要があります。
apiVersion: run.tanzu.vmware.com/v1alpha3 kind: TanzuKubernetesCluster metadata: name: tkc-routable-pods namespace: tkg-cluster-ns spec: topology: controlPlane: replicas: 3 vmClass: guaranteed-medium storageClass: tkg-storage-policy tkr: reference: name: v1.25.7---vmware.3-fips.1-tkg.1 nodePools: - name: worker-nodepool-a1 replicas: 3 vmClass: guaranteed-large storageClass: tkg-storage-policy tkr: reference: name: v1.25.7---vmware.3-fips.1-tkg.1 settings: storage: defaultClass: tkg-storage-policy network: #antrea-nsx-routed is the required CNI cni: name: antrea-nsx-routed services: cidrBlocks: ["10.97.0.0/24"] #pods.cidrBlocks must be null (empty) pods: cidrBlocks: serviceDomain: cluster.local