# Instalar y configurar kubectl en Windows

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

---

## Antes de empezar

Debes usar una versión de kubectl que esté 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, Scoop o winget](#install-on-windows-using-chocolatey-o-scoop)


### Instalar el binario de kubectl en Windows (mediante descarga directa o usando curl)

1. Tiene dos opciones para instalar kubectl en su dispositivo Windows:

   - Descarga directa:
      Descargue la última versión 1.36.0 del binario  directamente según tu arquitectura visitando [Kubernetes release page](https://kubernetes.io/releases/download/#binaries). Asegúrese de seleccionar el binario correcto para tu arquitectura (e.g., amd64, arm64, etc.).

   - Usando curl: 

     Si tiene `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 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>


2. Validar el binario (opcional)

   Descargue el archivo de comprobación de kubectl:

   ```powershell
   curl.exe -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)
     ```

3. Agregue el binario `kubectl` a su `PATH` en las variables de entorno.

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

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

O para una vista detallada de la versión, ejecute:
```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> agrega su propia versión de <code>kubectl</code> al <code>PATH</code>.
Si ha instalado Docker Desktop antes, es posible que deba colocar su entrada del <code>PATH</code> antes de la agregada por el instalador de Docker Desktop o elimine el <code>kubectl</code> de Docker Desktop.</div>


### Instalar en Windows usando Chocolatey, Scoop o winget {#install-nonstandard-package-tools}

1. Para instalar kubectl en Windows puede usar el gestor de paquetes [Chocolatey](https://chocolatey.org), 
   el instalador por línea de comandos [Scoop](https://scoop.sh) o 
   el gestor de paquetes [winget](https://docs.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. Para asegurarse de que la versión que instaló esté actualizada, ejecute:

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

3. Navegue a su directorio de inicio:

   ```powershell
   # Si estás usando cmd.exe, correr: cd %USERPROFILE%
   cd ~
   ```

4. Cree el directorio `.kube`:

   ```powershell
   mkdir .kube
   ```

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

   ```powershell
   cd .kube
   ```

6. 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, Zsh, Fish, y PowerShell, lo que puede ahorrarle mucho tiempo de escritura.

A continuación se muestran los procedimientos para configurar el autocompletado para PowerShell.


	<p>El script de autocompletado de kubectl para PowerShell se puede generar con el comando <code>kubectl completion powershell</code>.</p>
<p>Para hacerlo en todas tus sesiones de shell, agrega la siguiente línea a tu archivo <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 agregará el script de autocompletado en cada sesión de PowerShell. También puedes añadir el script generado directamente en tu archivo <code>$PROFILE</code>.</p>
<p>Para agregar el script generado a tu archivo <code>$PROFILE</code>, ejecute el siguiente comando en el prompt de tu 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>Después de recargar tu shell, el autocompletado de kubectl debería funcionar.</p>


### Instalar el plugin `kubectl-convert`

1. Descargue la última versión con el comando:

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

2. Validar el binario (opcional) 

   Descargue el archivo de comprobación `kubectl-convert`:

   ```powershell
   curl.exe -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)
     ```

3. Agregue el binario a su `PATH`.

4. Verifique que el plugin se haya instalado correctamente

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

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

5. Después de instalar el plugin, elimine los archivos de instalación:
   ```powershell
   del kubectl-convert.exe
   del kubectl-convert.exe.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>
