Kubernetes: Executando o Kubernetes localmente via Docker - `kubectl get nodes` retorna `A conexão com o servidor localhost:8080 foi recusada - você especificou o host ou porta correto?`

Criado em 1 abr. 2016  ·  56Comentários  ·  Fonte: kubernetes/kubernetes

Passando por este guia para configurar o kubernetes localmente via docker, acabo com a mensagem de erro conforme indicado acima.

Passos tomados:

  • export K8S_VERSION='1.3.0-alpha.1' (tentei 1.2.0 também)
  • copie e cole o comando docker run
  • baixe o binário kubectl apropriado e coloque PATH ( which kubectl funciona)
  • (opcionalmente) configurar o cluster
  • correr kubectl get nodes

Resumindo, sem mágica. Estou executando isso localmente no Ubuntu 14.04, docker 1.10.3. Se precisar de mais informações me avise

kinsupport

Comentários muito úteis

Você pode resolver isso com "kubectl config":

$ kubectl config set-cluster demo-cluster --server=http://master.example.com:8080
$ kubectl config set-context demo-system --cluster=demo-cluster
$ kubectl config use-context demo-system
$ kubectl get nodes
NAME                 STATUS    AGE
master.example.com   Ready     3h
node1.example.com    Ready     2h
node2.example.com    Ready     2h

Todos 56 comentários

Tem o mesmo problema com a versão 1.2.0 +1

@xificurC @jankoprowski Você verificou se o apiserver está em execução?

Por favor, dê uma olhada em nosso guia de solução de problemas:
http://kubernetes.io/docs/troubleshooting/

Se você ainda precisar de ajuda, pergunte no stackoverflow.

apiserver falhou com:

F0421 14:28:55.140493 1 server.go:410] Configuração de autenticação inválida: abra /srv/kubernetes/basic_auth.csv: nenhum arquivo ou diretório

Eu também encontrei esse problema e meu apiserver não falhou, todo o processo (apiserver, controller-manager, schdeuler, kublet e kube-proxy) rodando normalmente. Minha versão do docker é 1.11.2, se alguém souber como resolver esse problema?

Eu também encontrei esses problemas. Como preciso usar o Kubernetes1.2.2, uso o docker para implantar o kubernetes. O mesmo problema acontece. O apiserver está inativo. Registre aqui,

I0725 08:56:20.440089       1 genericapiserver.go:82] Adding storage destination for group batch
W0725 08:56:20.440127       1 server.go:383] No RSA key provided, service account token authentication disabled
F0725 08:56:20.440148       1 server.go:410] Invalid Authentication Config: open /srv/kubernetes/basic_auth.csv: no such file or directory

O apiserver falhou e não consigo implantar o Kubernetes. Alguém sabe sobre isso?

Tente usar --server para especificar seu mestre:
kubectl --server=16.187.189.90:8080 obter pod -o largo

Olá estou recebendo o seguinte erro no Centos 7, como posso resolver esse problema?

[root@ip-172-31-11-12 system]# kubectl get nodes
The connection to the server localhost:8080 was refused - did you specify the right host or port?

Você pode resolver isso com "kubectl config":

$ kubectl config set-cluster demo-cluster --server=http://master.example.com:8080
$ kubectl config set-context demo-system --cluster=demo-cluster
$ kubectl config use-context demo-system
$ kubectl get nodes
NAME                 STATUS    AGE
master.example.com   Ready     3h
node1.example.com    Ready     2h
node2.example.com    Ready     2h

No meu caso, tive apenas que remover ~/.kube/config que sobrou da tentativa anterior.

Oi,
Eu ainda encontrei esse problema com
kubernetes-master-1.4.0-0.1.git87d9d8d.el7.x86_64
kubernetes-node-1.4.0-0.1.git87d9d8d.el7.x86_64
kubernetes-unit-test-1.4.0-0.1.git87d9d8d.el7.x86_64
kubernetes-ansible-0.6.0-0.1.gitd65ebd5.el7.noarch
kubernetes-client-1.4.0-0.1.git87d9d8d.el7.x86_64
kubernetes-1.4.0-0.1.git87d9d8d.el7.x86_64

