Kubelet está em estado de execução, mas kubectl está fornecendo erro de conexão recusada ao servidor

Kubelet está em estado de execução, mas kubectl está fornecendo erro de conexão recusada ao servidor

O cluster Kubernetes estava funcionando bem anteriormente. Começou a ter problemas ao executar comandos kubectl após reiniciar o nó mestre (1.0.0.0). Quando executo kubectl get nodeso comando, recebo o erro abaixo.

# kubectl get nodes
The connection to the server 1.0.0.0:6443 was refused - did you specify the right host or port?

Quando me conecto ao nó mestre que é ( 1.0.0.0), a porta 6443 não está aberta para aceitar conexões. netstat -lntp|grep 6443Não dá saída. O serviço Kubelet está em estado de execução, a saída de systemctl status kubeletnão mostra nada suspeito.

Tentei reiniciar o serviço kubelet, mas sem sorte. Também tentei swapoff -aantes de reiniciar o serviço kubelet.

Estou faltando algum outro serviço que aceite conexões na porta 6443? ou é trabalho do kubelet, mas não consegue fazê-lo? Por favor ajude.

Nota: Mascarei meu endereço IP para 1.0.0.0, o IP real é diferente. Usando apenas Centos em todos os lugares.

Responder1

Confira abaixo possíveis soluções:

Primeiro revise os logs de journalctl -xeusaída do kubelet, verifique se error while dialing dial unix /var/run/cri-dockerd.sock: connect: no such file or directoryvocê reinicia e habilitaserviços cri-dockerdcomo abaixo:

sudo systemctl enable cri-dockerd.service
sudo systemctl restart cri-dockerd.service then
sudo systemctl start kubelet

Pode funcionar para você, por favor, passe porlink do githubpara mais informações.

1)A variável ambiental Kubeconfig provavelmente não está definida. export KUBECONFIG=/etc/kubernetes/admin.confou$HOME/.kube/config

2)O diretório $HOME do usuário possui no .kube/configarquivo. Se você não tiver um arquivo .kube ou de configuração

mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf HOME/.kube/config sudo chown (id -u):$(id -g) 
$HOME/.kube/config

Alternativamente, você também pode exportar a variável KUBECONFIG assim:

export KUBECONFIG=$HOME/.kube/config

3)O servidor/porta configurado no arquivo de configuração acima está errado. É igual ao IP/nome do host do servidor mestre? se não você copiou? Você pode querer consertar isso.

A propósito, você pode obter o nome do host emitindo o comando hostname em seu cli. ou ifconfig para o ip.

4)O serviço Docker pode estar inativo, portanto, o pod kubeapi não está em execução

sudo systemctl start docker
sudo systemctl start kubelet
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown (id -u):(id -g) $HOME/.kube/config

5)O serviço Kubelet pode estar inativo. Isso pode ser devido ao fato de a troca estar habilitada:

  • sudo -eu
  • troca -a
  • saída
  • strace -eopenat versão kubectl

e você pode digitar kubectl get nodes novamente, conforme mostrado abaixo.

insira a descrição da imagem aqui

6)Pode ser outra causa'espaço em disco':

Verificar“df -h”, sem sobreposição ou shm (montado em/var/lib/docker…) foi listado, até você aumentar o espaço livre em disco.

7)Siga o processo semelhante abaixo para resolver seu problema

mestre

kubeadm redefinir kubeadm init --pod-network-cidr=192.168.0.0/16 --apiserver-advertise-address=192.168.211.40 -- versão-kubernetes=v1.18.0

    kubeadm join 192.168.211.40:6443 --token s7apx1.mlxn2jkid6n99fr0 \
        --discovery-token-ca-cert-hash sha256:2fa9da39110d02efaf4f8781aa50dd25cce9be524618dc7ab91a53e81c5c22f8 

    $ mkdir -p $HOME/.kube
    $ sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
    $ sudo chown $(id -u):$(id -g) $HOME/.kube/config

nó1

$ kubeadm reset
$ kubeadm join 192.168.211.40:6443 --token s7apx1.mlxn2jkid6n99fr0 \
    --discovery-token-ca-cert-hash sha256:2fa9da39110d02efaf4f8781aa50dd25cce9be524618dc7ab91a53e81c5c22f8 

nó2

$ kubeadm reset
$ kubeadm join 192.168.211.40:6443 --token s7apx1.mlxn2jkid6n99fr0 \
    --discovery-token-ca-cert-hash sha256:2fa9da39110d02efaf4f8781aa50dd25cce9be524618dc7ab91a53e81c5c22f8 

mestre

$ kubectl get nodes
NAME     STATUS   ROLES    AGE     VERSION
master   Ready    master   5m18s   v1.18.6
node1    Ready    <none>   81s     v1.18.6
node2    Ready    <none>   43s     v1.18.6
$ scp /root/.kube/config [email protected]:/root/.kube/config
$ scp /root/.kube/config [email protected]:/root/.kube/config

8)Por favor, tente isto se você ainda tiver o problema:

iptables pode causar problemas após você reiniciar sua instância.

sudo su
iptables -P INPUT ACCEPT ALL
iptables -F

Consulte também Istoo documento descreve as etapas para solucionar o erro do kubectlPara maiores informações.

Verifique também este semelhanteENTÃOPara maiores informações.

informação relacionada