Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

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!