配置允许的地址对
从 CN2 22.1 或更高版本开始,瞻博网络支持允许的地址对 (AAP)。允许的地址对允许您使用辅助 IP 地址将 IP/MAC (CIDR) 地址添加到来宾接口 (VirtualMachineInterface)。
在群集中创建 Pod 时,每个 Pod 会自动从虚拟机 (VM) 接口获取其 IP 地址。如果您的容器 不 在同一虚拟网络上,则可以添加 AAP 以允许流量通过端口,而不管子网如何。例如,假设 Pod 的 IP 地址为 192.168.2.0。如果定义子网为 192.168.2.0/24 的 AAP,则 AAP 允许 Pod 与来宾接口通信。然后,vRouter 会转发流量,并向容器通告可访问性。
要配置允许的地址对,请将以下属性插入 Pod 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 地址。 |
| 地址模式 | (选答)指定高可用性(高可用性)地址模式。从 主动/主动 或 主动/备用中进行选择。活动/备用是默认设置。
addressMode 默认值是一个空字符串。 主用/备用 用于 VRRP 地址。 主动/主动 用于 ECMP。 |
在 Kubemanager 中,监视 PodController Pod 事件并读取每个新 AAP 的接口定义。然后,控制器会生成一个 AllowedAddressPair ,并将其添加到 中的 VirtualMachineInterface接口列表中。
备选配置
或者,您可以直接从 VirtualMachineInterface配置 AAP 接口。例如:
kubectl patch --namespace project-kubemanager VirtualMachineInterface $VMINAME -p "$(cat ./aap.yaml)"
上述命令使用 AAP 配置更新现有 VirtualMachineInterface 配置,如下所示:
spec:
allowedAddressPairs:
allowedAddressPair:
- ip:
ipPrefix: 192.0.2.0
ipPrefixLen: 24