se eu configurar KUBE_API_ADDRESS com o valor abaixo
KUBE_API_ADDRESS="--insecure-bind-address=10.10.10.xx"
Eu encontrei esse erro e funciona se eu passar as opções "--server=10.10.10.xx:8080" para cmd

se eu configurar KUBE_API_ADDRESS com o valor abaixo
KUBE_API_ADDRESS="--insecure-bind-address=0.0.0.0"
funciona bem.

Eu estava tentando obter o status do sistema remoto usando o ansible e estava enfrentando o mesmo problema.
Eu tentei e funcionou.
kubectl --kubeconfig ./admin.conf obtém pods --all-namespaces -o wide

Semelhante a @sumitkau , resolvi meu problema ao definir o novo local de configuração do kubelet usando:
kubectl --kubeconfig /etc/kubernetes/admin.conf não obtém
Você também pode copiar /etc/kubernetes/admin.conf para ~/.kube/config e funciona, mas não sei se é um bom trabalho ou não!

atualize a entrada em /etc/kubernetes/apiserver (no servidor mestre)
KUBE_API_PORT="--port=8080"
então faça um systemctl reinicie o kube-apiserver

Se isso acontecer no GCP, o procedimento abaixo provavelmente resolverá o problema:

gcloud container clusters get-credentials your-cluster --zone your-zone --project your-project

Obrigado a @mamirkhani. Eu resolvi esse erro.
No entanto, acabei de encontrar essas informações na saída "kubeadm init":
_Seu mestre do Kubernetes foi inicializado com sucesso!
Para começar a usar seu cluster, você precisa executar (como usuário comum):
sudo cp /etc/kubernetes/admin.conf $HOME/
sudo chown $(id -u):$(id -g) $HOME/admin.conf
export KUBECOFIG=$HOME/admin.conf_

Acho que esta é a solução recomendada.

Eu tive o mesmo problema. Ao criar o cluster via web gui no google cloud e tentar executar o kubectl, recebo

The connection to the server localhost:8080 was refused - did you specify the right host or port?

tudo o que você precisa fazer é buscar a configuração do kubectl para o seu cluster, que será armazenado em $HOME/.kubectl/config:

$ gcloud container clusters get-credentials guestbook2
Fetching cluster endpoint and auth data.
kubeconfig entry generated for guestbook2.

Agora kubectl funciona muito bem

kubectl está esperando ~/.kube/config como o nome do arquivo para sua configuração.

A solução rápida que funcionou para mim foi criar um link simbólico:

ln -s ~/.kube/config.conjure-canonical-kubern-e82 ~/.kube/config

NB Isso foi para uma implantação "conjurar kubernetes".

Este problema tem me confundido por 1 semana, parece estar funcionando para mim agora. Se você tiver esse problema, antes de tudo, você precisa saber em qual nó isso acontece.

Se for um nó mestre, verifique se todos os pods do kubernetes estão sendo executados por comando
kubectl get pods --all-namespaces ,

o meu esta assim
kube-system etcd-kubernetes-master01 1/1 Running 2 6d kube-system kube-apiserver-kubernetes-master01 1/1 Running 3 6d kube-system kube-controller-manager-kubernetes-master01 1/1 Running 2 6d kube-system kube-dns-2425271678-3kkl1 3/3 Running 6 6d kube-system kube-flannel-ds-brw34 2/2 Running 6 6d kube-system kube-flannel-ds-psxc8 2/2 Running 7 6d kube-system kube-proxy-45n1h 1/1 Running 2 6d kube-system kube-proxy-fsn6f 1/1 Running 2 6d kube-system kube-scheduler-kubernetes-master01 1/1 Running 2 6d

caso contrário, verifique se você tem esses arquivos em seu diretório /etc/kubernetes/,
admin.conf controller-manager.conf kubelet.conf manifests pki scheduler.conf , se você fizer isso, copie esses arquivos com um usuário normal (não usuário ROOT)
mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config

