Kubernetes: Primeros pasos con Minikube

Buenas everybody!
Hoy vengo una iniciación a Kubernetes. Para el que no lo sepa a estas alturas, Kubernetes es la herramienta de orquestación de contenedores mas popular hoy en día. Esta herramienta, ha sido desarrollada y liberada por google y ahora cuenta con el apoyo de docker, por lo que la hace una herramienta imprescindible a la hora de mantener una infraestructura de contenedores.

En este post vamos a instalar minikube que es un kubernetes pero para desplegar en local. Esto viene bien para poder realizar pruebas sin tener una infraestructura grande. Es verdad que al ser solo un nodo, se pierde la magia del HA pero como no va a ser para producción no hay problema.

Instalar los paquetes necesarios

apt install curl virtualbox apt-transport-https

Kubectl

Kubectl es la herramienta que controla kubernetes.

Instalar kubectl

Añadir el repositorio y las claves

curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add -
echo "deb http://apt.kubernetes.io/ kubernetes-xenial main" > /etc/apt/sources.list.d/kubernetes.list

Actualizar repositorios e instalar el paquete

apt update
apt install -y kubectl

Minikube

Instalar la última versión de minikube

curl -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 && chmod +x minikube && mv minikube /usr/local/bin/

Una vez hecho esto, ya podemos lanzar minikube. Lo que hará, es crear en nuestro caso una maquina virtual en VirtualBox instalando kubernetes para poder desplegar las instancias que necesitemos. Se podría elegir también la versión de kubernetes a instalar si se quisiese. Por defecto instala la última.

minikube start --vm-driver=virtualbox

Starting local Kubernetes cluster...
Downloading Minikube ISO
 84.07 MB / 84.07 MB [==============================================] 100.00% 0s

minikube status

minikube: Running
cluster: Running
kubectl: Correctly Configured: pointing to minikube-vm at 192.168.99.100

Comandos útiles

Ver PODS

kubectl get pods --all-namespaces

NAMESPACE   NAME                                   READY STATUS    RESTARTS  AGE
kube-system etcd-minikube                          1/1   Running   0         3m
kube-system kube-addon-manager-minikube            1/1   Running   0         4m
kube-system kube-apiserver-minikube                1/1   Running   0         3m
kube-system kube-controller-manager-minikube       1/1   Running   0         3m
kube-system kube-dns-86f4d74b45-qtqx7              3/3   Running   0         4m
kube-system kube-proxy-79x6c                       1/1   Running   0         4m
kube-system kube-scheduler-minikube                1/1   Running   0         3m
kube-system kubernetes-dashboard-5498ccf677-2wkct  1/1   Running   0         3m
kube-system storage-provisioner                    1/1   Running   0         3m

Ver los servicios

kubectl get services

NAME         TYPE        CLUSTER-IP  EXTERNAL-IP   PORT(S)   AGE
kubernetes   ClusterIP   10.96.0.1   <none>        443/TCP   6

Iniciar el Dashboard

Cuando se inicia, nos abrirá en el navegador el dashboard de kubernetes

minikube dashboard

Y hasta aquí el post de hoy. Iré sacando mas relacionados con Kubernetes; como desplegar Pods, configuraciones de secretos, balanceos…

Leave a Reply

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