4.4.3. BGP 用の分離されたネットワークにサービス Pod を接続する
サービス Pod をネットワークに接続するために、分離されたネットワークごとに NetworkAttachmentDefinition (net-attach-def) カスタムリソース (CR) を作成します。
手順
-
ワークステーションに
NetworkAttachmentDefinition(net-attach-def) CR ファイル (例:openstack-net-attach-def.yaml) を作成します。 NetworkAttachmentDefinitionCR ファイルで、各分離ネットワークのNetworkAttachmentDefinitionリソースを設定して、サービスデプロイメント Pod をネットワークに割り当てます。次の例では、特定のゲートウェイ設定と追加オプションを持つタイプブリッジインターフェイスを使用するNetworkAttachmentDefinitionリソースを作成します。apiVersion: k8s.cni.cncf.io/v1 kind: NetworkAttachmentDefinition metadata: labels: osp/net: internalapi osp/net-attach-def-type: standard name: internalapi namespace: openstack spec: config: | { "cniVersion": "0.3.1", "name": "internalapi", "type": "bridge", "isDefaultGateway": true, "isGateway": true, "forceAddress": false, "ipMasq": true, "hairpinMode": true, "bridge": "internalapi", "ipam": { "type": "whereabouts", "range": "172.17.0.0/24", "range_start": "172.17.0.30", "range_end": "172.17.0.70", "gateway": "172.17.0.1" } }-
metadata.namespace: サービスがデプロイされる namespace。 -
"name":nncpCR で定義されている、ネットワークに関連付けられたノードのインターフェイス名。 -
"ipMasq": オプションのフィールド。trueに設定すると、IP マスカレードが有効になります。ゲートウェイに IP アドレスがない場合、ipMasqは適用されません。デフォルト値はfalseです。データプレーンノードに必要なルートがない場合、または Free Range Routing (FRR) が設定される前にデータプレーンノードがコントロールプレーンネットワークに接続されていない場合は"ipMasq": trueを設定します。 -
ipam:whereaboutsCNI IPAM プラグインは、作成された Pod に.30 - .70の範囲の IP を割り当てます。 -
"range_start" - "range_end": IP アドレスプールの範囲が、MetalLBIPAddressPoolの範囲およびNetConfig allocationRangeと重複しないようにしてください。
-
クラスターに
NetworkAttachmentDefinitionCR を作成します。$ oc apply -f openstack-net-attach-def.yamlNetworkAttachmentDefinitionCR が作成されたことを確認します。$ oc get net-attach-def -n openstack