e veja se a versão do kubectl funciona ou não, se ainda não funcionar, siga o tutorial em https://kubernetes.io/docs/setup/independent/create-cluster-kubeadm/ e destrua seu cluster e reconstrua seu mestre.

Se isso acontecer em nós (escravos), verifique se você tem os arquivos
kubelet.conf manifests pki
no seu diretório de /etc/kubernetes/, e neste kubelet.conf, o campo do servidor deve apontar para o seu IP mestre, que é a mesma configuração do seu nó mestre admin.conf,
Se você não possui o kubelet.conf, provavelmente é porque você não executou o comando para unir seus nós com seu mestre
kubeadm join --token f34tverg45ytt34tt 192.168.1.170:6443 , você deve obter este comando (token) após a criação do nó mestre.

após o login como usuário normal no nó (escravo), você provavelmente não verá um arquivo de configuração em seu ~/.kube, então crie esta pasta e copie _admin.conf_ do seu nó mestre para seu diretório ~/.kube/ neste diretório (escravo ) como _config_ com um usuário normal e, em seguida, faça a cópia e tente a versão kubectl, funciona para mim.

Embora eu saiba que pode haver vários motivos para falha aqui, no meu caso, a remoção de ~/.kube/cache ajudou imediatamente.

Eu tenho esses problemas. Esta solução funciona para mim:

sudo cp /etc/kubernetes/admin.conf $HOME/
sudo chown $(id -u):$(id -g) $HOME/admin.conf
export KUBECONFIG=$HOME/admin.conf

Se você não tem admin.conf , por favor instale kubeadm
E, em seguida, remova ~/.kube/cache

rm -rf ~/.kube/cache

Você precisa mudar o contexto.
kubectl config use-context docker-for-desktop

Oi equipe,

precisamos instalar o sap vora, para isso o kubernetes e o Docker são pré-requisitos. instalamos kubernetes master e kubectl, docker . mas quando estamos verificando

kubectl cluster-info

despejo de informações do cluster kubectl

09-05-2018 06:47:57.905806 I | proto: tipo de proto duplicado registrado: google.protobuf.Any
09-05-2018 06:47:57.905997 I | proto: tipo de proto duplicado registrado: google.protobuf.Duration
09-05-2018 06:47:57.906019 I | proto: tipo de proto duplicado registrado: google.protobuf.Timestamp
A conexão com o servidor 10.xxx:6443 foi recusada - você especificou o host ou a porta correta?

quando verificamos o status do systemctl kubelet -l

kubelet.service - Kubernetes Kubelet Server
Carregado: carregado (/usr/lib/systemd/system/kubelet.service; ativado)
Ativo: falhou (Resultado: start-limit) desde qua 2018-05-09 04:17:21 EDT; 2h 28min atrás
Documentos: https://github.com/GoogleCloudPlatform/kubernetes
Processo: 2513 ExecStart=/usr/bin/hyperkube kubelet $ KUBE_LOGTOSTDERR $ KUBE_LOG_LEVEL $ KUBELET_API_SERVER $ KUBELET_ADDRESS $ KUBELET_PORT $ KUBELET_HOSTNAME $ KUBELET_ALLOW_PRIV $ KUBELET_INITIAL_ARGS $ KUBELET_ARGS (código = encerrado, status = 203/EXEC)
PID principal: 2513 (código=saída, status=203/EXEC)

nós executamos as configurações abaixo

sudo cp /etc/kubernetes/admin.conf $HOME/
sudo chown $(id -u):$(id -g) $HOME/admin.conf
export KUBECOFIG=$HOME/admin.conf

mas não adianta. alguém pode ajudar

Saudações
karthik

Eu tenho esses problemas. Esta solução funciona para mim:
export KUBECOFIG=/etc/kubernetes/admin.conf

HI mapeado,

Exportei acima do env, mas não adianta. obtendo o mesmo erro.

15-05-2018 04:27:32.221744 I | proto: tipo de proto duplicado registrado: google.protobuf.Any
15-05-2018 04:27:32.221912 I | proto: tipo de proto duplicado registrado: google.protobuf.Duration
15-05-2018 04:27:32.221936 I | proto: tipo de proto duplicado registrado: google.protobuf.Timestamp
A conexão com o servidor 10.xxx:6443 foi recusada - você especificou o host ou a porta correta

