Проблемы с под-сетью в кубернетес - PullRequest
0 голосов
/ 29 июня 2018

Я создал 3 vbox VM для тестирования k8s. У каждого вм есть 2 сети: нат и внутренняя. K8s был инициализирован с:

kubeadm init --apiserver-advertise-address 192.168.1.1 --service-cidr 192.168.1.0/24 --pod-network-cidr 192.168.1.0/24

192.168.1.0 / 24 - внутренняя сеть. К узлам присоединился

kubeadm join 192.168.1.1:6443 --token some_token --discovery-token-ca-cert-hash hash

Когда я пытаюсь развернуть фланель, я получаю сообщения об ошибках типа:

I0629 09:25:06.640787       1 main.go:475] Determining IP address of default interface
I0629 09:25:06.645316       1 main.go:488] Using interface with name enp0s3 and address 10.0.2.15
I0629 09:25:06.645335       1 main.go:505] Defaulting external address to interface address (10.0.2.15)
I0629 09:25:06.656691       1 kube.go:131] Waiting 10m0s for node controller to sync
I0629 09:25:06.656794       1 kube.go:294] Starting kube subnet manager
I0629 09:25:07.657778       1 kube.go:138] Node controller sync successful
I0629 09:25:07.657795       1 main.go:235] Created subnet manager: Kubernetes Subnet Manager - kub2
I0629 09:25:07.657798       1 main.go:238] Installing signal handlers
I0629 09:25:07.657892       1 main.go:353] Found network config - Backend type: vxlan
I0629 09:25:07.657928       1 vxlan.go:120] VXLAN config: VNI=1 Port=0 GBP=false DirectRouting=false
E0629 09:25:07.658039       1 main.go:280] Error registering network: failed to acquire lease: node "kub2" pod cidr not assigned

что я делаю не так?

1 Ответ

0 голосов
/ 29 июня 2018

Согласно строке ошибки в ваших логах:

E0629 09: 25: 07.658039 1 main.go: 280] Ошибка регистрации сети: не удалось получить аренду: узел "kub2" pod cidr не назначен

Кажется, вы использовали подсеть 192.168.1.0/24, которая была полностью распределена для создания главного узла; однако для построения рабочих узлов было недостаточно пулов IP, так как по умолчанию kube-controller-manager предоставляет сеть / 24 для каждого узла. В качестве решения вы можете использовать более широкую адресацию сетевых подсетей, а также помнить, что подсети, которые вы намереваетесь использовать, не могут быть частью друг друга.

Например, если у вас есть локальная сеть 192.168.1.0/24, --pod-network-cidr должен быть похож на 192.168.2.0/24, а --pod-network-cidr похож на 172.17.0.0/16

...