Hello Minikube
Hello Minikube es un tutorial de iniciación sobre el uso básico de Kubernetes. ¿Por qué escribo un artículo en Pledin sobre este tutorial? Porque desde la página del tutorial podemos ejecutar un clúster de minikube en una máquina remota y podemos gestionarlo desde un terminal desde la propia página web.
minikube es un software que crea un clúster de Kubernetes en una máquina virtual o en un contenedor Docker con un propósito educativo y permitirnos hacer pruebas del orquestador de contenedores Kuberentes.
Katacoda es una plataforma perteneciente a O’Reilly y que proporciona entornos operativos de diferentes tecnologías con un propósito formativo y que nos ofrece en el tutorial Hello Minikube la posibilidad de ejecutar en una máquina remota un clúster de Kubernetes usando minikube.
Para ello, tan sólo tenemos que pulsar sobre el botón Launch Terminal en la página de Hello Minikube:
Uso de minikube en “Hello Minikube”
Una vez hemos pulsado el el botón de creación del terminal, nos aparece una ventana en la parte inferior, donde vemos el proceso de la instalación de minikube:
Por ejemplo si queremos acceder al dashboard de Kubernetes, tenemos que ejecutar minikube dashboard
y acceder al puerto 30000
del host, para ello accedemos a la pestaña Preview Port 30000:
Y accedemos a la página web donde gestionamos Kubernetes desde su dashboard:
Tutorial “Hello Minikube”
Vamos a seguir los pasos del ejercicio que nos propone el tutorial Hello Minikube. Creamos un Deployment a partir de una imagen docker de ejemplo:
kubectl create deployment hello-node --image=registry.k8s.io/echoserver:1.4
A continuación, creamos un Service de tipo LoadBalancer:
kubectl expose deployment hello-node --type=LoadBalancer --port=8080
Para los proveedores Cloud que soportan balanceadores de carga, una dirección IP externa será provisionada para acceder al servicio, para el Minikube proporcionado por Katacoda que estamos usando nos interesa el puerto que ha asignado al Service y que hará la redirección al puerto 8080
donde está respondiendo la aplicación, en nuestro caso es el puerto 31251.
Ahora, hacemos clic sobre el símbolo +, y luego en Select port to view on Host 1, en la página que nos sale tenemos que poner el puerto que se ha asignado al servicio:
Y al pulsar sobre el botón Display Port se accederá a la aplicación:
Habilitar extensiones en Minikube
Podemos habilitar y deshabilitar las extensiones de minikube. Por ejemplo, para ver las extensiones, ejecutamos:
minikube addons list
Si queremos habilitar la extensión que nos aporta las métricas de recursos, podemos ejecutar:
minikube addons enable metrics-server
Y para ver los recursos que se han creado:
kubectl get pod,svc -n kube-system
Desplegando una aplicación guardada en un repositorio GitHub
En la máquina virtual que se crea, tenemos muchas herramientas instaladas, por ejemplo git
, esto nos ofrece la posibilidad de clonar cualquier repositorio que tengamos y poder trabajar con los manifiestos YAML de Kubernetes que nos permiten el despliegue de una aplicación.
Por ejemplo, voy a trabajar con el repositorio https://github.com/josedom24/example-hello-minikube
, donde tenemos un fichero YAML para crear un despliegue usando la imagen paulbouwer/hello-kubernetes:1
que crea una aplicación en node.js que muestra un mensaje Hello world! y alguna otra información. Para más información sobre esta imagen, puedes estudiar el repositorio de la aplicación y el repositorio en Docker Hub.
Vamos a clonar el repositorio y creamos los recursos a a partir de los ficheros YAML:
git clone https://github.com/josedom24/example-hello-minikube.git
cd example-hello-minikube/
kubectl apply -f deployment.yaml
kubectl apply -f service.yaml
Podemos ver los recursos creados, ejecutando kubectl get all
:
Y para acceder, pulsamos sobre el símbolo +, y luego en Select port to view on Host 1, en la página que nos sale ponemos el puerto que han asignado al servicio, en este ejmplo el 30025 y pulsando sobre el botón Display Port, accedemos a la aplicación:
Conclusiones
Si tienes que hacer alguna prueba con Kubernetes y no tienes tu ordenador personal a mamo, puedes usar esta instalación de minikube totalmente operativa y online. Un saludo a todos.
Leave a Comment
Your email address will not be published. Required fields are marked *