# Instale e configure o kubectl no Windows

LLMS index: [llms.txt](/llms.txt)

---

## Antes de você começar

Você deve usar uma versão do kubectl que esteja próxima da versão do seu cluster. Por exemplo, um cliente v1.36 pode se comunicar com as versões v1.35, v1.36 e v1.37 da camada de gerenciamento. Usar a versão compatível mais recente do kubectl ajuda a evitar problemas inesperados.

## Instale o kubectl no Windows

Existem os seguintes métodos para instalar o kubectl no Windows:

- [Instale o binário kubectl no Windows (via download direto ou curl)](#install-kubectl-binary-on-windows-via-direct-download-or-curl)
- [Instale no Windows usando Chocolatey, Scoop ou winget](#install-nonstandard-package-tools)

### Instale o binário kubectl no Windows (via download direto ou curl) {#install-kubectl-binary-on-windows-via-direct-download-or-curl}

1. Você tem duas opções para instalar o kubectl em seu dispositivo Windows

   - Download direto:
     
     Baixe a última versão do patch 1.36 diretamente para sua arquitetura específica visitando a [pagina de lançamentos do Kubernetes](https://kubernetes.io/releases/download/#binaries). Certifique-se de selecionar o binário correto para a sua arquitetura. (e.g., amd64, arm64, etc.).
   
   - Usando curl:

     Se você tiver o `curl` instalado, use este comando:

     ```powershell
     curl.exe -LO "https://dl.k8s.io/release/v1.36.0/bin/windows/amd64/kubectl.exe"
     ```

   
<div class="alert alert-info" role="note"><h4 class="alert-heading">Nota</h4>Para descobrir a versão estável mais recente (por exemplo, para scripts), veja
<a href="https://dl.k8s.io/release/stable.txt">https://dl.k8s.io/release/stable.txt</a>.</div>


2. Validar o binário (opcional)

   Baixe o arquivo de checksum do `kubectl`:

   ```powershell
   curl.exe -LO "https://dl.k8s.io/v1.36.0/bin/windows/amd64/kubectl.exe.sha256"
   ```

   Valide o binário do `kubectl` com o arquivo de checksum:

   - Usando o Prompt de Comando para comparar manualmente a saída do `CertUtil` ao arquivo de checksum baixado:

     ```cmd
     CertUtil -hashfile kubectl.exe SHA256
     type kubectl.exe.sha256
     ```

   - Usando PowerShell para automatizar a verificação com o operador `-eq` para obter 
     um resultado `True` ou `False`:

     ```powershell
      $(Get-FileHash -Algorithm SHA256 .\kubectl.exe).Hash -eq $(Get-Content .\kubectl.exe.sha256)
     ```

3. Adicione (no início ou no final) o diretório do binário `kubectl` na variável de ambiente `PATH`.

4. Teste para garantir que a versão do `kubectl` seja a mesma que foi baixada:

   ```cmd
   kubectl version --client
   ```
   
   Ou use este comando para uma visão detalhada da versão:

   ```cmd
   kubectl version --client --output=yaml
   ```




<div class="alert alert-info" role="note"><h4 class="alert-heading">Nota</h4><a href="https://docs.docker.com/docker-for-windows/#kubernetes">Docker Desktop para Windows</a>
adiciona sua própria versão do <code>kubectl</code> ao <code>PATH</code>. Se você instalou o Docker Desktop anteriormente,
pode ser necessário colocar sua entrada no <code>PATH</code> antes da adicionada pelo instalador do Docker Desktop
ou remover o <code>kubectl</code> do Docker Desktop.</div>


### Instalar no Windows usando Chocolatey, Scoop, ou winget {#install-nonstandard-package-tools}

1. Para instalar o kubectl no Windows, você pode usar o gerenciador de pacotes [Chocolatey](https://chocolatey.org),
   o instalador de linha de comando [Scoop](https://scoop.sh) ou o gerenciador de pacotes
   [winget](https://learn.microsoft.com/en-us/windows/package-manager/winget/).

   <ul class="nav nav-tabs" id="tabs-kubectl-win-install" role="tablist"><li class="nav-item"><a data-bs-toggle="tab" class="nav-link active" href="#tabs-kubectl-win-install-0" role="tab" aria-controls="tabs-kubectl-win-install-0" aria-selected="true">choco</a></li>
	  
		<li class="nav-item"><a data-bs-toggle="tab" class="nav-link" href="#tabs-kubectl-win-install-1" role="tab" aria-controls="tabs-kubectl-win-install-1">scoop</a></li>
		<li class="nav-item"><a data-bs-toggle="tab" class="nav-link" href="#tabs-kubectl-win-install-2" role="tab" aria-controls="tabs-kubectl-win-install-2">winget</a></li></ul>

<div class="tab-content" id="tabs-kubectl-win-install-content"><div class="tab-body tab-pane fadeshow active"
        id="tabs-kubectl-win-install-0" role="tabpanel" aria-labelledby="tabs-kubectl-win-install-0-tab" tabindex="kubectl-win-install"><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-powershell" data-lang="powershell"><span class="line"><span class="cl"><span class="n">choco</span> <span class="n">install</span> <span class="nb">kubernetes-cli</span>
</span></span></code></pre></div></div><div class="tab-body tab-pane fade"
        id="tabs-kubectl-win-install-1" role="tabpanel" aria-labelledby="tabs-kubectl-win-install-1-tab" tabindex="kubectl-win-install"><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-powershell" data-lang="powershell"><span class="line"><span class="cl"><span class="n">scoop</span> <span class="n">install</span> <span class="n">kubectl</span>
</span></span></code></pre></div></div><div class="tab-body tab-pane fade"
        id="tabs-kubectl-win-install-2" role="tabpanel" aria-labelledby="tabs-kubectl-win-install-2-tab" tabindex="kubectl-win-install"><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-powershell" data-lang="powershell"><span class="line"><span class="cl"><span class="n">winget</span> <span class="n">install</span> <span class="n">-e</span> <span class="p">-</span><span class="n">-id</span> <span class="n">Kubernetes</span><span class="p">.</span><span class="py">kubectl</span>
</span></span></code></pre></div></div></div>


2. Teste para garantir que a versão que você instalou está atualizada:

   ```powershell
   kubectl version --client
   ```

3. Navegue até seu diretório pessoal:

   ```powershell
   # Se você estiver usando o cmd.exe, execute: cd %USERPROFILE%
   cd ~
   ```

4. Crie o diretório `.kube`:

   ```powershell
   mkdir .kube
   ```

5. Navegue para o diretório `.kube` que você acabou de criar:

   ```powershell
   cd .kube
   ```

6. Configure o kubectl para usar um cluster Kubernetes remoto:

   ```powershell
   New-Item config -type file
   ```


<div class="alert alert-info" role="note"><h4 class="alert-heading">Nota</h4>Edite o arquivo de configuração com um editor de texto de sua escolha, como o Notepad.</div>


## Verificar a configuração do kubectl


	<p>Para que o kubectl encontre e acesse um cluster Kubernetes, ele precisa de um
<a href="/pt-br/docs/concepts/configuration/organize-cluster-access-kubeconfig/">arquivo kubeconfig</a>,
que é criado automaticamente quando você cria um cluster usando
<a href="https://github.com/kubernetes/kubernetes/blob/master/cluster/kube-up.sh">kube-up.sh</a>
ou instala com sucesso um cluster Minikube.
Por padrão, a configuração kubectl está localizada em <code>~/.kube/config</code>.</p>
<p>Verifique se o kubectl está configurado corretamente obtendo o estado do cluster:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-shell" data-lang="shell"><span class="line"><span class="cl">kubectl cluster-info
</span></span></code></pre></div><p>Se você receber uma URL de resposta, o kubectl está configurado corretamente para
acessar seu cluster.</p>
<p>Se você receber uma mensagem semelhante à seguinte, o kubectl não está configurado
corretamente ou não consegue se conectar a um cluster Kubernetes.</p>
<pre tabindex="0"><code>The connection to the server &lt;server-name:port&gt; was refused - did you specify the right host or port?
</code></pre><p>Por exemplo, se você pretende executar um cluster Kubernetes no seu laptop
(localmente), precisará que uma ferramenta como o <a href="https://minikube.sigs.k8s.io/docs/start/">Minikube</a>
seja instalada primeiro, para em seguida executar novamente os comandos indicados acima.</p>
<p>Se o comando <code>kubectl cluster-info</code> retornar a URL de resposta, mas você não conseguir
acessar seu cluster, use o comando abaixo para verificar se ele está configurado
corretamente:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-shell" data-lang="shell"><span class="line"><span class="cl">kubectl cluster-info dump
</span></span></code></pre></div><h3 id="no-auth-provider-found">Depurando a mensagem de erro 'No Auth Provider Found'<a class="td-heading-self-link" href="#no-auth-provider-found" aria-label="Heading self-link"></a></h3>
<p>No Kubernetes 1.26, o kubectl removeu os autenticadores embutidos para as distribuições
de Kubernetes dos provedores de nuvem abaixo. Estes provedores lançaram plugins
para o kubectl que fornecem autenticação específica para a nuvem. Para instruções,
veja as seguintes documentações de cada provedor:</p>
<ul>
<li>Azure AKS: <a href="https://azure.github.io/kubelogin/">plugin kubelogin</a></li>
<li>Google Kubernetes Engine: <a href="https://cloud.google.com/kubernetes-engine/docs/how-to/cluster-access-for-kubectl#install_plugin">gke-gcloud-auth-plugin</a></li>
</ul>
<p>Também podem haver outras razões para que a mesma mensagem de erro ocorra, não
relacionadas a esta mudança.</p>


## Configurações e plugins opcionais do kubectl

### Ativar autocompletar no shell

O kubectl oferece suporte ao autocompletar para Bash, Zsh, Fish e PowerShell,
o que pode economizar tempo de digitação.

Abaixo estão os procedimentos para configurar o autocompletar no PowerShell.


	<p>O script de autocompletar do kubectl para PowerShell, pode ser gerado com o comando <code>kubectl completion powershell</code>.</p>
<p>Para fazer isso em todas as suas sessões de shell, adicione a seguinte linha ao seu arquivo <code>$PROFILE</code>:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-powershell" data-lang="powershell"><span class="line"><span class="cl"><span class="n">kubectl</span> <span class="n">completion</span> <span class="n">powershell</span> <span class="p">|</span> <span class="nb">Out-String</span> <span class="p">|</span> <span class="nb">Invoke-Expression</span>
</span></span></code></pre></div><p>Este comando irá regenerar o script de autocompletar toda vez que o PowerShell for iniciado. Você também pode adicionar o script gerado diretamente ao seu arquivo <code>$PROFILE</code>.</p>
<p>Para adicionar o script gerado ao seu arquivo <code>$PROFILE</code>, execute a seguinte linha no prompt do PowerShell:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-powershell" data-lang="powershell"><span class="line"><span class="cl"><span class="n">kubectl</span> <span class="n">completion</span> <span class="n">powershell</span> <span class="p">&gt;&gt;</span> <span class="nv">$PROFILE</span>
</span></span></code></pre></div><p>Após recarregar seu shell, o autocompletar do kubectl deve estar funcionando.</p>


### Instalar o plugin `kubectl convert`


	<p>Um plugin para a ferramenta Kubernetes de linha de comando <code>kubectl</code>, que permite converter manifestos entre diferentes versões da API.
Isso pode ser particularmente útil para migrar manifestos para uma versão não obsoleta com a versão mais recente da API Kubernetes.
Para mais informações, visite <a href="/docs/reference/using-api/deprecation-guide/#migrate-to-non-deprecated-apis">Migrar para APIs não obsoletas</a></p>


1. Baixe a última versão com este comando:

   ```powershell
   curl.exe -LO "https://dl.k8s.io/release/v1.36.0/bin/windows/amd64/kubectl-convert.exe"
   ```

2. Validar o binário (opcional).

   Baixe o arquivo de checksum do `kubectl-convert`:

   ```powershell
   curl.exe -LO "https://dl.k8s.io/v1.36.0/bin/windows/amd64/kubectl-convert.exe.sha256"
   ```

   Valide o binário do `kubectl-convert` com o arquivo de checksum:

   - Usando o Prompt de Comando para comparar manualmente a saída do `CertUtil` ao arquivo de checksum baixado:

     ```cmd
     CertUtil -hashfile kubectl-convert.exe SHA256
     type kubectl-convert.exe.sha256
     ```

   - Usando PowerShell para automatizar a verificação com o operador `-eq` para obter 
     um resultado `True` ou `False`:

     ```powershell
     $($(CertUtil -hashfile .\kubectl-convert.exe SHA256)[1] -replace " ", "") -eq $(type .\kubectl-convert.exe.sha256)
     ```

3. Adicione (no início ou no final) o diretório do binário `kubectl-convert` na variável de ambiente `PATH`.

4. Verifique se o plugin foi instalado com sucesso.

   ```shell
   kubectl convert --help
   ```

   Se você não ver um erro, isso significa que o plugin foi instalado com sucesso.

5. Após instalar o plugin, limpe os arquivos de instalação:

   ```powershell
   del kubectl-convert.exe
   del kubectl-convert.exe.sha256
   ```

## Próximos passos


	<ul>
<li><a href="https://minikube.sigs.k8s.io/docs/start/">Instale o Minikube</a></li>
<li>Veja os <a href="/pt-br/docs/setup/">guias de introdução</a> para saber mais sobre a criação de clusters.</li>
<li><a href="/docs/tasks/access-application-cluster/service-access-application-cluster/">Saiba como iniciar e publicar sua aplicação.</a></li>
<li>Se você precisar de acesso a um cluster que não criou, consulte <a href="/pt-br/docs/tasks/access-application-cluster/configure-access-multiple-clusters/">Compartilhamento de Acesso ao Cluster</a></li>
<li>Leia os <a href="/docs/reference/kubectl/kubectl/">documentos de referência kubectl</a></li>
</ul>
