注意:生产环境更换ip地址池会导致网络中断,请慎重
在Kubernetes中,以下所有三个参数必须等于或包含Calico IP池CIDR:
kube-apiserver: --pod-network-cidr
kube-proxy: --cluster-cidr
kube-controller-manager: --cluster-cidr
apiVersion: projectcalico.org/v3
kind: CalicoAPIConfig
metadata:
spec:
etcdEndpoints: https://10.0.110.14:2379,https://10.0.110.15:2379,https://10.0.110.27:2379
etcdKeyFile: /opt/etcd/ssl/server-key.pem
etcdCertFile: /opt/etcd/ssl/server.pem
etcdCACertFile: /opt/etcd/ssl/ca.pem
- 创建新的地址池
vim newippool.yaml
apiVersion: projectcalico.org/v3
kind: IPPool
metadata:
name: new-pool
spec:
cidr: 11.244.0.0/16
ipipMode: Always
natOutgoing: true
calicoctl get ippool
导出旧地址池的yaml文件
caclico get ippool default-ipv4-ippool -o yaml > old.yaml
修改yaml文件,添加一行:disabled: true
重新部署并查看情况:
calicoctl apply -f old.yaml
calicoctl get ippool -o wide
重启所有pod,重新创建所有现有工作负载
通过运行以下命令检查新工作负载现在是否在新IP池中具有地址:
calicoctl get wep --all-namespaces
calicoctl delete pool default-ipv4-ippool
参考:
https://www.cnblogs.com/MinZhou/p/12587651.html
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)