v1beta1 API を使用して、ルーティング可能なポッド ネットワークが構成されたクラスタを作成できます。そのためには、デフォルト クラスタを AntreaConfig
および VSphereCPIConfig
のカスタム構成でオーバーライドします。
v1beta1 API を使用したルーティング可能なポッド ネットワークについて
次のサンプル YAML では、v1beta1 API を使用して Antrea のルーティング可能なポッドが有効なクラスタをプロビジョニングする方法を示します。この例は、「v1beta1 の例:デフォルト クラスタ」を基準にしています。
ルーティング可能なポッド機能を有効にするには、特別な構成の AntreaConfig
と VSphereCPIConfig
がクラスタに必要です。
AntreaConfig
では、trafficEncapMode: noEncap
と noSNAT: true
を設定する必要があります。
VSphereCPIConfig
では、
antreaNSXPodRoutingEnabled: true
、
mode: vsphereParavirtualCPI
、および以下の設定が必要です。
tlsCipherSuites: TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
AntreaConfig
の名前の形式は、<cluster-name>-antrea-package
にする必要があります。VSphereCPIConfig
の名前の形式は、<cluster-name>-vsphere-cpi-package
にする必要があります。
構成ファイルが作成されたら、構成ファイルを参照するクラスタ仕様オブジェクトを作成します。クラスタの作成時に、構成ファイルを使用してクラスタをプロビジョニングし、デフォルトの構成を上書きします。
ルーティング可能なポッド ネットワークの作成:スーパーバイザー 構成
- 新しい vSphere 名前空間 を作成します。
TKG サービス クラスタをホストするための vSphere 名前空間 の作成を参照してください。
- [スーパーバイザー ネットワーク設定のオーバーライド] チェックボックスをオンにします。
詳細については、vSphere 名前空間のワークロード ネットワーク設定のオーバーライドを参照してください。
- ルーティング可能なポッド ネットワークを次のように構成します。
フィールド 説明 [NAT モード] ネットワーク アドレス変換 (NAT) を無効にするには、このオプションを選択解除します。 [名前空間ネットワーク] このフィールドには、ルーティング可能な IP サブネットが IP アドレス/ビット(例:10.0.0.6/16)の形式でポピュレートされます。
NCP によって、ネットワークに指定された IP ブロックから 1 つ以上の IP プールが作成されます。
少なくともサブネット サイズ /23 を指定する必要があります。たとえば、サブネット プリフィックスが /28 のルーティング可能なサブネット /23 を指定すると、6 ノード クラスタに十分な数である 32 個のサブネットが取得されます。プリフィックスが /28 の /24 サブネットを指定した場合に取得されるサブネットは 2 個であり、これでは不十分です。
注目: ルーティング可能な IP サブネットを追加した後で、それがクラスタ ノードの IP アドレスを割り当てる [サービス CIDR] と重複していないことを確認します。 [サービス CIDR] は、 で確認できます。[名前空間サブネット プリフィックス] たとえば、/28 の形式でサブネット プリフィックスを指定します。
サブネット プリフィックスは、名前空間ネットワークから各ノードのポッド サブネットを取得するために使用されます。
- [作成] をクリックして、ルーティング可能なポッド ネットワークを作成します。
ルーティング可能なポッド ネットワークの作成:TKG クラスタの構成
次のサンプル YAML は、ルーティング可能なポッド ネットワークを使用して v1beta1 クラスタを構成する方法を示します。
spec.clusterNetwork.pod
セクションを削除する必要があります。
AntreaConfig
および
VSphereCPIConfig
カスタム リソース、次に target-cluster クラスタの順に作成する必要があります。
--- apiVersion: cni.tanzu.vmware.com/v1alpha1 kind: AntreaConfig metadata: name: target-cluster-antrea-package spec: antrea: config: defaultMTU: "" disableUdpTunnelOffload: false featureGates: AntreaPolicy: true AntreaProxy: true AntreaTraceflow: true Egress: false EndpointSlice: true FlowExporter: false NetworkPolicyStats: false NodePortLocal: false noSNAT: true tlsCipherSuites: TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_256_GCM_SHA384 trafficEncapMode: noEncap --- apiVersion: cpi.tanzu.vmware.com/v1alpha1 kind: VSphereCPIConfig metadata: name: target-cluster-vsphere-cpi-package spec: vsphereCPI: antreaNSXPodRoutingEnabled: true insecure: false mode: vsphereParavirtualCPI tlsCipherSuites: TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 --- apiVersion: cluster.x-k8s.io/v1beta1 kind: Cluster metadata: name: target-cluster spec: clusterNetwork: services: cidrBlocks: ["198.51.100.0/12"] serviceDomain: "cluster.local" topology: class: tanzukubernetescluster version: v1.25.7---vmware.3-fips.1-tkg.1 controlPlane: replicas: 3 workers: machineDeployments: - class: node-pool name: node-pool-1 replicas: 3 variables: - name: vmClass value: guaranteed-medium - name: storageClass value: tkg2-storage-policy