跳转至

修改 Join 子网 CIDR

若发现创建的 Join 子网 CIDR 冲突或不符合预期,可以通过本文档进行修改。

修改 Join 子网 CIDR 后之前创建的 Pod 将无法正常访问外部网络,需要等重建完成, 建议前操作时慎重考虑。

删除 Join 子网

kubectl patch subnet join --type='json' -p '[{"op": "replace", "path": "/metadata/finalizers", "value": []}]'
kubectl delete subnet join

清理相关分配信息

kubectl annotate node ovn.kubernetes.io/allocated=false --all --overwrite

修改 Join 子网相关信息

修改 kube-ovn-controller 内 Join 子网相关信息:

kubectl edit deployment -n kube-system kube-ovn-controller

修改下列参数:

args:
- --node-switch-cidr=100.51.0.0/16

重启 kube-ovn-controller 重建 join 子网:

kubectl delete pod -n kube-system -lapp=kube-ovn-controller

查看新的 Join 子网信息:

# kubectl get subnet
NAME          PROVIDER   VPC           PROTOCOL   CIDR            PRIVATE   NAT     DEFAULT   GATEWAYTYPE   V4USED   V4AVAILABLE   V6USED   V6AVAILABLE   EXCLUDEIPS
join          ovn        ovn-cluster   IPv4       100.51.0.0/16   false     false   false     distributed   2        65531         0        0             ["100.51.0.1"]
ovn-default   ovn        ovn-cluster   IPv4       10.17.0.0/16    false     true    true      distributed   5        65528         0        0             ["10.17.0.1"]

重新配置 ovn0 网卡地址

每个节点的 ovn0 网卡信息需要重新更新,可通过重启 kube-ovn-cni 来完成:

kubectl delete pod -n kube-system -l app=kube-ovn-cni

微信群 Slack Twitter Support Meeting

评论