web-dev-qa-db-fra.com

Est-il possible de modifier le réseau de réseau CIDR et Kubettes

Est-il possible de modifier le réseau de réseau CIDR sur le cluster Kubettes en cours d'exécution? Si oui, que se passera-t-il avec les pods lancés?

Merci

1
Kris454

J'ai réussi à changer flannel pool de réseau CIDR de la manière suivante:

En supposant que vous ayez installé un cluster de K8S frais via Kubeadm Builder Tool avec adopter approprié --pod-network-cidr Drapeau dans kubeadm init commande:

Remplacement podCIDR Paramètre sur la ressource particulière des K8s noeud avec une nouvelle gamme de sources IP, une manière souhaitable avec la sortie de la tuyauterie:

$ kubectl get no $hostname -o yaml >> file.yaml | sed -i "s~$old_ip~$new_ip~" file.yaml| kubectl delete no $hostname && kubectl create -f file.yaml

Remplacer le champ "Réseau" sous net-conf.json En-tête dans le flanelle correspondant configmap avec une nouvelle gamme de IP de réseau:

$ kubectl edit cm kube-flannel-cfg -n kube-system

net-Conf.json: | {"Network": "10.244.0.0/16", "Backend": {"Type": "VXLAN"}}

Essuyez les interfaces réseau CNI actuelles restant l'ancien pool de réseau:

$ Sudo ip link del cni0; Sudo ip link del flannel.1

Re-Spawn Flannel et Coredns Pods respectivement:

$ kubectl delete pod --selector=app=flannel -n kube-system
$ kubectl delete pod --selector=k8s-app=kube-dns -n kube-system

Attendez que les pods Coredns obtiennent une adresse IP d'un nouveau pool de réseau. N'oubliez pas que vos gousses personnalisées conserveront toujours les anciennes adresses IP à l'intérieur des conteneurs, à moins que vous ne les créiez également manuellement.

3
Nick_Kh