Introducción
Cuando empiezas a aprender una nueva tecnología, es de mucha ayuda poder configurar ambientes de pruebas rápidamente, esto te permite realizar tus pruebas de concepto de manera ágil.
Kubernetes es la herramienta mas adoptada en la orquestación de contenedores. Por otro lado Cloud9 es el IDE en linea de AWS. Nosotros podemos realizar rápidamente nuestras pruebas de concepto de Kubernetes en cloud9 con Minikube.
En este artículo te enseñare como levantar un ambiente de pruebas con Minikube y Cloud9 para poder desplegar tu primer pod en Kubernetes.
Configuración del ambiente
1 Creación del ambiente en Cloud9
- Vamos a ingresar a nuestra cuenta de AWS y nos vamos a dirigir al servicio de Cloud9 y le daremos click en "Create Environment" como se muestra en la siguiente imagen
- Colocaremos la siguiente información
Name: Minikube-environment
Environment-type: New EC2 instance
Instance type: t3.small
Platform: Ubuntu Server 22.04 LTS
A continuación le daremos click en "Create"
En la lista de ambientes aparecera el ambiente creado por nosotros.
Le damos click en open y se nos abrirá nuestro ambiente en una nueva pestaña en el navegador.
2 Incrementar las capacidades de disco de nuestro ambiente
Vamos a ubicar la instancia EC2 donde esta nuestro ambiente de Cloud9, para ello buscamos la instancia que contiene el nombre de nuestro ambiente.
Le damos check a la instancia, nos dirigimos a la pestaña "storage" y le damos click donde en el id del volumen
Luego, le damos click en "Modify volume"
El valor actual debe ser 10 y lo cambiaremos por 30, luego le damos click en "Modify"
Ahora regresamos a nuestro ambiente de Cloud9 y vamos a incrementar el tamaño del sistema de archivos con los siguientes comandos
sudo growpart /dev/nvme0n1 1
sudo resize2fs /dev/nvme0n1p1
Ahora nuestro sistema de archivos pasara de 10G a 30G.
3 Instalación de las herramientas necesarias
- Lanzaremos los siguientes comandos para instalar kubectl
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl
kubectl version --client
- Lanzaremos los siguientes comandos para instalar Minikube
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
sudo install minikube-linux-amd64 /usr/local/bin/minikube
Lanzando nuestro primer pod
- Vamos a iniciar nuestro ambiente en Minikube con el siguiente comando
minikube start
- Lanzaremos nuestro primer pod en minikube
kubectl run my-first-pod --image=nginx
- Vamos a verificar que nuestro pod se encuentre "running"
kubectl get pods
- Finalmente podemos detener la ejecución de nuestro ambiente en minikube
minikube stop
Eliminando nuestro ambiente de cloud9
Para eliminar el ambiente vamos al servicio de cloud9, seleccionamos nuestro ambiente y le damos click en "Delete"
Aclaraciones
- El tamaño de instancia mínimo para correr minikube es t3.small, de colocar una instancia con menor cantidad de vCPUs tendrás el siguiente error
- El tamaño de disco con el que se crea un ambiente de Cloud9 son 10 Gigas, si no incrementas el tamaño del disco tendrás el siguiente error
La instancia t3.small no pertenece a la capa gratuita de AWS. El precio en Oregon (us-west-2) es de $0.0208 la hora, es decir en 8 horas de pruebas habremos gastado la suma de $0.1664 ($0.0208 x 8h). Es un precio bastante bajo y razonable.
En caso necesites hacer pruebas con muchos contenedores ejecutándose a la vez, te recomiendo lanzar una instancia con una mayor cantidad de vCPUs, que cuente con los recursos suficientes para lanzar todos los contenedores que necesites