После обновления до v1.24.0 (после удаления Dockershim) мне пришлось установить кри-докерд,
затем я сделал следующее:
sudo kubeadm init --pod-network-cidr=10.244.0.0/16 --cri-socket=unix:///var/run/cri-dockerd.sock --apiserver-advertise-address=192.168.0.196
я выбрал фланель
как сетевой плагин:
kubectl применить -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
До сих пор все работало так, как ожидалось, но после включения планирования на главном узле, присоединения к рабочему узлу и развертывания модулей и служб я заметил странную проблему с сетью, из-за которой NodePort и IP кластера сервисы не работали между узлами (при использовании одного узла проблем не было).
Позже я узнал, что поды получают IP-адреса от докер сеть (172.17.0.*
) а не от --pod-network-cidr=10.244.0.0/16
:
masterzulu@master-zulu:~$ kubectl get pods --all-namespaces -o wide
ПРОСТРАНСТВО ИМЕН ИМЯ ГОТОВ СТАТУС ПЕРЕЗАПУСКА ВОЗРАСТ IP-УЗЕЛ
django-space django-588cb669d4-46b4w 1/1 Работает 0 3m35s 172.17.0.4 master-zulu
django-space postgres-deployment-b58d5ff94-hs7t4 1/1 Работает 0 3m35s 172.17.0.5 мастер-зулу
kube-system coredns-6d4b75cb6d-8gw6c 1/1 Работает 0 7m9s 172.17.0.2 мастер-зулу
kube-system coredns-6d4b75cb6d-nxlq9 1/1 Работает 0 7m9s 172.17.0.3 master-zulu
flannel DaemonSet работает:
kube-system kube-flannel-ds-tqgvk 1/1 Работает 0 5m51s 192.168.3.132 master-zulu
и установлен podCIDR:
masterzulu@master-zulu:~$ kubectl get no master-zulu -o json | jq '.spec.podCIDR'
"10.244.0.0/24"
Я попытался добавить --network-plugin=cni
флаг в конфигурацию запуска kubelet, но я получаю сообщение об ошибке, так как этот флаг удален вместе с dockershim и другими флагами в v1.24.0.
вот статус кри-докер:
cri-docker.service — интерфейс CRI для Docker Application Container Engine
Загружено: загружено (/etc/systemd/system/cri-docker.service; включено; предустановка поставщика: включена)
Активно: активно (работает) с 25 мая 2022 г., 21:36:57 по московскому времени; 5ч 34мин назад
TriggeredBy: cri-docker.socket
Документы: https://docs.mirantis.com
Основной PID: 1098 (cri-dockerd)
Заданий: 15
Память: 53,4 Мб
Группа CG: /system.slice/cri-docker.service
ââ1098 /usr/local/bin/cri-dockerd --container-runtime-endpoint fd:// --network-plugin=
26 мая, 01:51:56 master-zulu cri-dockerd[1098]: time="2022-05-26T01:51:56+01:00" level=info msg="Не удалось прочитать IP-адрес модуля из плагина/докера: Не удалось найти статус сети для kube-system/coredns-6d4b75cb6d-nxlq9 через плагин: недопустимый статус сети для"
26 мая, 01:51:56 master-zulu cri-dockerd[1098]: time="2022-05-26T01:51:56+01:00" level=info msg="Не удалось прочитать IP-адрес модуля из плагина/докера: Не удалось найти статус сети для kube-system/coredns-6d4b75cb6d-nxlq9 через плагин: недопустимый статус сети для"
26 мая, 01:51:56 master-zulu cri-dockerd[1098]: time="2022-05-26T01:51:56+01:00" level=info msg="Не удалось прочитать IP-адрес модуля из плагина/докера: Не удалось найти статус сети для kube-system/coredns-6d4b75cb6d-8gw6c через плагин: недопустимый статус сети для"
26 мая 01:53:13 master-zulu cri-dockerd[1098]: time="2022-05-26T01:53:13+01:00" level=info msg="Попытка перезаписать файл конфигурации /var /lib/docker/containers/8ee7640d48c129058259b4b7632a0f6173ad8a9e2d5368cf3c9f29d1ea7db13e/resolv.conf как [сервер имен 192.168.3.48 сервер имен 192.168.0.1]"
26 мая 01:55:30 master-zulu cri-dockerd[1098]: time="2022-05-26T01:55:30+01:00" level=info msg="Попытка перезаписать файл конфигурации /var /lib/docker/containers/f378aff3d077030215ef664d72132b189f8412a8d432e5a554cdbfbb37c3ea19/resolv.conf as [nameserver 10.96.0.10 search django-space.svc.cluster.local svc.cluster.local cluster.local options:5] "ndots
26 мая, 01:55:30 master-zulu cri-dockerd[1098]: time="2022-05-26T01:55:30+01:00" level=info msg="Не удалось прочитать IP-адрес модуля из плагина/докера: Не удалось найти статус сети для django-space/django-588cb669d4-46b4w через плагин: недопустимый статус сети для"
26 мая, 01:55:31 master-zulu cri-dockerd[1098]: time="2022-05-26T01:55:31+01:00" level=info msg="Не удалось прочитать IP-адрес модуля из плагина/докера: Не удалось найти статус сети для django-space/django-588cb669d4-46b4w через плагин: недопустимый статус сети для"
26 мая 01:55:43 master-zulu cri-dockerd[1098]: time="2022-05-26T01:55:43+01:00" level=info msg="Попытка перезаписать файл конфигурации /var /lib/docker/containers/9523255b7991855027185cecbc8420bbe1268fcef21c2ddcb4d76851bce7e3a0/resolv.conf as [nameserver 10.96.0.10 search django-space.svc.cluster.local svc.cluster.local cluster.local options:5] "ndots
26 мая, 01:55:43 master-zulu cri-dockerd[1098]: time="2022-05-26T01:55:43+01:00" level=info msg="Не удалось прочитать IP-адрес модуля из плагина/докера: Не удалось найти статус сети для django-space/postgres-deployment-b58d5ff94-hs7t4 через плагин: недопустимый статус сети для"
26 мая, 01:55:43 master-zulu cri-dockerd[1098]: time="2022-05-26T01:55:43+01:00" level=info msg="Не удалось прочитать IP-адрес модуля из плагина/докера: Не удалось найти статус сети для django-space/postgres-deployment-b58d5ff94-hs7t4 через плагин: недопустимый статус сети для"
Кто-нибудь знает, что мне делать, чтобы решить эту проблему?
Обновлять:
cni0
интерфейс отсутствует на мастере k8s:
masterzulu@master-zulu:~$ ifconfig -a
docker0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
инет 172.17.0.1 сетевая маска 255.255.0.0 широковещательная рассылка 172.17.255.255
inet6 fe80::42:e9ff:fec1:dd1b prefixlen 64 scopeid 0x20<ссылка>
эфир 02:42:e9:c1:dd:1b txqueuelen 0 (Ethernet)
RX-пакеты 5140 байт 418818 (418,8 КБ)
Ошибки RX 0 отброшено 0 переполнение 0 кадр 0
Пакеты TX 5475 байт 522703 (522,7 КБ)
Ошибки передачи 0 отброшено 0 превышение пропускной способности 0 несущей 0 коллизий 0
enp3s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
инет 192.168.0.196 сетевая маска 255.255.255.0 широковещательная рассылка 192.168.0.255
inet6 fe80::e808:144d:a0dc:60a6 prefixlen 64 scopeid 0x20<ссылка>
эфир 98:40:bb:3e:f2:1c txqueuelen 1000 (Ethernet)
RX-пакеты 6332 байта 515688 (515,6 КБ)
Ошибки RX 0 отброшено 0 переполнение 0 кадр 0
Пакеты TX 6684 байт 631167 (631,1 КБ)
Ошибки передачи 0 отброшено 0 превышение пропускной способности 0 несущей 0 коллизий 0
flannel.1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1450
инет 10.244.0.0 сетевая маска 255.255.255.255 широковещательный 0.0.0.0
inet6 fe80::494:d8ff:fe1b:4aab prefixlen 64 scopeid 0x20<ссылка>
эфир 06:94:d8:1b:4a:ab txqueuelen 0 (Ethernet)
Пакеты RX 0 байт 0 (0,0 Б)
Ошибки RX 0 отброшено 0 переполнение 0 кадр 0
Пакеты TX 0 байт 0 (0,0 Б)
Ошибки TX 0 отброшено 129 переполнений 0 несущей 0 коллизий 0