Я пытаюсь настроить кластер k8s с главным и двумя рабочими узлами в Digital Ocean.
Моя конфигурация: я создал три капли следующим образом:
- Master: 2cpu, 3 ГБ памяти
- Рабочий узел 1: 1 ЦП, 2 ГБ памяти
- Рабочий узел 2: 1 ЦП, 2 ГБ памяти
Мне удалось успешно настроить главный узел
$ kubectl get nodes
NAME STATUS ROLES AGE VERSION
master Ready master 139m v1.18.3
Я не могу добавить воркера к мастеру.
Команда, которую я выполнил для присоединения:
$ kubeadm join <PUBLIC IP>:6443 --token <token> --discovery-token-ca-cert-hash <hash>
Срок действия токена на момент выполнения вышеуказанной команды оставался 23 часа.
Ошибка, которую я получил:
W0528 14: 13: 09.920404 25129 join. go: 346] [предварительная проверка] ПРЕДУПРЕЖДЕНИЕ: настройки JoinControlPane.controlPlane будут игнорироваться, когда плоскость управления флаг не установлен.
[предварительная проверка] Выполнение предполетных проверок ошибка выполнения этапа предварительной проверки: не удалось проверить подлинность сервера API: получить https://PUBLIC_IP: 6443 / api / v1 / namespaces / kube-public / configmaps / cluster-info? timeout = 10s : net / http: запрос отменен во время ожидания f или соединение (Client.Timeout превышен при ожидании заголовков) Чтобы увидеть трассировку стека для этой ошибки, выполните с --v = 5 или выше
Мои наблюдения по этой проблеме:
$ netstat -pnltu
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.1:40389 0.0.0.0:* LISTEN 25074/kubelet
tcp 0 0 127.0.0.1:10248 0.0.0.0:* LISTEN 25074/kubelet
tcp 0 0 127.0.0.1:10249 0.0.0.0:* LISTEN 25478/kube-proxy
tcp 0 0 127.0.0.1:9099 0.0.0.0:* LISTEN 29823/calico-node
tcp 0 0 127.0.0.1:10257 0.0.0.0:* LISTEN 24580/kube-controll
tcp 0 0 127.0.0.1:10259 0.0.0.0:* LISTEN 24742/kube-schedule
tcp6 0 0 :::10250 :::* LISTEN 25074/kubelet
tcp6 0 0 :::10251 :::* LISTEN 24742/kube-schedule
tcp6 0 0 :::6443 :::* LISTEN 24725/kube-apiserve
tcp6 0 0 :::10252 :::* LISTEN 24580/kube-controll
tcp6 0 0 :::10256 :::* LISTEN 25478/kube-proxy
Это потому, что служба API прослушивает IPV6 вместо IPV4?
вот вывод информации о кластере:
$ kubectl cluster-info
Kubernetes master is running at https://<PUBLIC_IP>:6443
KubeDNS is running at https://<PUBLIC_IP>:6443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy
Любая помощь по исправлению этой проблемы приветствуется.