14
respostas

Não consigo instalar o kubectl no Windows 10

Oi pessoal, eu estou com problemas para instalar o kubectl no Windows 10, alguém pode me ajudar? Eu observei o tutorial encaminhado em um post aqui no fórum, mas não deu certo o processo.

14 respostas

Olá Jackson, tudo bem? Você poderia verificar na nessa parte da documentação, mas a instalação apenas do kubectl no Windows é simples, e tem algumas formas.

A mais simples é baixar o binário do kubectl atraves do curl da seguinte forma:

curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.18.0/bin/windows/amd64/kubectl.exe

Logo em seguida você precisa adicionar esse binário baixando anteriormente no seu PATH, e depois verificar se a instalação deu certo com o seguinte comando kubectl version --client`.

Outra forma é usando o PowerShell e ainda é possível instalar usando o Chocolatey.

Poderia tentar dessa forma que eu mencionei acima e fala se deu certo!

Olá Jonilson, tudo bem!! Eu conseguir realizar o processo utilizando o programa Docker Desktop. Caso alguém esteja com esse problema: uma forma simples e prática é acessar o icone do Docker que fica na barra de icones ocultos > clicar com o botão direito do mouse em cima de icone da baleia do docker > Settings > lado esquerdo Kubernetes > marque a opção: Enable Kubernetes. Aguarde até o término, observe que na parte inferior existe uma bolinha que estará na cor laranja, após o término quando o Kubernetes estiver sendo executado irá ficar verde.

Para finalizar faça um teste no powershell digite:
 kubectl get nodes

Eu permaneço com dúvidas na instalação pela linha de comando, por favor Jonilson você pode me ajudar com essas dúvidas? Eu já verifiquei que só é possivel pelo menos na minha máquina baixar o binário pelo Prompt de Comando do Windows (cmd), as minhas dúvidas são: 1 - Qual pasta eu deverei acessar no Windows para baixar com a linha de comando que você me informou e deixar o binário? 2 - Me explique o passo a passo de adicionar o binário no Path?

Certo Jackson, bem você pode continuar a usar o Kubernetes pela linha de comando, e essa semana foi até lançado um novo curso de Kubernetes com muitas atualizações pode ser bem interessante acompanhar esse novo curso.

Mas o passo a passo é bem simples, como é usando o binário você pode baixar em qualquer lugar da máquina, eu particularmente acho melhor colocar no disco local C, então entre dentro do disco "C" pelo terminal e executa o download via curl como mencionei no post anterior. Depois é só ir pelo Windows Explorer mesmo e pegar o caminho, depois você pode seguir os passos para adicionar ao PATH:

  • Acesse Painel de Controle;

  • Clique em Sistema e Segurança;

  • Clique emSistema;

  • Clique em Configurações avançadas do sistema;

  • Acesse Avançado e clique em Variáveis de Ambiente;

  • Em Variáveis do sistema localize a variável PATH e clique em editar.

Então você pode adicionar o caminho completo onde está o kubectl.exe.

Espero ter ajudado!

Eu executei todas as etapas acima, após finalizar e testa o script kubectl get nodes no Powershell ocorreu o erro:

Unable to connect to the server: dial tcp [::1]:8080: connectex: Nenhuma conexão pôde ser feita porque a máquina de destino as recusou ativamente.

Então o kubectl foi instalado com sucesso, porém o problema agora é a conexão, nesse caso é preciso configurar o contexto, no caso precisamos indicar a qual cluster o kubectl vai se conectar. Agora como você fez a instalação do minikube? Foi usando o VirtualBox ou foi usando o hyperv? O minikube está em execução? Outra coisa, você poderia executar o comando abaixo colocar aqui o resultado:

kubectl config get-contexts

Esse comando deve listar os contextos do kubectl , que são os clusters. Você poderia também executar esse outro comando para exibir as configurações do kubeconfig:

kubectl config view

E fala pra gente os resultados desses comandos!

Sim, eu instalei a VirtualBox 6.1, não conseguir resolver, depois instalei o Minikube via arquivo executável, versão 1.12.3. Eu permaneço com a VirtualBox e Minikube instalados, porém contiua apresentar a mensagem de erro informada anteriormente.

kubectl config get-contexts

PS C:\Windows\system32> kubectl config get contexts
error: unknown command "get contexts"
See 'kubectl config -h' for help and examples

kubectl config view

PS C:\Windows\system32> kubectl config view
apiVersion: v1
clusters: []
contexts: []
current-context: ""
kind: Config
preferences: {}
users: []
PS C:\Windows\system32>

Jackson, você definiu também a variável de ambiente KUBECONFIG ? Você deve criar essa variavel de ambiente também e colocar o caminho:

C:\Users\<seu_nome_de_usuario>\.kube\config

E depois tenta iniciar primeiro o minikube e depois executar o kubectl, e fala pra gente o resultado!

Jonilson eu movi o arquivo binário para dentro da pasta config e depois configurei a variável de ambiente no caminho abaixo:

C:\Users\Samuel.kube\config

Depois executei no Powershell os comandos abaixo:

minikube start:

* minikube is exiting due to an error. If the above message is not useful, open an issue:
  - https://github.com/kubernetes/minikube/issues/new/choose
PS C:\Users\Samuel>

kubectl get pods

PS C:\Users\Samuel> kubectl get pods
error: error loading config file "C:\Users\Samuel/.kube/config": read C:\Users\Samuel/.kube/config: The handle is invalid.
PS C:\Users\Samuel>

Permanece com erro!!

Jackson, quando você executa o comando:

minikube start

Apresenta o erro informando que o minikube saiu, ou seja não conseguiu ser inicializado por algum motivo, então executa o comando:

minikube logs

E coloca a saída aqui pra gente poder verificar.

Agora sobre o kubectl, você configurou exatamente esse caminho C:\Users\Samuel.kube\config? Porque note que está faltando um barra, deveria ser da seguinte forma:

C:\Users\Samuel\.kube\config

Jonilson, eu configurei certo, foi erro na página aqui da Alura quando eu apertei o enter ele desaparece a barra. Caminho C:\Users\Jackson.kube\config

link do log:

https://drive.google.com/file/d/12lE0-iUulfVYqHVBFZP5tkm6gYVZI_zd/view?usp=sharing

Me parece que esse é um problema que está acontecendo nas últimas versões do minikube, como é relatado nessa Issue do GitHub do minikube, e muitos estão relatando o mesmo problema no Windows, e também apontaram algumas alternativas que você pode tentar:

  • Excluir e iniciar novamente o minikube:

    minikube delete
    minikube start
  • Também foi relatado que estava funcionando usando o Hyperv, então você pode tentar (executar o terminal como administrador):

    minikube delete
    minikube start --vm-driver hyperv

E fala o resultado pra gente!

minikube delete

PS C:\WINDOWS\system32> minikube delete

  • Deleting "minikube" in docker ...
  • Deleting container "minikube" ...
  • Removing C:\Users\Samuel.minikube\machines\minikube ...
  • Trying to delete invalid profile minikube PS C:\WINDOWS\system32>
    minikube start
    PS C:\WINDOWS\system32> minikube start
  • minikube v1.12.3 on Microsoft Windows 10 Pro 10.0.19041 Build 19041
  • Automatically selected the docker driver ! Requested memory allocation (1991MB) is less than the recommended minimum 2000MB. Kubernetes may crash unexpectedly.
  • Starting control plane node minikube in cluster minikube
  • Pulling base image ...
  • Creating docker container (CPUs=2, Memory=1991MB) ...
  • Preparing Kubernetes v1.18.3 on Docker 19.03.8 ... * X failed to start node: startup failed: Failed to update kubeconfig file.: Error reading file "C:\Users\Samuel/.kube/config": read C:\Users\Samuel/.kube/config: The handle is invalid. *
  • minikube is exiting due to an error. If the above message is not useful, open an issue:
minikube start --vm-driver hyperv

PS C:\WINDOWS\system32> minikube start --vm-driver hyperv

  • minikube v1.12.3 on Microsoft Windows 10 Pro 10.0.19041 Build 19041
  • Using the hyperv driver based on user configuration

! 'hyperv' driver reported an issue: C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe @(Get-Wmiobject Win32_ComputerSystem).HypervisorPresent failed:

X hyperv does not appear to be installed PS C:\WINDOWS\system32>

Jackson, antes de você executar o comando minikube start --vm-driver hyperv você tinha executado o comando minikube delete novamente? Já que você executou o comando minikube start e deu erro, então tenta deletar novamente minikube delete e depois executar o comando:

minikube start --vm-driver hyperv

Mas acho que também não deve funcionar, é só para desencargo de consciência.

Agora uma coisa bem estranha é esse caminho bagunçado:

C:\Users\Samuel/.kube/config

Note que as primeiras duas barras são invertidas ( ** ), já as duas últimas não ( **/ ), então, pelo que pude entender nessa Issue, o problema parece ser o caminho mesmo, e isso foi corrigido na versão v1.6.1, que você pode baixar nesse link, e notei que você está usando a versão v1.12.3 do minikube, então indico que desistale essa versão v1.12.3 e instale a versão v1.6.1.

E então fala pra gente se deu certo!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software