# Instalar y configurar kubectl en Windows

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

---

## Antes de empezar

Debes usar una versión de kubectl que este dentro de una diferencia de versión menor de tu clúster. Por ejemplo, un cliente v1.36 puede comunicarse con versiones v1.35, v1.36, y v1.37 del plano de control.

El uso de la última versión de kubectl ayuda a evitar problemas imprevistos.

## Instalar kubectl en Windows

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

- [Instalar el binario de kubectl con curl en Windows](#install-kubectl-binary-with-curl-on-windows)
- [Instalar en Windows usando Chocolatey o Scoop](#install-on-windows-using-chocolatey-or-scoop)


### Instalar el binario de kubectl con curl en Windows

1. Descarga la [última versión 1.36.0](https://dl.k8s.io/release/v1.36.0/bin/windows/amd64/kubectl.exe).

   O si tiene `curl` instalado, use este comando:

   ```powershell
   curl -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 conocer la última versión estable (por ejemplo, para secuencias de comandos), eche un vistazo a <a href="https://dl.k8s.io/release/stable.txt">https://dl.k8s.io/release/stable.txt</a>.</div>


1. Validar el binario (opcional)

   Descargue el archivo de comprobación de kubectl:

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

   Valide el binario kubectl con el archivo de comprobación:

   - Usando la consola del sistema para comparar manualmente la salida de `CertUtil` con el archivo de comprobación descargado:

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

   - Usando PowerShell puede automatizar la verificación usando el operador `-eq` para obtener un resultado de `True` o `False`:

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

1. Agregue el binario a su `PATH`.

1. Para asegurar que la versión de`kubectl` es la misma que descargada, ejecute:

   ```cmd
   kubectl version --client
   ```


<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> agrega su propia versión de <code>kubectl</code> a el <code>PATH</code>.
Si ha instalado Docker Desktop antes, es posible que deba colocar su entrada en el <code>PATH</code> antes de la agregada por el instalador de Docker Desktop o elimine el <code>kubectl</code>.</div>


### Instalar en Windows usando Chocolatey o Scoop

1. Para instalar kubectl en Windows, puede usar [Chocolatey](https://chocolatey.org) 
como administrador de paquetes o el instalador [Scoop](https://scoop.sh) desde línea de comandos.

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



1. Para asegurarse de que la versión que instaló esté actualizada, ejecute:

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

1. Navegue a su directorio de inicio:

   ```powershell
   # Si estas usando cmd.exe, correr: cd %USERPROFILE%
   cd ~
   ```

1. Cree el directorio `.kube`:

   ```powershell
   mkdir .kube
   ```

1. Cambie al directorio `.kube` que acaba de crear:

   ```powershell
   cd .kube
   ```

1. Configure kubectl para usar un clúster de Kubernetes remoto:

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


<div class="alert alert-info" role="note"><h4 class="alert-heading">Nota:</h4>Edite el archivo de configuración con un editor de texto de su elección, como el Bloc de notas.</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>

## Plugins y configuraciones opcionales de kubectl

### Habilitar el autocompletado de shell

kubectl proporciona soporte de autocompletado para Bash y Zsh, lo que puede ahorrarle mucho tiempo al escribir.

A continuación se muestran los procedimientos para configurar el autocompletado para Zsh, si lo está ejecutando en Windows.


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

### 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. Descargue la última versión con el comando:

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

1. Validar el binario (opcional)

   Descargue el archivo de comprobación kubectl-convert:

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

   Valide el binario kubectl-convert con el archivo de comprobación:

   - Usando la consola del sistema puede comparar manualmente la salida de `CertUtil` con el archivo de comprobación descargado:

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

   - Usando PowerShell puede automatizar la verificación usando el operador `-eq` 
     para obtener un resultado de `True` o `False`:

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

1. Agregue el binario a su `PATH`.

1. Verifique que el plugin se haya instalado correctamente

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

   Si no ve un error, significa que el plugin se instaló correctamente.

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