Ошибка инициализации kubernetes kubeadm из-за набора tcp 127.0.0.1:10248: соединение: соединение отказано - PullRequest
0 голосов
/ 17 февраля 2019

Я пытаюсь настроить очень простой 2-узловой кластер k8s 1.13.3 в частном облаке vSphere.Виртуальные машины работают под управлением Ubuntu 18.04.Брандмауэры отключены в целях тестирования.тем не менее инициализация не выполняется из-за отклоненного соединения.Есть ли что-то еще, что может быть причиной этого, кроме блокировки портов?Я новичок в k8s и пытаюсь обернуть голову вокруг всего этого.

Я поместил файл vsphere.conf в / etc / kubernetes /, как показано в этом разделе.https://gist.github.com/spstratis/0395073ac3ba6dc24349582b43894a77

Я также создал файл конфигурации, чтобы указать, когда я запускаю kubeadm init.Вот пример его содержания.https://gist.github.com/spstratis/086f08a1a4033138a0c42f80aef5ab40

Когда я запускаю sudo kubeadm init --config /etc/kubernetes/kubeadminitmaster.yaml, он завершается со следующей ошибкой.

[kubelet-check] Initial timeout of 40s passed.
[kubelet-check] It seems like the kubelet isn't running or healthy.
[kubelet-check] The HTTP call equal to 'curl -sSL http://localhost:10248/healthz' failed with error: Get http://localhost:10248/healthz: dial tcp 127.0.0.1:10248: connect: connection refused.

Проверка sudo systemctl status kubelet показывает мне, что kubelet запущен.У меня сейчас отключен брандмауэр на моей главной виртуальной машине для тестирования целей, чтобы я мог убедиться, что кластер загрузится сам.

   Loaded: loaded (/lib/systemd/system/kubelet.service; enabled; vendor preset: enabled)
  Drop-In: /etc/systemd/system/kubelet.service.d
           └─10-kubeadm.conf
   Active: active (running) since Sat 2019-02-16 18:09:58 UTC; 24s ago
     Docs: https://kubernetes.io/docs/home/
 Main PID: 16471 (kubelet)
    Tasks: 18 (limit: 4704)
   CGroup: /system.slice/kubelet.service
           └─16471 /usr/bin/kubelet --bootstrap-kubeconfig=/etc/kubernetes/bootstrap-kubelet.conf --kubeconfig=/etc/kubernetes/kubelet.conf --config=/var/lib/kubelet/config.yaml --cloud-config=/etc/kubernetes/vsphere.conf --cloud-provider=vsphere --cgroup-driver=systemd --network-plugin=cni --pod-i

Ниже приведены некоторые дополнительные журналы, показывающие, что соединение с https://192.168.0.12:6443/ отклонено.Все это, кажется, приводит к сбою kubelet и препятствует завершению процесса init.

    Feb 16 18:10:22 k8s-master-1 kubelet[16471]: E0216 18:10:22.633721   16471 kubelet.go:2266] node "k8s-master-1" not found
    Feb 16 18:10:22 k8s-master-1 kubelet[16471]: E0216 18:10:22.668213   16471 reflector.go:134] k8s.io/kubernetes/pkg/kubelet/kubelet.go:453: Failed to list *v1.Node: Get https://192.168.0.12:6443/api/v1/nodes?fieldSelector=metadata.name%3Dk8s-master-1&limit=500&resourceVersion=0: dial tcp 192.168.0.1
Feb 16 18:10:22 k8s-master-1 kubelet[16471]: E0216 18:10:22.669283   16471 reflector.go:134] k8s.io/kubernetes/pkg/kubelet/kubelet.go:444: Failed to list *v1.Service: Get https://192.168.0.12:6443/api/v1/services?limit=500&resourceVersion=0: dial tcp 192.168.0.12:6443: connect: connection refused
    Feb 16 18:10:22 k8s-master-1 kubelet[16471]: E0216 18:10:22.670479   16471 reflector.go:134] k8s.io/kubernetes/pkg/kubelet/config/apiserver.go:47: Failed to list *v1.Pod: Get https://192.168.0.12:6443/api/v1/pods?fieldSelector=spec.nodeName%3Dk8s-master-1&limit=500&resourceVersion=0: dial tcp 192.1
    Feb 16 18:10:22 k8s-master-1 kubelet[16471]: E0216 18:10:22.734005   16471 kubelet.go:2266] node "k8s-master-1" not found

1 Ответ

0 голосов
/ 17 февраля 2019

Вы не можете использовать bootstrap-kubeconfig для инициализации кублета мастера, так как - как вы испытываете - у него нет api-сервера, к которому можно обратиться, чтобы сгенерировать свой закрытый ключ и сертификат.Словить 22.Я примерно на 80% уверен, что удаление --bootstrap-kubeconfig из аргументов kubelet поможет в этой ситуации.Я бы ожидал , что у kubelet уже есть свой ключ и сертификат в /var/lib/kubelet/pki, так что это тоже может стоить проверить.

Кроме того, если вы используете каталог /etc/kubernetes/manifests длязапустите apiserver и controllermanager, убедитесь, что staticPodPath: в /var/lib/kubelet/config.yaml указывает на правильный каталог.Вряд ли это проблема, но проверить это очень дешево.

...