задний план
Кластер k8s был инициализирован, а компонент CNI не выбран.Если вы хотите установить или заменить компонент CNI, вам необходимо изменить pod cidr, поскольку компоненты (такие какcalico
cilium
flannel
) необходимо добавить во время инициализации kubeadm--pod-network-cidr
В параметре указывается cidr, но переинициализация кластера слишком громоздка, трудоемка и требует много операций. Отсюда и эта статья.
Представление
казненkubeadm init
Инициализировать кластер и выполнить kubectl apply -f <add-on.yaml>
уже установленоflannel
, обнаружил, что модули, связанные с kube-flannel, не находятся в состоянии Running:
Просматривая логи, мы обнаружили следующее:
Ключевая информацияError registering network: failed to acquire lease: node "vb-n2" pod cidr not assigned
решать
Позже я проверил документ и узнал следующую информацию:you must pass
Измените карту конфигурации кластера вnetworking
вниз увеличениеpodSubnet: 10.244.0.0/16
**ПРИМЕЧАНИЕ.** При необходимости измените CIDR, не копируйте
kube edit cm kubeadm-config -n kube-system
Измените параметры запуска статического модуля контроллера-менеджера и добавьте--allocate-node-cidrs=true
--cluster-cidr=10.244.0.0/16
**ПРИМЕЧАНИЕ.** При необходимости измените CIDR, не копируйте
sudo vim /etc/kubernetes/manifests/kube-controller-manager.yaml
Проверьте, вступила ли конфигурация в силу
kubectl cluster-info dump | grep -m 1 cluster-cidr
Если обновление идет медленно, вы можете вручную удалить соответствующий модуль, напримерkubectl delete pod -n kube-system kube-flannel-ds-amd64-***
Проверьте модули кластера и компонентов CNI.
намекать
Если аномалия обнаружена после установки компонента CNI без установки cidr пода, рекомендуется переустановить компонент CNI после установки cidr.
Ссылаться на
- Как изменить диапазон адресов pod-network-cidr в k8s, вторая модификация в тексте проблематична, см. второй справочный документ
-
Это особенное.IO/docs/refer E…,Видеть
--cluster-cidr string
CIDR Range for Pods in cluster. Requires --allocate-node-cidrs to be true