Каждый раз, когда я устанавливаю Kubernetes 1.15.3, он отлично работает, пока я не перезагружаю виртуальную машину, а затем она перестанет слушать порт 6443. Своп отключен. / etc / tab содержит только корневой том моей виртуальной машины сервера Ubuntu 18.04. Обратите внимание, используя фланель
cat /proc/swaps
Filename Type Size Used Priority
kubectl возвращает только отказ
kubectl get nodes
The connection to the server <myip>:6443 was refused - did you specify the right host or port?
sudo netstat -tulpn
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
PID/Program name
tcp 0 0 127.0.0.53:53 0.0.0.0:* LISTEN
770/systemd-resolve
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
1694/sshd
tcp 0 0 127.0.0.1:36957 0.0.0.0:* LISTEN
1269/containerd
tcp 0 0 127.0.0.1:10248 0.0.0.0:* LISTEN
2720/kubelet
tcp 0 0 127.0.0.1:33385 0.0.0.0:* LISTEN
2720/kubelet
tcp6 0 0 :::22 :::* LISTEN
1694/sshd
tcp6 0 0 :::10250 :::* LISTEN
2720/kubelet
udp 0 0 127.0.0.53:53 0.0.0.0:*
770/systemd-resolve
systemctl status kubelet
Oct 21 12:47:23 kubernetes1 kubelet[2720]: E1021 12:47:23.811807 2720
reflector.go:125] k8s.io/client-go/informers/factory.go:133: Failed to list
*v1beta1.RuntimeClass: Get https://<MYIP>:6443/apis/nodOct 21
12:47:23 kubernetes1 kubelet[2720]: E1021 12:47:23.824760 2720
kubelet.go:2248] node "kubernetes1" not found
ps -ef | grep kube
root 2720 1 0 12:32 ? 00:00:07 /usr/bin/kubelet --
bootstrap-kubeconfig=/etc/kubernetes/bootstrap-kubelet.conf --
kubeconfig=/etc/kubernetes/kubelet.conf --
config=/var/lib/kubelet/config.yaml --cgroup-driver=cgroupfs --network-
plugin=cni --pod-infra-container-image=k8s.gcr.io/pause:3.1 --resolv-
conf=/run/systemd/resolve/resolv.conf
Использование фланели
sudo kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
Любые идеи? "Interweb" только говорит мне проверить своп, но я проверил его буквально 6 различными способами, и все указывает на то, что он выключен.
Мой файл конфигурации администратора, скопированный в .kube, показывает правильный сервер и правильный порт. API-сервер просто не работает. Кто-нибудь думает?
journalctl -xeu kubelet
Обратите внимание, kubernetes1 - это имя моего главного сервера.
Oct 22 02:28:59 kubernetes1 kubelet[2720]: E1022 02:28:59.521057 2720 kubelet.go:2248] node "kubernetes1" not found
Oct 22 02:28:59 kubernetes1 kubelet[2720]: E1022 02:28:59.610016 2720 reflector.go:125] k8s.io/kubernetes/pkg/kubelet/config/apiserver.go:47: Failed to list *v1.Pod: Get https://<myip>:6443/api/v1/podsOct 22 02:28:59 kubernetes1 kubelet[2720]: E1022 02:28:59.621170 2720 kubelet.go:2248] node "kubernetes1" not found
Oct 22 02:28:59 kubernetes1 kubelet[2720]: E1022 02:28:59.721293 2720 kubelet.go:2248] node "kubernetes1" not found
Oct 22 02:28:59 kubernetes1 kubelet[2720]: E1022 02:28:59.810053 2720 reflector.go:125] k8s.io/kubernetes/pkg/kubelet/kubelet.go:444: Failed to list *v1.Service: Get https://<myip>:6443/api/v1/servicesOct 22 02:28:59 kubernetes1 kubelet[2720]: E1022 02:28:59.823444 2720 kubelet.go:2248] node "kubernetes1" not found
Oct 22 02:28:59 kubernetes1 kubelet[2720]: E1022 02:28:59.923615 2720 kubelet.go:2248] node "kubernetes1" not found
Oct 22 02:29:00 kubernetes1 kubelet[2720]: E1022 02:29:00.010365 2720 reflector.go:125] k8s.io/kubernetes/pkg/kubelet/kubelet.go:453: Failed to list *v1.Node: Get https://<myip>:6443/api/v1/nodes?fieldOct 22 02:29:00 kubernetes1 kubelet[2720]: E1022 02:29:00.023809 2720 kubelet.go:2248] node "kubernetes1" not found
Oct 22 02:29:00 kubernetes1 kubelet[2720]: E1022 02:29:00.123954 2720 kubelet.go:2248] node "kubernetes1" not found
Oct 22 02:29:00 kubernetes1 kubelet[2720]: E1022 02:29:00.210384 2720 reflector.go:125] k8s.io/client-go/informers/factory.go:133: Failed to list *v1beta1.RuntimeClass: Get https://<myip>:6443/apis/nodOct 22 02:29:00 kubernetes1 kubelet[2720]: E1022 02:29:00.225717 2720 kubelet.go:2248] node "kubernetes1" not found
Oct 22 02:29:00 kubernetes1 kubelet[2720]: E1022 02:29:00.325890 2720 kubelet.go:2248] node "kubernetes1" not found
Oct 22 02:29:00 kubernetes1 kubelet[2720]: E1022 02:29:00.410429 2720 reflector.go:125] k8s.io/client-go/informers/factory.go:133: Failed to list *v1beta1.CSIDriver: Get https://<myip>:6443/apis/storagOct 22 02:29:00 kubernetes1 kubelet[2720]: E1022 02:29:00.425998 2720 kubelet.go:2248] node "kubernetes1" not found
Oct 22 02:29:00 kubernetes1 kubelet[2720]: E1022 02:29:00.526126 2720 kubelet.go:2248] node "kubernetes1" not found
Oct 22 02:29:00 kubernetes1 kubelet[2720]: E1022 02:29:00.610341 2720 reflector.go:125] k8s.io/kubernetes/pkg/kubelet/config/apiserver.go:47: Failed to list *v1.Pod: Get https://<myip>:6443/api/v1/podsOct 22 02:29:00 kubernetes1 kubelet[2720]: E1022 02:29:00.626218 2720 kubelet.go:2248] node "kubernetes1" not found
Из-за отсутствия подтверждения OP я публикую его как Community Wiki.
Ошибка типа:
Get registry-1.docker.io/v2: dial tcp: lookup registry-1.docker.io on [::1]:53: read udp [::1]:55820->[::1]:53: read: connection refused.
Означает, что виртуальная машина не может получить доступ к репозиторию Docker. Я обнаружил несколько похожих проблем, например этот.
Я опубликую несколько действий, которые могут помочь решить эту проблему:
1. Перезапустите докер и кубелет, используя:
$ service docker restart
$ systemctl restart kubelet
2. Добавьте сервер имен вручную
- SSH to the master
- sudo vi /etc/resolv.conf
- add "nameserver 8.8.8.8" and save this change.
- Eventually restart docker and kubelet
3. Переустановите докер или установите последнюю версию.
4. Использование докера за прокси
Если вы используете какой-либо прокси, отметьте этот руководство.
РЕДАКТИРОВАТЬ:
Основываясь на информации от OP, кажется, что проблема была вызвана Netplan это утилита для настройки сети в системе Linux. Он принудительно использовал другую конфигурацию сети, потому что Docker не мог извлекать образы.
После переустановки ОС и Kubernetes 1.15.5 проблема связана с DNS. Образы докеров не загружались, потому что сервер докеров не мог разрешиться после перезапуска.
Ранее я пытался изменить файл resolv.conf напрямую, как упоминалось выше, но Ubuntu хочет управлять файлом resolv.conf с помощью netplan. Внесение изменений вручную и перезагрузка выглядит так, как будто это приводит к игнорированию этих изменений.
Если я изменяю netplan yaml и запускаю netplan apply, он помещает 127.0.0.53 в resolv.conf и запускает локальный прокси-сервер DNS, который затем правильно перенаправляет на настроенный мною DNS-сервер bind9. Я ожидаю увидеть свои DNS-серверы в resolv.conf, и это вызвало проблему.
Не изменяйте файл resolv.conf непосредственно в Ubuntu. Используйте netplan.