Узлу Kubernetes не удалось присоединиться к мастеру из-за «Превышен тайм-аут при ожидании ошибки заголовков» - PullRequest
0 голосов
/ 28 мая 2020

Я пытаюсь настроить кластер k8s с главным и двумя рабочими узлами в Digital Ocean.

Моя конфигурация: я создал три капли следующим образом:

  1. Master: 2cpu, 3 ГБ памяти
  2. Рабочий узел 1: 1 ЦП, 2 ГБ памяти
  3. Рабочий узел 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

Любая помощь по исправлению этой проблемы приветствуется.

...