Я настраиваю кластер Kubernetes на клиенте.
Я уже делал этот процесс несколько раз, включая работу со спецификой бродяги, и мне постоянно удавалось поднять кластер K8s иработает без особых хлопот.
Теперь, с этим клиентом я делаю то же самое, но я обнаружил много проблем при настройке, что совершенно неожиданно.По сравнению с другими местами, где я настраивал Kubernetes, единственное очевидное отличие, которое я вижу, это то, что у меня есть прокси-сервер, с которым мне постоянно приходится бороться.Ничего, с чем NO_PROXY
env не смог справиться.
Основная проблема, с которой я сталкиваюсь, - это настройка канала (Calico + Flannel).По какой-то причине на мастерах 2 и 3 он просто не запускается.
NAMESPACE NAME READY STATUS RESTARTS AGE IP NODE
kube-system canal-2pvpr 2/3 CrashLoopBackOff 7 14m 10.136.3.37 devmn2.cpdprd.pt
kube-system canal-rdmnl 2/3 CrashLoopBackOff 7 14m 10.136.3.38 devmn3.cpdprd.pt
kube-system canal-swxrw 3/3 Running 0 14m 10.136.3.36 devmn1.cpdprd.pt
kube-system kube-apiserver-devmn1.cpdprd.pt 1/1 Running 1 1h 10.136.3.36 devmn1.cpdprd.pt
kube-system kube-apiserver-devmn2.cpdprd.pt 1/1 Running 1 4h 10.136.3.37 devmn2.cpdprd.pt
kube-system kube-apiserver-devmn3.cpdprd.pt 1/1 Running 1 1h 10.136.3.38 devmn3.cpdprd.pt
kube-system kube-controller-manager-devmn1.cpdprd.pt 1/1 Running 0 15m 10.136.3.36 devmn1.cpdprd.pt
kube-system kube-controller-manager-devmn2.cpdprd.pt 1/1 Running 0 15m 10.136.3.37 devmn2.cpdprd.pt
kube-system kube-controller-manager-devmn3.cpdprd.pt 1/1 Running 0 15m 10.136.3.38 devmn3.cpdprd.pt
kube-system kube-dns-86f4d74b45-vqdb4 0/3 ContainerCreating 0 1h <none> devmn2.cpdprd.pt
kube-system kube-proxy-4j7dp 1/1 Running 1 2h 10.136.3.38 devmn3.cpdprd.pt
kube-system kube-proxy-l2wpm 1/1 Running 1 2h 10.136.3.36 devmn1.cpdprd.pt
kube-system kube-proxy-scm9g 1/1 Running 1 2h 10.136.3.37 devmn2.cpdprd.pt
kube-system kube-scheduler-devmn1.cpdprd.pt 1/1 Running 1 1h 10.136.3.36 devmn1.cpdprd.pt
kube-system kube-scheduler-devmn2.cpdprd.pt 1/1 Running 1 4h 10.136.3.37 devmn2.cpdprd.pt
kube-system kube-scheduler-devmn3.cpdprd.pt 1/1 Running 1 1h 10.136.3.38 devmn3.cpdprd.pt
В поисках конкретной ошибки я обнаружил, что проблема связана с контейнером kube-flannel
, которыйвыдает ошибку:
[exXXXXX@devmn1 ~]$ kubectl logs canal-rdmnl -n kube-system -c kube-flannel
I0518 16:01:22.555513 1 main.go:487] Using interface with name ens192 and address 10.136.3.38
I0518 16:01:22.556080 1 main.go:504] Defaulting external address to interface address (10.136.3.38)
I0518 16:01:22.565141 1 kube.go:130] Waiting 10m0s for node controller to sync
I0518 16:01:22.565167 1 kube.go:283] Starting kube subnet manager
I0518 16:01:23.565280 1 kube.go:137] Node controller sync successful
I0518 16:01:23.565311 1 main.go:234] Created subnet manager: Kubernetes Subnet Manager - devmn3.cpdprd.pt
I0518 16:01:23.565331 1 main.go:237] Installing signal handlers
I0518 16:01:23.565388 1 main.go:352] Found network config - Backend type: vxlan
I0518 16:01:23.565440 1 vxlan.go:119] VXLAN config: VNI=1 Port=0 GBP=false DirectRouting=false
E0518 16:01:23.565619 1 main.go:279] Error registering network: failed to acquire lease: node "devmn3.cpdprd.pt" pod cidr not assigned
I0518 16:01:23.565671 1 main.go:332] Stopping shutdownHandler...
Я просто не могу понять, почему.
Некоторая соответствующая информация:
- Мои clusterCIDR и podCIDR: 192.168.151.0/ 25 (я знаю, это странно, не спрашивайте, если это не большая проблема)
- Я настроил etcd на systemd
- Я изменил kube-controller-manager.yamlизменить размер маски на 25 (иначе упомянутый ранее IP не будет работать).
Я устанавливаю все с помощью Kubeadm.Одна странная вещь, которую я заметил, заключалась в том, что при просмотре конфигурации (kubeadm config view
) большая часть информации, которую я настроил на kubeadm config.yaml
(для kubeadm init
), отсутствовала в представлении конфигурации, включая пути кetcd сертификатыЯ также не уверен, почему это произошло, но я исправил это (надеюсь), отредактировав карту конфигурации kubeadm (kubectl edit cm kubeadm-config -n kube-system
) и сохранив ее.
Все еще не повезло с каналом.
Может кто-нибудь помочь мне разобраться в чем дело?Я задокументировал почти каждый шаг конфигурации, которую я сделал, поэтому, если потребуется, я смогу ее предоставить.
РЕДАКТИРОВАТЬ:
Я подумал, как на самом деле мои master2 и 3не связан с pCIDR.Почему это случилось?И как я могу добавить это?