許可されるアドレスペアの設定
ジュニパーネットワークスは、Kubernetesがオーケストレーションされた環境で、クラウドネイティブのContrail® Networkingリリース22.1以降を™使用して、許可されたアドレスペア(AP)をサポートしています。
Contrail Networkingで許可されたアドレスペアを使用すると、セカンダリIPアドレスを使用して、IP/MAC(CIDR)アドレスをゲストインターフェイス(VirtualMachineInterface
)に追加できます。
クラスターにポッドを作成すると、各ポッドは仮想マシンインターフェイスから自動的にそのIPアドレスを取得します。ポッド が同 じ仮想ネットワークにない場合、AAPを追加して、サブネットに関係なくトラフィックがポートを通過できるようにします。たとえば、ポッドのIPアドレスが192.168.2.0であるとします。サブネット192.168.2.0/24でAAPを定義すると、AAPはポッドがゲストインターフェイスと通信できるようにします。vRouterはトラフィックを転送し、ポッドに到達可能性をアドバタイズします。
AAPを設定するには、次のコードブロックに示すように、ポッドYAMLファイルに以下の属性を挿入します。
kind: Pod metadata: name: my-pod namespace: my-namespace annotations: k8s.v1.cni.cncf.op/networks: | [ { "name": "net-a", "cni-args": { "net.juniper.contrail.allowedAddressPairs": [{ "ip": 192.168.2.0/24 "mac": "02:3f:66:ad:00:e9", "addressMode": "active-active" }],} ... }, { "name": "net-b", ... },
属性には AllowedAddressPairs
、次の表に記載されているように、許可されたアドレスペア定義のリストが含まれています。
定義の | 説明 |
---|---|
Ip | トラフィックの通過を許可する外部ポッドIPアドレスを指定します。 |
Mac | (オプション)外部ポッドのMACアドレスを指定します。 |
アドレスモード | (オプション)高可用性(HA)モードを指定します。 アクティブ/アクティブ または アクティブ/スタンバイから選択します。デフォルトはアクティブ/スタンバイです。 addressMode のデフォルト値は空の文字列です。VRRP アドレスには 、アクティブ/スタンバイ が使用されます。ECMP には アクティブ/アクティブ が使用されます。 |
Kubemanagerでは、 PodController
ポッドイベントの監視で、新しいAAPごとにインターフェイス定義を読み取ります。コントローラーは、 を AllowedAddressPair
生成し、 内のインターフェイスのリストに VirtualMachineInterface
追加します。
代替設定
または、 から直接 AAP インターフェイスを VirtualMachineInterface
設定できます。この設定をAAPに適用するには、kubectlコマンドラインツールから次のコマンドを実行します。
kubectl patch --namespace project-kubemanager VirtualMachineInterface $VMINAME -p "$(cat ./aap.yaml)"
前述のコマンドは、次のコードブロックに示すように、既存 VirtualMachineInterface
のをAAP設定で更新します。
spec: allowedAddressPairs: allowedAddressPair: - ip: ipPrefix: 192.0.2.0 ipPrefixLen: 24