# Instale e configure o kubectl no Linux

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 Linux

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

- [Instale o binário kubectl no Linux usando o curl](#instale-o-binário-kubectl-no-linux-usando-o-curl)
- [Instale usando o gerenciador de pacotes nativo](#instale-usando-o-gerenciador-de-pacotes-nativo)
- [Instale usando outro gerenciador de pacotes](#instale-usando-outro-gerenciador-de-pacotes)


### Instale o binário kubectl no Linux usando o curl

1. Faça download da versão mais recente com o comando:

	<ul class="nav nav-tabs" id="tabs-download-binary-linux" role="tablist"><li class="nav-item"><a data-bs-toggle="tab" class="nav-link active" href="#tabs-download-binary-linux-0" role="tab" aria-controls="tabs-download-binary-linux-0" aria-selected="true">x86-64</a></li>
	  
		<li class="nav-item"><a data-bs-toggle="tab" class="nav-link" href="#tabs-download-binary-linux-1" role="tab" aria-controls="tabs-download-binary-linux-1">ARM64</a></li></ul>

<div class="tab-content" id="tabs-download-binary-linux-content"><div class="tab-body tab-pane fadeshow active"
        id="tabs-download-binary-linux-0" role="tabpanel" aria-labelledby="tabs-download-binary-linux-0-tab" tabindex="download-binary-linux"><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">    curl -LO <span class="s2">&#34;https://dl.k8s.io/release/</span><span class="k">$(</span>curl -L -s https://dl.k8s.io/release/stable.txt<span class="k">)</span><span class="s2">/bin/linux/amd64/kubectl&#34;</span>
</span></span><span class="line"><span class="cl">	</span></span></code></pre></div></div><div class="tab-body tab-pane fade"
        id="tabs-download-binary-linux-1" role="tabpanel" aria-labelledby="tabs-download-binary-linux-1-tab" tabindex="download-binary-linux"><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">	curl -LO <span class="s2">&#34;https://dl.k8s.io/release/</span><span class="k">$(</span>curl -L -s https://dl.k8s.io/release/stable.txt<span class="k">)</span><span class="s2">/bin/linux/arm64/kubectl&#34;</span>
</span></span><span class="line"><span class="cl">	</span></span></code></pre></div></div></div>


   
<div class="alert alert-info" role="note"><h4 class="alert-heading">Nota</h4><p>Para fazer o download de uma versão específica, substitua a parte <code>$(curl -L -s https://dl.k8s.io/release/stable.txt)</code> do comando pela versão específica.</p>
<p>Por exemplo, para fazer download da versão 1.36.0 no Linux x86-64, digite:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">curl -LO https://dl.k8s.io/release/v1.36.0/bin/linux/amd64/kubectl
</span></span></code></pre></div><p>E para Linux ARM64, digite:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">curl -LO https://dl.k8s.io/release/v1.36.0/bin/linux/arm64/kubectl
</span></span></code></pre></div></div>


1. Valide o binário (opcional)

   Faça download do arquivo checksum de verificação do kubectl:
   
   <ul class="nav nav-tabs" id="tabs-download-checksum-linux" role="tablist"><li class="nav-item"><a data-bs-toggle="tab" class="nav-link active" href="#tabs-download-checksum-linux-0" role="tab" aria-controls="tabs-download-checksum-linux-0" aria-selected="true">x86-64</a></li>
	  
		<li class="nav-item"><a data-bs-toggle="tab" class="nav-link" href="#tabs-download-checksum-linux-1" role="tab" aria-controls="tabs-download-checksum-linux-1">ARM64</a></li></ul>

<div class="tab-content" id="tabs-download-checksum-linux-content"><div class="tab-body tab-pane fadeshow active"
        id="tabs-download-checksum-linux-0" role="tabpanel" aria-labelledby="tabs-download-checksum-linux-0-tab" tabindex="download-checksum-linux"><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">   curl -LO <span class="s2">&#34;https://dl.k8s.io/release/</span><span class="k">$(</span>curl -L -s https://dl.k8s.io/release/stable.txt<span class="k">)</span><span class="s2">/bin/linux/amd64/kubectl.sha256&#34;</span>
</span></span><span class="line"><span class="cl">   </span></span></code></pre></div></div><div class="tab-body tab-pane fade"
        id="tabs-download-checksum-linux-1" role="tabpanel" aria-labelledby="tabs-download-checksum-linux-1-tab" tabindex="download-checksum-linux"><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">   curl -LO <span class="s2">&#34;https://dl.k8s.io/release/</span><span class="k">$(</span>curl -L -s https://dl.k8s.io/release/stable.txt<span class="k">)</span><span class="s2">/bin/linux/arm64/kubectl.sha256&#34;</span>
</span></span><span class="line"><span class="cl">   </span></span></code></pre></div></div></div>


   Valide o binário kubectl em relação ao arquivo de verificação:

   ```bash
   echo "$(cat kubectl.sha256)  kubectl" | sha256sum --check
   ```

   Se válido, a saída será:

   ```console
   kubectl: OK
   ```

   Se a verificação falhar, o `sha256` exibirá o status diferente de zero e a saída será semelhante a:

   ```console
   kubectl: FAILED
   sha256sum: WARNING: 1 computed checksum did NOT match
   ```

   
<div class="alert alert-info" role="note"><h4 class="alert-heading">Nota</h4>Faça download da mesma versão do binário e do arquivo de verificação.</div>


1. Instale o kubectl

   ```bash
   sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl
   ```

   
<div class="alert alert-info" role="note"><h4 class="alert-heading">Nota</h4><p>Se você não tiver acesso root no sistema de destino, ainda poderá instalar o kubectl no diretório <code>~/.local/bin</code>:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">chmod +x kubectl
</span></span><span class="line"><span class="cl">mkdir -p ~/.local/bin
</span></span><span class="line"><span class="cl">mv ./kubectl ~/.local/bin/kubectl
</span></span><span class="line"><span class="cl"><span class="c1"># e depois adicione ~/.local/bin na variável $PATH</span>
</span></span></code></pre></div></div>


1. Teste para garantir que a versão que você instalou esteja atualizada:

   ```bash
   kubectl version --client
   ```

   Ou use isso para visualizar mais detalhes da versão:

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

### Instale usando o gerenciador de pacotes nativo

<ul class="nav nav-tabs" id="tabs-kubectl-install" role="tablist"><li class="nav-item"><a data-bs-toggle="tab" class="nav-link active" href="#tabs-kubectl-install-0" role="tab" aria-controls="tabs-kubectl-install-0" aria-selected="true">Distribuições baseadas no Debian</a></li>
	  
		<li class="nav-item"><a data-bs-toggle="tab" class="nav-link" href="#tabs-kubectl-install-1" role="tab" aria-controls="tabs-kubectl-install-1">Distribuições baseadas no Red Hat</a></li>
		<li class="nav-item"><a data-bs-toggle="tab" class="nav-link" href="#tabs-kubectl-install-2" role="tab" aria-controls="tabs-kubectl-install-2">Distribuições baseadas em SUSE</a></li></ul>

<div class="tab-content" id="tabs-kubectl-install-content"><div class="tab-body tab-pane fadeshow active"
        id="tabs-kubectl-install-0" role="tabpanel" aria-labelledby="tabs-kubectl-install-0-tab" tabindex="kubectl-install"><ol>
<li>
<p>Atualize o índice do <code>apt</code> e instale os pacotes necessários para utilizar o repositório <code>apt</code> do Kubernetes:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-shell" data-lang="shell"><span class="line"><span class="cl">sudo apt-get update
</span></span><span class="line"><span class="cl"><span class="c1"># apt-transport-https pode ser um pacote simbólico; se for o caso, você pode ignorá-lo</span>
</span></span><span class="line"><span class="cl">sudo apt-get install -y apt-transport-https ca-certificates curl gnupg
</span></span></code></pre></div></li>
<li>
<p>Faça download da chave de assinatura pública para os  repositórios de pacote do Kubernetes. A mesma chave de assinatura é usada para todos os repositórios, então você pode desconsiderar a versão na URL:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-shell" data-lang="shell"><span class="line"><span class="cl"><span class="c1"># Se a pasta `/etc/apt/keyrings` não existir, ela deve ser criada antes do comando curl, leia a nota abaixo.</span>
</span></span><span class="line"><span class="cl"><span class="c1"># sudo mkdir -p -m 755 /etc/apt/keyrings</span>
</span></span><span class="line"><span class="cl">curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.36/deb/Release.key <span class="p">|</span> sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg
</span></span><span class="line"><span class="cl">sudo chmod <span class="m">644</span> /etc/apt/keyrings/kubernetes-apt-keyring.gpg <span class="c1"># permitir que programas APT sem acesso privilegiado leiam este keyring</span>
</span></span></code></pre></div></li>
</ol>
<div class="alert alert-info" role="note"><h4 class="alert-heading">Nota</h4>Em releases mais antigos que o Debian 12 e Ubuntu 22.04, a pasta <code>/etc/apt/keyrings</code> não existe por padrão, e ela deve ser criada antes do comando curl.</div>
<ol start="3">
<li>
<p>Adicione o repositório <code>apt</code> do Kubernetes. Se você quiser usar uma versão do Kubernetes diferente de v1.36,
substitua v1.36 com a versão menor desejada no comando a seguir:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-shell" data-lang="shell"><span class="line"><span class="cl"><span class="c1"># Isto substitui qualquer configuração existente na pasta /etc/apt/sources.list.d/kubernetes.list</span>
</span></span><span class="line"><span class="cl"><span class="nb">echo</span> <span class="s1">&#39;deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.36/deb/ /&#39;</span> <span class="p">|</span> sudo tee /etc/apt/sources.list.d/kubernetes.list
</span></span><span class="line"><span class="cl">sudo chmod <span class="m">644</span> /etc/apt/sources.list.d/kubernetes.list <span class="c1"># ajuda ferramentas tais como command-not-found a funcionar corretamente</span>
</span></span></code></pre></div></li>
</ol>
<div class="alert alert-info" role="note"><h4 class="alert-heading">Nota</h4>Para atualizar o kubectl para outra versão menor, você vai precisar atualizar a versão no arquivo <code>/etc/apt/sources.list.d/kubernetes.list</code> antes de rodar <code>apt-get update</code> e <code>apt-get upgrade</code>. Este procedimento está descrito com mais detalhes em <a href="/docs/tasks/administer-cluster/kubeadm/change-package-repository/">Mudando o Repositório de Pacotes do Kubernetes</a> (em inglês).</div>
<ol start="4">
<li>
<p>Atualize o índice do <code>apt</code> com o novo repositório e instale o kubectl:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-shell" data-lang="shell"><span class="line"><span class="cl">sudo apt-get update
</span></span><span class="line"><span class="cl">sudo apt-get install -y kubectl
</span></span></code></pre></div></li>
</ol>
</div><div class="tab-body tab-pane fade"
        id="tabs-kubectl-install-1" role="tabpanel" aria-labelledby="tabs-kubectl-install-1-tab" tabindex="kubectl-install"><ol>
<li>
<p>Adicione o repositório <code>yum</code> do Kubernetes. Se você quiser usar uma versão do
Kubernetes diferente de v1.36, substitua v1.36
pela versão menor desejada no comando a seguir.</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="c1"># Isto substitui qualquer configuração existente na pasta /etc/yum.repos.d/kubernetes.repo</span>
</span></span><span class="line"><span class="cl">cat <span class="s">&lt;&lt;EOF | sudo tee /etc/yum.repos.d/kubernetes.repo
</span></span></span><span class="line"><span class="cl"><span class="s">[kubernetes]
</span></span></span><span class="line"><span class="cl"><span class="s">name=Kubernetes
</span></span></span><span class="line"><span class="cl"><span class="s">baseurl=https://pkgs.k8s.io/core:/stable:/v1.36/rpm/
</span></span></span><span class="line"><span class="cl"><span class="s">enabled=1
</span></span></span><span class="line"><span class="cl"><span class="s">gpgcheck=1
</span></span></span><span class="line"><span class="cl"><span class="s">gpgkey=https://pkgs.k8s.io/core:/stable:/v1.36/rpm/repodata/repomd.xml.key
</span></span></span><span class="line"><span class="cl"><span class="s">EOF</span>
</span></span></code></pre></div></li>
</ol>
<div class="alert alert-info" role="note"><h4 class="alert-heading">Nota</h4>Para atualizar o kubectl para outra versão menor, você vai precisar atualizar a versão no arquivo <code>/etc/yum.repos.d/kubernetes.repo</code> antes de rodar <code>yum update</code>. Este procedimento está descrito com mais detalhes em <a href="/docs/tasks/administer-cluster/kubeadm/change-package-repository/">Mudando o Repositório de Pacotes do Kubernetes</a> (em inglês).</div>
<ol start="2">
<li>
<p>Instale o kubectl usando <code>yum</code>:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">sudo yum install -y kubectl
</span></span></code></pre></div></li>
</ol>
</div><div class="tab-body tab-pane fade"
        id="tabs-kubectl-install-2" role="tabpanel" aria-labelledby="tabs-kubectl-install-2-tab" tabindex="kubectl-install"><ol>
<li>
<p>Adicione o repositório <code>zypper</code> do Kubernetes. Se você quiser instalar uma versão
diferente de v1.36, substitua v1.36 pela versão
menor desejada no comando a seguir.</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="c1"># Isto substitui qualquer configuração existente no arquivo /etc/zypp/repos.d/kubernetes.repo</span>
</span></span><span class="line"><span class="cl">cat <span class="s">&lt;&lt;EOF | sudo tee /etc/zypp/repos.d/kubernetes.repo
</span></span></span><span class="line"><span class="cl"><span class="s">[kubernetes]
</span></span></span><span class="line"><span class="cl"><span class="s">name=Kubernetes
</span></span></span><span class="line"><span class="cl"><span class="s">baseurl=https://pkgs.k8s.io/core:/stable:/v1.36/rpm/
</span></span></span><span class="line"><span class="cl"><span class="s">enabled=1
</span></span></span><span class="line"><span class="cl"><span class="s">gpgcheck=1
</span></span></span><span class="line"><span class="cl"><span class="s">gpgkey=https://pkgs.k8s.io/core:/stable:/v1.36/rpm/repodata/repomd.xml.key
</span></span></span><span class="line"><span class="cl"><span class="s">EOF</span>
</span></span></code></pre></div></li>
</ol>
<div class="alert alert-info" role="note"><h4 class="alert-heading">Nota</h4>Para atualizar o kubectl para outra versão menor, você vai precisar atualizar a versão no arquivo <code>/etc/zypp/repos.d/kubernetes.repo</code>
antes de rodar <code>zypper update</code>. Este procedimento está descrito com mais detalhes em <a href="/docs/tasks/administer-cluster/kubeadm/change-package-repository/">Mudando o Repositório de Pacotes do Kubernetes</a> (em inglês).</div>
<ol start="2">
<li>
<p>Atualize o <code>zypper</code> e confirme a adição do novo repositório:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">sudo zypper update
</span></span></code></pre></div><p>Quando esta mensagem aparecer, pressione 't' ou 'a':</p>
<pre tabindex="0"><code>New repository or package signing key received:

Repository:       Kubernetes
Key Fingerprint:  1111 2222 3333 4444 5555 6666 7777 8888 9999 AAAA
Key Name:         isv:kubernetes OBS Project &lt;isv:kubernetes@build.opensuse.org&gt;
Key Algorithm:    RSA 2048
Key Created:      Thu 25 Aug 2022 01:21:11 PM -03
Key Expires:      Sat 02 Nov 2024 01:21:11 PM -03 (expires in 85 days)
Rpm Name:         gpg-pubkey-9a296436-6307a177

Note: Signing data enables the recipient to verify that no modifications occurred after the data
were signed. Accepting data with no, wrong or unknown signature can lead to a corrupted system
and in extreme cases even to a system compromise.

Note: A GPG pubkey is clearly identified by its fingerprint. Do not rely on the key&#39;s name. If
you are not sure whether the presented key is authentic, ask the repository provider or check
their web site. Many providers maintain a web page showing the fingerprints of the GPG keys they
are using.

Do you want to reject the key, trust temporarily, or trust always? [r/t/a/?] (r): a
</code></pre></li>
<li>
<p>Instale o kubectl usando <code>zypper</code>:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">sudo zypper install -y kubectl
</span></span></code></pre></div></li>
</ol>
</div></div>


### Instale usando outro gerenciador de pacotes

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

<div class="tab-content" id="tabs-other-kubectl-install-content"><div class="tab-body tab-pane fadeshow active"
        id="tabs-other-kubectl-install-0" role="tabpanel" aria-labelledby="tabs-other-kubectl-install-0-tab" tabindex="other-kubectl-install"><p>Se você estiver no Ubuntu ou em outra distribuição Linux que suporte o gerenciador de
pacotes <a href="https://snapcraft.io/docs/core/install">snap</a>, o kubectl está disponível como
um aplicativo <a href="https://snapcraft.io/">snap</a>.</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-shell" data-lang="shell"><span class="line"><span class="cl">snap install kubectl --classic
</span></span><span class="line"><span class="cl">kubectl version --client
</span></span></code></pre></div></div><div class="tab-body tab-pane fade"
        id="tabs-other-kubectl-install-1" role="tabpanel" aria-labelledby="tabs-other-kubectl-install-1-tab" tabindex="other-kubectl-install"><p>Se você estiver no Linux e usando o gerenciador de pacotes
<a href="https://docs.brew.sh/Homebrew-on-Linux">Homebrew</a>, o kubectl está disponível para
<a href="https://docs.brew.sh/Homebrew-on-Linux#install">instalação</a>.</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-shell" data-lang="shell"><span class="line"><span class="cl">brew install kubectl
</span></span><span class="line"><span class="cl">kubectl version --client
</span></span></code></pre></div></div></div>


## Verifique a configuração 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 

### Ative o autocompletar no shell 

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

Abaixo estão os procedimentos para configurar o autocompletar para Bash, Fish e Zsh.

<ul class="nav nav-tabs" id="tabs-kubectl-autocompletion" role="tablist"><li class="nav-item"><a data-bs-toggle="tab" class="nav-link active" href="#tabs-kubectl-autocompletion-0" role="tab" aria-controls="tabs-kubectl-autocompletion-0" aria-selected="true">Bash</a></li>
	  
		<li class="nav-item"><a data-bs-toggle="tab" class="nav-link" href="#tabs-kubectl-autocompletion-1" role="tab" aria-controls="tabs-kubectl-autocompletion-1">Fish</a></li>
		<li class="nav-item"><a data-bs-toggle="tab" class="nav-link" href="#tabs-kubectl-autocompletion-2" role="tab" aria-controls="tabs-kubectl-autocompletion-2">Zsh</a></li></ul>

<div class="tab-content" id="tabs-kubectl-autocompletion-content"><div class="tab-body tab-pane fadeshow active"
        id="tabs-kubectl-autocompletion-0" role="tabpanel" aria-labelledby="tabs-kubectl-autocompletion-0-tab" tabindex="kubectl-autocompletion"><h3 id="introdução">Introdução<a class="td-heading-self-link" href="#introdu%c3%a7%c3%a3o" aria-label="Heading self-link"></a></h3>
<p>O script de autocompletar do kubectl para Bash pode ser gerado com o comando <code>kubectl completion bash</code>. O script permite habilitar o autocompletar do kubectl no seu shell.</p>
<p>No entanto, o script autocompletar depende do <a href="https://github.com/scop/bash-completion"><strong>bash-completion</strong></a>, o que significa que você precisa instalar este software primeiro (executando <code>type _init_completion</code> você pode testar se tem o bash-completion instalado).</p>
<h3 id="instale-bash-completion">Instale bash-completion<a class="td-heading-self-link" href="#instale-bash-completion" aria-label="Heading self-link"></a></h3>
<p>O bash-completion é fornecido por muitos gerenciadores de pacotes (veja <a href="https://github.com/scop/bash-completion#installation">aqui</a>). Você pode instalar com <code>apt-get install bash-completion</code> ou <code>yum install bash-completion</code>, etc.</p>
<p>Os comandos acima criam <code>/usr/share/bash-completion/bash_completion</code>, que é o  script principal de bash-completion. Dependendo do seu gerenciador de pacotes, você tem que adicionar manualmente ao seu arquivo <code>~/.bashrc</code>.</p>
<p>Para descobrir, recarregue seu shell e execute <code>type _init_completion</code>. Se o comando for bem-sucedido, já está definido, caso contrário, adicione o seguinte ao seu arquivo <code>~/.bashrc</code>:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="nb">source</span> /usr/share/bash-completion/bash_completion
</span></span></code></pre></div><p>Recarregue o seu shell e verifique se o bash-completion está instalado corretamente digitando <code>type _init_completion</code>.</p>
<h3 id="ative-o-autocompletar-do-kubectl">Ative o autocompletar do kubectl<a class="td-heading-self-link" href="#ative-o-autocompletar-do-kubectl" aria-label="Heading self-link"></a></h3>
<h4 id="bash">Bash<a class="td-heading-self-link" href="#bash" aria-label="Heading self-link"></a></h4>
<p>Agora você precisa garantir que o autocompletar do kubectl esteja ativo em todas as suas sessões shell. Existem duas maneiras pelas quais você pode fazer isso:</p>
<ul class="nav nav-tabs" id="tabs-kubectl-bash-autocompletion" role="tablist"><li class="nav-item"><a data-bs-toggle="tab" class="nav-link active" href="#tabs-kubectl-bash-autocompletion-0" role="tab" aria-controls="tabs-kubectl-bash-autocompletion-0" aria-selected="true">User</a></li>
	  
		<li class="nav-item"><a data-bs-toggle="tab" class="nav-link" href="#tabs-kubectl-bash-autocompletion-1" role="tab" aria-controls="tabs-kubectl-bash-autocompletion-1">System</a></li></ul>

<div class="tab-content" id="tabs-kubectl-bash-autocompletion-content"><div class="tab-body tab-pane fadeshow active"
        id="tabs-kubectl-bash-autocompletion-0" role="tabpanel" aria-labelledby="tabs-kubectl-bash-autocompletion-0-tab" tabindex="kubectl-bash-autocompletion"><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="nb">echo</span> <span class="s1">&#39;source &lt;(kubectl completion bash)&#39;</span> &gt;&gt;~/.bashrc
</span></span></code></pre></div></div><div class="tab-body tab-pane fade"
        id="tabs-kubectl-bash-autocompletion-1" role="tabpanel" aria-labelledby="tabs-kubectl-bash-autocompletion-1-tab" tabindex="kubectl-bash-autocompletion"><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">kubectl completion bash <span class="p">|</span> sudo tee /etc/bash_completion.d/kubectl &gt; /dev/null
</span></span><span class="line"><span class="cl">sudo chmod a+r /etc/bash_completion.d/kubectl
</span></span></code></pre></div></div></div>

<p>Se você tiver um alias para kubectl, você pode estender o autocompletar do shell para trabalhar com esse alias:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="nb">echo</span> <span class="s1">&#39;alias k=kubectl&#39;</span> &gt;&gt;~/.bashrc
</span></span><span class="line"><span class="cl"><span class="nb">echo</span> <span class="s1">&#39;complete -o default -F __start_kubectl k&#39;</span> &gt;&gt;~/.bashrc
</span></span></code></pre></div>
<div class="alert alert-info" role="note"><h4 class="alert-heading">Nota</h4>bash-completion fornece todos os scripts de autocompletar em <code>/etc/bash_completion.d</code>.</div>

<p>Todas as abordagens são equivalentes. Depois de recarregar seu shell, o autocompletar do kubectl deve estar funcionando. Para ativar o autocompletar do bash na sessão atual do shell, execute <code>exec bash</code>:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="nb">exec</span> bash
</span></span></code></pre></div></div><div class="tab-body tab-pane fade"
        id="tabs-kubectl-autocompletion-1" role="tabpanel" aria-labelledby="tabs-kubectl-autocompletion-1-tab" tabindex="kubectl-autocompletion">
<div class="alert alert-info" role="note"><h4 class="alert-heading">Nota</h4>O autocompletar para Fish requer kubectl 1.23 ou posterior.</div>

<p>O script de autocompletar do kubectl para Fish pode ser gerado com o comando <code>kubectl completion fish</code>. O script permite habilitar o autocompletar do kubectl no seu shell.</p>
<p>Para fazer isso em todas as suas sessões do shell, adicione a seguinte linha ao seu arquivo <code>~/.config/fish/config.fish</code>:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-shell" data-lang="shell"><span class="line"><span class="cl">kubectl completion fish <span class="p">|</span> <span class="nb">source</span>
</span></span></code></pre></div><p>Depois de recarregar seu shell, o autocompletar do kubectl deve estar funcionando.</p>
</div><div class="tab-body tab-pane fade"
        id="tabs-kubectl-autocompletion-2" role="tabpanel" aria-labelledby="tabs-kubectl-autocompletion-2-tab" tabindex="kubectl-autocompletion"><p>O script de autocompletar do kubectl para Zsh pode ser gerado com o comando <code>kubectl completion zsh</code>. Este script habilita o autocompletar do kubectl no seu shell.</p>
<p>Para fazer isso em todas as suas sessões de shell, adicione a seguinte linha no arquivo <code>~/.zshrc</code>:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-zsh" data-lang="zsh"><span class="line"><span class="cl"><span class="nb">source</span> &lt;<span class="o">(</span>kubectl completion zsh<span class="o">)</span>
</span></span></code></pre></div><p>Se você tiver um alias para kubectl, o autocompletar funcionará automaticamente com ele.</p>
<p>Depois de recarregar seu shell, o autocompletar do kubectl deve estar funcionando.</p>
<p>Se você ver um erro similar a <code>2: command not found: compdef</code>, adicione o seguinte bloco ao início do seu arquivo <code>~/.zshrc</code>:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-zsh" data-lang="zsh"><span class="line"><span class="cl">autoload -Uz compinit
</span></span><span class="line"><span class="cl">compinit
</span></span></code></pre></div></div></div>


### Instale 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. Faça download da versão mais recente com o comando:

	<ul class="nav nav-tabs" id="tabs-download-convert-binary-linux" role="tablist"><li class="nav-item"><a data-bs-toggle="tab" class="nav-link active" href="#tabs-download-convert-binary-linux-0" role="tab" aria-controls="tabs-download-convert-binary-linux-0" aria-selected="true">x86-64</a></li>
	  
		<li class="nav-item"><a data-bs-toggle="tab" class="nav-link" href="#tabs-download-convert-binary-linux-1" role="tab" aria-controls="tabs-download-convert-binary-linux-1">ARM64</a></li></ul>

<div class="tab-content" id="tabs-download-convert-binary-linux-content"><div class="tab-body tab-pane fadeshow active"
        id="tabs-download-convert-binary-linux-0" role="tabpanel" aria-labelledby="tabs-download-convert-binary-linux-0-tab" tabindex="download-convert-binary-linux"><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">	curl -LO <span class="s2">&#34;https://dl.k8s.io/release/</span><span class="k">$(</span>curl -L -s https://dl.k8s.io/release/stable.txt<span class="k">)</span><span class="s2">/bin/linux/amd64/kubectl-convert&#34;</span>
</span></span><span class="line"><span class="cl">    </span></span></code></pre></div></div><div class="tab-body tab-pane fade"
        id="tabs-download-convert-binary-linux-1" role="tabpanel" aria-labelledby="tabs-download-convert-binary-linux-1-tab" tabindex="download-convert-binary-linux"><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">	curl -LO <span class="s2">&#34;https://dl.k8s.io/release/</span><span class="k">$(</span>curl -L -s https://dl.k8s.io/release/stable.txt<span class="k">)</span><span class="s2">/bin/linux/arm64/kubectl-convert&#34;</span>
</span></span><span class="line"><span class="cl">	</span></span></code></pre></div></div></div>

	
1. Valide o binário (opcional)

   Faça download do arquivo checksum de verificação do kubectl-convert:

   <ul class="nav nav-tabs" id="tabs-download-convert-checksum-linux" role="tablist"><li class="nav-item"><a data-bs-toggle="tab" class="nav-link active" href="#tabs-download-convert-checksum-linux-0" role="tab" aria-controls="tabs-download-convert-checksum-linux-0" aria-selected="true">x86-64</a></li>
	  
		<li class="nav-item"><a data-bs-toggle="tab" class="nav-link" href="#tabs-download-convert-checksum-linux-1" role="tab" aria-controls="tabs-download-convert-checksum-linux-1">ARM64</a></li></ul>

<div class="tab-content" id="tabs-download-convert-checksum-linux-content"><div class="tab-body tab-pane fadeshow active"
        id="tabs-download-convert-checksum-linux-0" role="tabpanel" aria-labelledby="tabs-download-convert-checksum-linux-0-tab" tabindex="download-convert-checksum-linux"><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">   curl -LO <span class="s2">&#34;https://dl.k8s.io/release/</span><span class="k">$(</span>curl -L -s https://dl.k8s.io/release/stable.txt<span class="k">)</span><span class="s2">/bin/linux/amd64/kubectl-convert.sha256&#34;</span>
</span></span><span class="line"><span class="cl">   </span></span></code></pre></div></div><div class="tab-body tab-pane fade"
        id="tabs-download-convert-checksum-linux-1" role="tabpanel" aria-labelledby="tabs-download-convert-checksum-linux-1-tab" tabindex="download-convert-checksum-linux"><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">   curl -LO <span class="s2">&#34;https://dl.k8s.io/release/</span><span class="k">$(</span>curl -L -s https://dl.k8s.io/release/stable.txt<span class="k">)</span><span class="s2">/bin/linux/arm64/kubectl-convert.sha256&#34;</span>
</span></span><span class="line"><span class="cl">   </span></span></code></pre></div></div></div>


   Valide o binário kubectl-convert com o arquivo de verificação:

   ```bash
   echo "$(cat kubectl-convert.sha256) kubectl-convert" | sha256sum --check
   ```

   Se válido, a saída será:

   ```console
   kubectl-convert: OK
   ```

   Se a verificação falhar, o `sha256` exibirá o status diferente de zero e a saída será semelhante a:

   ```console
   kubectl-convert: FAILED
   sha256sum: WARNING: 1 computed checksum did NOT match
   ```

   
<div class="alert alert-info" role="note"><h4 class="alert-heading">Nota</h4>Faça download da mesma versão do binário e do arquivo de verificação.</div>


1. Instale o kubectl-convert

   ```bash
   sudo install -o root -g root -m 0755 kubectl-convert /usr/local/bin/kubectl-convert
   ```

1. Verifique se o plugin foi instalado com sucesso

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

   Se não for exibido um erro, isso significa que o plugin foi instalado com sucesso.

1. Depois de instalar o plugin, remova os arquivos de instalação:

	```bash
	rm kubectl-convert kubectl-convert.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>
