# Instalar y Configurar kubectl en Linux

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

---

## Antes de empezar

Se debe utilizar la versión de kubectl con una minor versión de diferencia con
tu cluster. Por ejemplo, un cliente con versión v1.36 se puede comunicar
con las siguientes versiones de plano de control v1.35, 
v1.36 y v1.37.
Utilizar la última versión compatible de kubectl evita posibles errores.

## Instalar kubectl en Linux

Existen los siguientes métodos para instalar kubectl en Linux:

- [Instalación del binario para Linux de kubectl con Curl](#instalación-del-binario-para-linux-de-kubectl-con-curl)
- [Instalación mediante el administrador de paquetes nativo](#instalación-mediante-el-administrador-de-paquetes-nativo)
- [Instalación usando otro administrador de paquetes](#instalación-usando-otro-administrador-de-paquetes)

### Instalación del binario para Linux de kubectl con Curl

1. Descargar la última versión con el siguiente 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 descargar una versión específica reemplaza la siguiente parte del comando con la
versión que desea instalar <code>$(curl -L -s https://dl.k8s.io/release/stable.txt)</code></p>
<p>Por ejemplo, para descargar la versión 1.36.0 en linux x86-64:</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>Y para Linux ARM64:</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. Validación del binario (paso opcional)

   Descargar el archivo checksum:

   <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>


   Validar el binario de kubectl contra el archivo checksum:

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

   Si es válido, va a obtener la siguiente respuesta:

   ```console
   kubectl: OK
   ```

   En caso de falla, `sha256` terminará con un estado diferente a cero con una salida similar 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>Descarga la misma versión del binario y el checksum.</div>


1. Instalar 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>Si no tienes acceso root en el sistema donde se busca instalar, puedes colocar
el binario kubectl en el directorio <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"># Y después agrega el directorio ~/.local/bin a tu $PATH</span>
</span></span></code></pre></div></div>


1. Test para asegurar que la versión instalada está actualizada:

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

   O puedes utilizar lo siguiente para una vista detallada de la versión:

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

### Instalación mediante el administrador de paquetes 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">Debian-based distributions</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">Red Hat-based distributions</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">SUSE-based distributions</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>Actualiza el índice del paquete <code>apt</code>, luego instala los paquetes necesarios para 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 may be a dummy package; if so, you can skip that package</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>Descarga la llave pública firmada para los repositorios de Kubernetes. La misma llave firmada es usada para todos los repositorios por lo que se puede obviar la versión en la URL:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-shell" data-lang="shell"><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></code></pre></div></li>
<li>
<p>Agregar el repositorio apropiado de Kubernetes. Si quieres una versión de Kubernetes diferente a v1.36,
reemplace v1.36 con la versión deseada en el siguiente comando:</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"># Esto sobrescribe cualquier configuración existente en el archivo /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></code></pre></div></li>
</ol>
<div class="alert alert-info" role="note"><h4 class="alert-heading">Nota:</h4>Para actualizar kubectl a una minor release diferente, se debe reemplazar la versión en el archivo <code>/etc/apt/sources.list.d/kubernetes.list</code> antes de ejecutar <code>apt-get update</code> y <code>apt-get upgrade</code>. Este procedimiento se describe con más detalle en <a href="/docs/tasks/administer-cluster/kubeadm/change-package-repository/">Cambiando el Repositorio de Kubernetes</a>.</div>
<ol start="4">
<li>
<p>Actualiza el índice de <code>apt</code>, luego instala 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 class="alert alert-info" role="note"><h4 class="alert-heading">Nota:</h4>En versiones anteriores a Debian 12 y Ubuntu 22.04 el directorio <code>/etc/apt/keyrings</code> no existe por defecto, puede ser creado usando el comando <code>sudo mkdir -m 755 /etc/apt/keyrings</code></div>
</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>Agregar Kubernetes al repositorio <code>yum</code>. Si deseas usar una versión de Kubernetes
diferente a v1.36, reemplaza v1.36 con
la versión deseada en el siguiente comando:</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"># Lo siguiente reemplaza cualquier configuración existente en /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 actualizar kubectl a otra versión, será necesario modificar la versión en <code>/etc/yum.repos.d/kubernetes.repo</code>
antes de ejecutar <code>yum update</code>. Este procedimiento se describe con más detalle en <a href="/docs/tasks/administer-cluster/kubeadm/change-package-repository/">Changing The Kubernetes Package Repository</a>.</div>
<ol start="2">
<li>
<p>Instalar kubectl utilizando <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>Agregar Kubernetes al repositorio <code>zypper</code>. Si deseas usar una versión de Kubernetes
diferente a v1.36, reemplaza v1.36 con
la versión deseada en el siguiente comando:</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"># Lo siguiente reemplaza cualquier configuración existente en /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 actualizar kubectl a otra versión será necesario modificar la versión en <code>/etc/zypp/repos.d/kubernetes.repo</code>
antes de ejecutar <code>zypper update</code>. Este procedimiento se describe con más detalle en <a href="/docs/tasks/administer-cluster/kubeadm/change-package-repository/">Changing The Kubernetes Package Repository</a>.</div>
<ol start="2">
<li>
<p>Instalar 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>


### Instalación usando otro administrador de paquetes

<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>Si utilizas Ubuntu o alguna distribución que soporte el administrador de
páquetes <a href="https://snapcraft.io/docs/core/install">snap</a>, kubectl
está disponible como una aplicación de <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>Si utilizas <a href="https://docs.brew.sh/Homebrew-on-Linux">Homebrew</a> en Linux,
kubectl está disponible para su <a href="https://docs.brew.sh/Homebrew-on-Linux#install">instalación</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>


## Verificar la configuración de kubectl


	<p>Para que kubectl encuentre y acceda a un clúster de Kubernetes, necesita un
<a href="/es/docs/concepts/configuration/organize-cluster-access-kubeconfig/">archivo kubeconfig</a>, que se crea automáticamente cuando creas un clúster usando
<a href="https://github.com/kubernetes/kubernetes/blob/master/cluster/kube-up.sh">kube-up.sh</a>
o implementar con éxito un clúster de Minikube.
De forma predeterminada, la configuración de kubectl se encuentra en <code>~/.kube/config</code>.</p>
<p>Verifique que kubectl esté configurado correctamente obteniendo el estado del clúster:</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>Si ve una respuesta de URL, kubectl está configurado correctamente para acceder a su clúster.</p>
<p>Si ve un mensaje similar al siguiente, kubectl no está configurado correctamente o no puede conectarse a un clúster de 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 ejemplo, si tiene la intención de ejecutar un clúster de Kubernetes en su computadora portátil (localmente), primero necesitará instalar una herramienta como Minikube y luego volver a ejecutar los comandos indicados anteriormente.</p>
<p>Si <code>kubectl cluster-info</code> devuelve la respuesta de la URL pero no puede acceder a su clúster, para verificar si está configurado correctamente, use:</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>

## Configuraciones opcionales y plugins de kubectl

### Habilitar el autocompletado en la shell

Kubectl tiene soporte para autocompletar en Bash, Zsh, Fish y Powershell,
lo que puede agilizar el tipeo.

A continuación están los procedimientos para configurarlo en Bash, Fish y 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="introducción">Introducción<a class="td-heading-self-link" href="#introducci%c3%b3n" aria-label="Heading self-link"></a></h3>
<p>El script de completado de kubectl para Bash se puede generar con el comando <code>kubectl completion bash</code>. Obtener el script de completado en su shell habilita el autocompletado de kubectl.</p>
<p>Sin embargo, el script de completado depende de <a href="https://github.com/scop/bash-completion"><strong>bash-completion</strong></a>, lo que significa que primero debe instalar este software (puedes probar si tienes bash-completion ya instalado ejecutando <code>type _init_completion</code>).</p>
<h3 id="instalar-bash-complete">Instalar bash-complete<a class="td-heading-self-link" href="#instalar-bash-complete" aria-label="Heading self-link"></a></h3>
<p>El completado de bash es proporcionado por muchos administradores de paquetes (ver <a href="https://github.com/scop/bash-completion#installation">aquí</a>). Puedes instalarlo con <code>apt-get install bash-completion</code> o <code>yum install bash-completion</code>, etc.</p>
<p>Los comandos anteriores crean <code>/usr/share/bash-completion/bash_completion</code>, que es el script principal de bash-complete. Dependiendo de su administrador de paquetes, debe obtener manualmente este archivo de perfil en su <code>~/.bashrc</code>.</p>
<p>Para averiguarlo, recargue su shell y ejecute <code>type _init_completion</code>. Si el comando tiene éxito, ya está configurado; de lo contrario, agregue lo siguiente a su archivo <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>Vuelva a cargar su shell y verifique que la finalización de bash esté correctamente instalada escribiendo <code>type _init_completion</code>.</p>
<h3 id="habilitar-el-autocompletado-de-kubectl">Habilitar el autocompletado de kubectl<a class="td-heading-self-link" href="#habilitar-el-autocompletado-de-kubectl" aria-label="Heading self-link"></a></h3>
<p>Ahora debe asegurarse de que el script de completado de kubectl se obtenga en todas sus sesiones de shell. Hay dos formas de hacer esto:</p>
<ul>
<li>
<p>Obtenga el script de completado en su perfil <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">echo</span> <span class="s1">&#39;source &lt;(kubectl completion bash)&#39;</span> &gt;&gt;~/.bashrc
</span></span></code></pre></div></li>
<li>
<p>Agregue el script de completado al directorio de <code>/etc/bash_completion.d</code>:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">kubectl completion bash &gt;/etc/bash_completion.d/kubectl
</span></span></code></pre></div></li>
</ul>
<p>Si tiene un alias para kubectl, puede extender el completado del shell para trabajar con ese 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>El código fuente de bash-complete todos los scripts se encuentra en <code>/etc/bash_completion.d</code>.</div>

<p>Ambos enfoques son equivalentes. Después de recargar su shell, el autocompletado de kubectl debería estar funcionando.</p>
</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>Se requiere kubectl 1.23 o superior para utilizar el autocompletado de Fish.</div>

<p>El script de autocompletado de Fish puede ser generado con el comando <code>kubectl completion fish</code>. Leyendo este archivo en su Shell habilita el autocompletado de kubectl.</p>
<p>Para hacer esto en todas sus sesiones agregue la siguiente linea a su archivo <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>Después de recargar tu shell, el autocompletado para kubectl estará funcionando automáticamente.</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>El script de completado de kubectl para Zsh se puede generar con el comando <code>kubectl completion zsh</code>. Obtener el script de completado en su shell habilita el autocompletado de kubectl.</p>
<p>Para hacerlo en todas sus sesiones de shell, agregue lo siguiente a su perfil <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>Si tiene un alias para kubectl, puede extender el completado del shell para trabajar con ese alias:</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">echo</span> <span class="s1">&#39;alias k=kubectl&#39;</span> &gt;&gt;~/.zshrc
</span></span><span class="line"><span class="cl"><span class="nb">echo</span> <span class="s1">&#39;compdef __start_kubectl k&#39;</span> &gt;&gt;~/.zshrc
</span></span></code></pre></div><p>Después de recargar su shell, el autocompletado de kubectl debería estar funcionando.</p>
<p>Si recibe un error como <code>complete:13: command not found: compdef</code>,
luego agregue lo siguiente al comienzo de su perfil <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>


### Instalar el plugin `kubectl convert`


	<p>Un plugin para la herramienta de línea de comandos de Kubernetes <code>kubectl</code>, que le permite convertir manifiestos entre diferentes versiones de la API. Esto puede ser particularmente útil para migrar manifiestos a una versión no obsoleta de la API con la versión más reciente de Kubernetes.
Para obtener más información, visite <a href="/docs/reference/using-api/deprecation-guide/#migrate-to-non-deprecated-apis">migrar a APIs no obsoletas</a></p>


1. Descarga la última versión con el siguiente 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. Valida el binario (opcional)

   Descarga el checksum de 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>


   Ahora se puede validar el binario utilizando el checksum:

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

   Si es válido, la salida será:

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

   En caso de falla, `sha256` terminará con un estado diferente a cero con una salida similar a esta:

   ```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>Descargue la misma versión del binario y del checksum.</div>


1. Instalar kubectl-convert

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

1. Verificar si el plugin fue instalado correctamente

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

   Si no visualizas ningún error quiere decir que el plugin fue instalado correctamente.

1. Después de instalar el plugin elimina los archivos de instalación:

   ```bash
   rm kubectl-convert kubectl-convert.sha256
   ```

## ¿Qué sigue?


	<ul>
<li><a href="https://minikube.sigs.k8s.io/docs/start/">Instalar Minikube</a></li>
<li>Consulte las <a href="/es/docs/setup/">guías de introducción</a> para obtener más información sobre la creación de clústeres.</li>
<li><a href="/docs/tasks/access-application-cluster/service-access-application-cluster/">Aprenda a iniciar y exponer su aplicación.</a></li>
<li>Si necesita acceso a un clúster que no creó, consulte la guia de
<a href="/docs/tasks/access-application-cluster/configure-access-multiple-clusters/">Compartir el acceso al clúster</a>.</li>
<li>Lea los <a href="/docs/reference/kubectl/kubectl/">documentos de referencia de kubectl</a></li>
</ul>
