Tip: Acceder a Minikube desde WSL

Hoy me han preguntado eso, así que mira, aprovecho para apuntarlo aquí, por si alguien más tiene esta duda.

La situación es la siguiente: tienes minikube instalado y funcionando en Windows, pero quieres usarlo desde un kubectl ejecutándose en un terminal WSL. ¿Es posible?

La respuesta es que sí, no solo es posible, si no que es muy fácil. Los pasos que debes realizar son los siguientes.

Primero copiar el fichero de configuración de kubectl al sistema de ficheros de WSL. Este fichero es C:\Users\<usuario>.kube\config. Así, pues, desde un terminal WSL teclea:

cp /mnt/c/Users/<usuario>/.kube/config ~/.kube/config

Con esto copias este fichero en tu directorio de usuario de WSL. Ten presente que esto te sobreescribirá la configuración de kubectl que tengas en WSL (estoy asumiendo que no tenías).

El fichero config es un fichero YAML que contiene la definición de los clústers así como de la información necesaria para acceder a él. P. ej. en mi caso la definición del clúster de Minikube es:

- cluster:
    certificate-authority: C:\Users\etoma\.minikube\ca.crt
    server: https://172.25.117.234:8443
  name: minikube

Minikube guarda el certificado del clúster en el disco (por defecto en el fichero C:\Users\<usuario>.minikube\ca.crt). Lo que debes hacer es editar este fichero en WSL para que use las rutas «a lo WSL». Es decir, modificar «C:\Users\<usuario>.minikube\ca.crt» por «/mnt/c/<usuario>/.minikube/ca.crt».

Con esto solo no basta, también debes buscar en el mismo fichero, dentro de «Users» el usuariol «minikube», ya que allí hay la referencia al certificado de cliente:

- name: minikube
  user:
    as-user-extra: {}
    client-certificate: C:\Users\etoma\.minikube\client.crt
    client-key: C:\Users\etoma\.minikube\client.key

Sustitutye esas dos rutas para que sean rutas «a lo WSL» ¡listos!. Ahora desde WSL ya puedes usar kubectl conectado contra minikube:

minikube en wsl

¡Ya os dije que era fácil! 🙂

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *