Kubernetes 修改Pod网络
Kubernetes 修改Pod网络
修改Pod 网络
备份集群资源
kubectl get deployments --all-namespaces -o yaml > all-deployments.yaml
kubectl get configmap --all-namespaces -o yaml > all-configmaps.yaml
kubectl get secret --all-namespaces -o yaml > all-secrets.yaml
kubectl get pvc --all-namespaces -o yaml > all-pvcs.yaml
kubectl get ns -o yaml > all-namespaces.yaml
修改flannel 网络
cat /run/flannel/subnet.env
FLANNEL_NETWORK=10.244.0.0/16
FLANNEL_SUBNET=10.244.0.1/24
FLANNEL_MTU=1450
FLANNEL_IPMASQ=true
改为
cat /run/flannel/subnet.env
FLANNEL_NETWORK=172.254.0.0/16
FLANNEL_SUBNET=172.254.0.1/24
FLANNEL_MTU=1450
FLANNEL_IPMASQ=true
修改 k8s 集群中 flannel 的 configMap 和 kube-proxy configMap
kubectl -n kube-system edit configMap kube-flannel-cfg
net-conf.json: |
{
"Network": "172.254.0.0/16",
"Backend": {
"Type": "vxlan",
"Directrouting": true
}
}
kubectl -n kube-system edit configmaps kube-proxy
apiVersion: v1
data:
config.conf: |-
apiVersion: kubeproxy.config.k8s.io/v1alpha1
bindAddress: 0.0.0.0
bindAddressHardFail: false
clientConnection:
acceptContentTypes: ""
burst: 0
contentType: ""
kubeconfig: /var/lib/kube-proxy/kubeconfig.conf
qps: 0
clusterCIDR: 172.254.0.0/16 ## 修改这里的网络
删除重建flannel 和kube-proxy 的pod
for pd in `kubectl -n kube-system get pod |grep -P 'flannel-ds|kube-proxy'|awk '{print $1}'`
do
kubectl -n kube-system delete po $pd
done
修改master 节点
vim /etc/kubernetes/manifests/kube-controller-manager.yaml
- --cluster-cidr=172.254.0.0/16
修改节点网络
kubectl get node
kubectl get node master1 -o yaml > master1.yaml
vim master1.yaml
spec:
podCIDR: 172.254.0.0/24
podCIDRs:
- 172.254.0.0/24
kubectl delete nodes master1
kubectl apply -f master1.yaml
systemctl restart kubelet
##需要将所有的pod 删除重建一下
for ns in $(kubectl get ns -o jsonpath='{.items[*].metadata.name}'); do
kubectl delete pod --all -n "$ns"
done
查看Pod 的IP 和机器的路由