Sempre que instalo o Kubernetes 1.15.3, ele funciona muito bem, até que eu reinicie a VM e ela não escute mais na porta 6443. A troca está desativada. / etc / tab contém apenas o volume raiz na minha VM do servidor Ubuntu 18.04. Nota, usando flanela

cat /proc/swaps
Filename                                Type            Size    Used    Priority

kubectl só retorna recusado

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 | cubo de aderência

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

Usando flanela

sudo kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml 

Alguma ideia? A "interweb" apenas me diz para verificar a troca, mas eu verifiquei literalmente 6 maneiras diferentes e todas as indicações são de que ela está desligada.

Meu arquivo de configuração do admin copiado para .kube mostra o servidor e a porta corretos. O servidor API simplesmente não está ativo. Alguém pensa?

journalctl -xeu kubelet

Observe, kubernetes1 é o nome do meu servidor mestre.

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
answer

Depois de reinstalar o SO e o Kubernetes 1.15.5, o problema é com o DNS. As imagens do Docker não eram puxadas porque o servidor docker não conseguia resolver após uma reinicialização.

Anteriormente, tentei modificar o resolv.conf diretamente como mencionado acima, mas o Ubuntu deseja gerenciar o próprio resolv.conf com o netplan. Fazer alterações manuais e reinicializar parece que essas alterações são ignoradas.

Se eu modificar o netplan yaml e executar o netplan apply, ele coloca 127.0.0.53 no resolv.conf e executa um proxy dns local, que então encaminha corretamente para o servidor dns bind9 que eu configurei. Espero ver meus servidores dns no resolv.conf e é isso que causou o problema.

Não modifique o resolv.conf diretamente no Ubuntu. Use o netplan.

Devido à falta de confirmação do OP, estou postando como Community Wiki.

Erro como:

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.

Significa que a VM não pode acessar o repositório Docker. Eu encontrei alguns problemas semelhantes como este .

Vou postar algumas ações que podem ajudar a resolver esse problema:

1. Reinicie o docker e o kubelet usando:

$ service docker restart
$ systemctl restart kubelet

2. Adicionar servidor de nomes manualmente

- 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. Reinstale o docker ou instale a versão mais recente

4. Usando docker atrás de proxy

Se você estiver usando algum proxy, verifique este tutorial.

EDITAR:

Com base nas informações do OP, parece que o problema foi causado pelo Netplan, que é um utilitário para configurar a rede em um sistema Linux. Ele impôs outra configuração de rede porque o Docker não conseguiu puxar as imagens.

Você só precisa encerrar o serviço kubelet e reiniciar novamente. os pods e o contêiner estarão em execução antes da reinicialização.

pkill kubelet

e

systemctl restart kubelet

boa sorte