Eu também mudei o serviço kubelet e as entradas do arquivo de configuração, ainda sem uso.

Cumprimentos
karthik

Olá Karthik,

Talvez você possa tentar verificar o log sobre o serviço kubelet.

estou ficando acima do erro

[admin ~]$ kubectl cluster-info
Kubernetes master is running at https://xxxxx:6443

To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.
The connection to the server xxxxx:6443 was refused - did you specify the right host or port?
[admin~]$ kubectl cluster-info dump
The connection to the server xxxx:6443 was refused - did you specify the right host or port?

Obtendo o mesmo erro ao usar kubectl get pods --all-namespaces

Olá estou recebendo o seguinte erro no Centos 7, como posso resolver esse problema?

[root@ip-172-31-11-12 system]# kubectl get nodes
The connection to the server localhost:8080 was refused - did you specify the right host or port?

Eu acho que você não instalou o kubeadm .... instale o kubeadm primeiro e depois tente

Ok vai fazer isso

Em segunda-feira, 17 de setembro de 2018 às 08:04, Karthik Nair [email protected] escreveu:

Olá estou recebendo o seguinte erro no Centos 7, como posso resolver isso
emitir?

[ root@ip-172-31-11-12 system]# kubectl get nodes
A conexão com o servidor localhost:8080 foi recusada - você especificou o host ou a porta correta?

Eu acho que você não instalou o kubeadm .... instale o kubeadm primeiro e depois
experimentar


Você está recebendo isso porque está inscrito neste tópico.
Responda a este e-mail diretamente, visualize-o no GitHub
https://github.com/kubernetes/kubernetes/issues/23726#issuecomment-421909051 ,
ou silenciar o thread
https://github.com/notifications/unsubscribe-auth/AkFH4U0Cwjeg2Y4sL8irk5velVQDj6u2ks5ub0lzgaJpZM4H9nxM
.

>

Atenciosamente,

Bishnu Sunuwar

Você deve executar esses comandos primeiro -

[ user@k8s-master ~]# mkdir -p $HOME/.kube
[ user@k8s-master ~]# cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
[ user@k8s-master ~]# chown $(id -u):$(id -g) $HOME/.kube/config

Executando no Mac OS High Sierra, resolvi isso habilitando o Kubernetes embutido no próprio Docker.

screen shot 2018-10-16 at 12 48 10 pm

screen shot 2018-10-16 at 12 48 49 pm

Estou recebendo um problema como "A conexão com o servidor 10.0.48.115:6443 foi recusada - você especificou o host ou a porta correta?"

versão kubectl

Versão do cliente: version.Info{Major:"1", Minor:"12", GitVersion:"v1.12.1", GitCommit:"4ed3216f3ec431b140b1d899130a69fc671678f4", GitTreeState:"clean", BuildDate:"2018-10-05T16:46: 06Z", GoVersion:"go1.10.4", Compilador:"gc", Plataforma:"linux/amd64"}
A conexão com o servidor 10.0.48.115:6443 foi recusada - você especificou o host ou a porta correta?

Quem pode ajudar nisso? apreciar

Excluiu a configuração antiga de ~/.kube e reiniciou o docker (para macos) e reconstruiu a pasta de configuração. Tudo bem agora quando eu faço 'kubectl get nodes'.

Exclua a máquina virtual do minikube e os arquivos de configuração, reinstale o minikube (v0.25.2), outras versões podem ter pits

$ minikube delete
$ rm -rf ~/.minikube
$ curl -Lo minikube https://storage.googleapis.com/minikube/releases/v0.25.2/minikube-linux-amd64 && chmod +x minikube && sudo mv minikube /usr/local/bin/

Use o comando abaixo. Funcionou para mim.

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

Use o comando abaixo. Funcionou para mim.

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

Obrigado! isso funcionou!

No meu caso, reiniciei o nó mestre do kubernetes e, ao reiniciar, a partição SWAP de troca de memória é habilitada por padrão

  1. sudo systemctl status kubelet
