Можно ли изменить CIDR-сеть flannel и Kubernetes

Можно ли изменить CIDR-сеть flannel и Kubernetes

Можно ли изменить CIDR сетевой flannel на работающем кластере Kubernetes? Если да, то что будет с запущенными pod'ами?

Спасибо

решение1

Мне удалось изменитьсяФланельПул сети CIDR следующим образом:

Предположим, что вы установили новый кластер k8s черезкубеадминструмент конструктора с принятием соответствующего --pod-network-cidrфлага в kubeadm initкоманде:

Переопределить podCIDRпараметр для конкретного k8sУзелресурс с новым диапазоном источника IP, желательно с выводом по конвейеру:

$ 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

Заменить поле «Сеть» под net-conf.jsonзаголовком в соответствующем FlannelКонфигурацияКартас новым диапазоном сетевых IP-адресов:

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

net-conf.json: | { "Сеть": "10.244.0.0/16", "Бэкэнд": { "Тип": "vxlan" } }

Очистите текущие сетевые интерфейсы CNI, оставшиеся в старом сетевом пуле:

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

Повторно создать модули Flannel и CoreDNS соответственно:

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

Подождите, пока модули CoreDNS получат IP-адрес из нового сетевого пула. Помните, что ваши пользовательские модули все равно сохранят старые IP-адреса внутри контейнеров, если вы не создадите их заново вручную.

решение2

Для Calico создайте новый IPpool и отключите старый....https://projectcalico.docs.tigera.io/networking/migrate-pools

Связанный контент