Kubernetes: Instalación y configuración de minikube y kubectl
Introducción
Como nos cuentan en su página oficial,Kubernetes es una plataforma de orquestación de contenedores de código abierto que automatiza la implementación, la gestión y el escalado de aplicaciones en contenedores. Dicho de otra manera, es un sistema de administración de clústeres que mantiene las cargas de trabajo en ejecución y es un gran problema en DevOps.
A medida que la adopción nativa de la nube sigue aumentando, Kubernetes se ha convertido en la plataforma de infraestructura de más rápido crecimiento. Un informe de Cloud Native Computing Foundation (CNCF) descubrió que para 2020, más del 90 % de las organizaciones encuestadas usaban Kubernetes.
Instalación
Instalando minikube
Vamos a instalar minikube en nuestro sistema operativo. En mi caso, os voy a mostrar cómo hacerlo en Debian 11. Para ello, vamos a realizar los siguientes pasos:
- Descargar el binario de minikube desde su página oficial.
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
- Instalar el binario en el sistema.
sudo install minikube-linux-amd64 /usr/local/bin/minikube
- Comprobar que se ha instalado correctamente.
minikube version
- Iniciamos un clúster de Kubernetes con minikube.
minikube start --driver=kvm2
- Comprobamos su estado.
minikube status
Instalando kubectl
Para instalar kubectl, vamos a realizar los siguientes pasos:
- Instalamos kubernetes-client en nuestro sistema.
sudo apt install kubernetes-client
- Comprobamos que se ha instalado correctamente.
kubectl version
Si visualizamos el fichero que se nos ha creado en nuestro directorio /home, veremos que se ha creado un fichero de configuración en .kube.
En este fichero se encuentra la configuración de nuestro clúster de Kubernetes.
Comandos básicos
- Muestra la IP del clúster.
kubectl get nodes -o wide
- Muestra los pods que se están ejecutando en el clúster.
kubectl get pods
- Muestra los servicios que se están ejecutando en el clúster.
kubectl get services
- Muestra los deployments que se están ejecutando en el clúster.
kubectl get deployments
- Borra todos los deployments que se están ejecutando en el clúster.
kubectl delete all --all --all-namespaces