kubelet.service - kubelet: The Kubernetes Node Agent
   Loaded: loaded (/etc/systemd/system/kubelet.service; enabled; vendor preset: disabled)
  Drop-In: /etc/systemd/system/kubelet.service.d
           └─10-kubeadm.conf, 90-local-extras.conf
   Active: activating (auto-restart) (Result: exit-code) since 금 2018-04-20 15:27:00 KST; 6s ago
     Docs: http://kubernetes.io/docs/
  Process: 17247 ExecStart=/usr/bin/kubelet $KUBELET_KUBECONFIG_ARGS $KUBELET_SYSTEM_PODS_ARGS $KUBELET_NETWORK_ARGS $KUBELET_DNS_ARGS $KUBELET_AUTHZ_ARGS $KUBELET_CADVISOR_ARGS $KUBELET_CGROUP_ARGS $KUBELET_CERTIFICATE_ARGS $KUBELET_EXTRA_ARGS (code=exited, status=255)
 Main PID: 17247 (code=exited, status=255)
  1. sudo swapon -s
Filename    type        size    Used    priority
/dev/sda6   partition   950267  3580    -1
  1. sudo swapoff /dev/sda6

  2. sudo systemctl status kubelet

● kubelet.service - kubelet: The Kubernetes Node Agent
   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 Mon 2019-01-14 08:28:56 -05; 15min ago
     Docs: https://kubernetes.io/docs/home/
 Main PID: 7018 (kubelet)
    Tasks: 25 (limit: 3319)
   CGroup: /system.slice/kubelet.service
           └─7018 /usr/bin/kubelet --bootstrap-kubeconfig=/etc/kubernetes/bootstrap-kubelet.conf --kubeconfig=/etc/kubernetes
  1. kubectl get nodes
NAME        STATUS   ROLES    AGE   VERSION
k8smaster   Ready    master   47h   v1.13.2
k8snode1    Ready    <none>   45h   v1.13.2
k8snode2    Ready    <none>   45h   v1.13.2

Eu não executei isso.

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

causou o problema.

ip route add default via xxx.xxx.xxx.xxx no k8s master

$ kubectl apply -f Deployment.yaml
incapaz de reconhecer "Deployment.yaml": Obter http://localhost :8080/api?timeout=32s: dial tcp 127.0.0.1:8080: connect: connection recusada
incapaz de reconhecer "Deployment.yaml": Obter http://localhost :8080/api?timeout=32s: dial tcp 127.0.0.1:8080: connect: connection recusada

Executando no Mac OS High Sierra, resolvi isso habilitando o Kubernetes embutido no próprio Docker.

screen shot 2018-10-16 at 12 48 10 pm

screen shot 2018-10-16 at 12 48 49 pm

Funciona. Bem simples. Se você estiver usando um software de desktop, é melhor encontrar a solução na configuração de preferência primeiro. haha.

Executando no Mac OS High Sierra, resolvi isso habilitando o Kubernetes embutido no próprio Docker.

screen shot 2018-10-16 at 12 48 10 pm

screen shot 2018-10-16 at 12 48 49 pm

tks

bem, pode parecer estúpido, mas talvez você não tenha instalado o miniKube para executar seu cluster localmente

tente reinstalar o minikube se você tiver um ou tente usar kubectl proxy --port=8080 .

Ok, no docker para Mac (v 2.0.5.0) existem DUAS configurações que precisam ser alternadas.

docker

Certifique-se de que remove todos os recipientes

docker rm -f $(docker ps -aq)

Depois de verificar se todos os contêineres foram removidos, reinicie o kubelet

systemctl restart kubelet

[ mayuchau@cg-id .kube]$ kubectl obter nós
A conexão com o servidor localhost:8080 foi recusada - você especificou o host ou a porta correta?

Estou recebendo acima do erro. Eu tentei as soluções acima mencionadas, mas não funcionou para mim.

[ mayuchau@cg-id .kube]$ kubectl obter nós
A conexão com o servidor localhost:8080 foi recusada - você especificou o host ou a porta correta?

Estou recebendo acima do erro. Eu tentei as soluções acima mencionadas, mas não funcionou para mim.

Problema resolvido após verificar as permissões de /var/run/docker.sock no nó mestre

Aqui está como eu resolvi:

  1. Certifique-se de que o kubectl esteja instalado. Confira usando:
    gcloud components list
    Se não, instale o kubectl primeiro.

  2. Acesse o console do mecanismo Kubernetes do seu projeto na plataforma gcloud.

  3. Lá, conecte-se ao cluster no qual seu projeto reside. Ele fornecerá um comando que você executou no prompt/terminal de comando local. Por exemplo, ficará assim:

gcloud container clusters get-credentials <Cluster_Name> --zone <Zone> --project <Project_Id>

Após uma execução bem-sucedida deste comando, você poderá executar:
kubectl get nodes

Passando por este guia para configurar o kubernetes localmente via docker, acabo com a mensagem de erro conforme indicado acima.

Passos tomados:

  • export K8S_VERSION='1.3.0-alpha.1' (tentei 1.2.0 também)
  • copie e cole o comando docker run
  • baixe o binário kubectl apropriado e coloque PATH ( which kubectl funciona)
  • (opcionalmente) configurar o cluster
  • correr kubectl get nodes

Resumindo, sem mágica. Estou executando isso localmente no Ubuntu 14.04, docker 1.10.3. Se precisar de mais informações me avise

Obrigado!!!
Isso me lembrou que eu não tinha uma variável export em meu ~/.bashrc para uma variável de sistema KUBEKONFIG.
Adicionando isso resolveu meu problema!

Por exemplo:
### ADD in ~/.bashrc
export KUBECONFIG=$HOME/.kube/eksctl/clusters/serv-eks-dev

uma possível causa desse problema é que o current context na configuração do kube é excluído com alguma ferramenta e nenhum contexto atual permanece.

verificar com:

kubectl config get-contexts

e se não houver contexto current , faça um atual com:

kubectl config use-context <context name>

Eu enfrentei um problema semelhante que foi resolvido com
export KUBECONFIG=/etc/kubernetes/admin.conf

Se ajudar alguém (vim aqui pela pesquisa do Google sobre o erro), meu Docker Desktop para Mac tinha o Kubernetes desativado por padrão. Marcar Enabled Kubernetes e Apply & Restart resolveu o erro.
image

No Mac OS: Estou executando o Kubernetes localmente via Docker, para ser específico https://k3d.io/- Então, após a instalação, depois que o cluster for criado, se eu executar o comando kubectl cluster-info retorna
A conexão com o servidor 0.0.0.0:51939 foi recusada - você especificou o host ou a porta correta? Alguém tem alguma indicação para este problema?

PS: Docker , docker-machine instalado via Homebrew

O que kubectl config get-contexts retorna @navkmurthy?

navkmurthy$ k3d cluster create -p 5432:30080@agent [0] -p 9082:30081@agent [0] --agents 3 --update-default-kubeconfig
INFO[0000] Rede criada 'k3d-k3s-default'
INFO[0000] Volume criado 'k3d-k3s-default-images'
INFO[0001] Criando o nó 'k3d-k3s-default-server-0'
INFO[0001] Criando o nó 'k3d-k3s-default-agent-0'
INFO[0002] Criando o nó 'k3d-k3s-default-agent-1'
INFO[0003] Criando o nó 'k3d-k3s-default-agent-2'
INFO[0004] Criando LoadBalancer 'k3d-k3s-default-serverlb'
INFO[0024] Cluster 'k3s-default' criado com sucesso!
INFO[0024] Agora você pode usá-lo assim:
kubectl cluster-info
navkmurthy$ kubectl cluster-info

Para depurar e diagnosticar ainda mais problemas de cluster, use 'kubectl cluster-info dump'.
A conexão com o servidor 0.0.0.0:53706 foi recusada - você especificou o host ou a porta correta?

@paulmwatson

navkmurthy$ kubectl config get-contexts
NOME ATUAL CLUSTER AUTHINFO NAMESPACE

navkmurthy$

Esta página foi útil?
0 / 5 - 0 avaliações