Instalando Minikube en ubuntu

Actualizar sistema:

sudo apt-get update -y
sudo apt-get upgrade -y

Después debemos instalar algunas dependencias de descarga de datos:

sudo apt-get install apt-transport-https wget curl

instalar docker :

sudo apt update&&sudo apt install apt-transport-https ca-certificates curl software-properties-common&&curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -&&sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable"&&sudo apt update&&apt-cache policy docker-ce&&sudo apt install docker-ce&&sudo systemctl status docker

Descarga minikube, dale permisos e instálalo para que tengas acceso desde cualquier sitio:

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

Comprueba que está bien instalado ejecutando:

minikube version

Instala kubectl, dale permisos y colócalo en el path:

curl -LO https://storage.googleapis.com/kubernetes-release/release/curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt/bin/linux/amd64/kubectl
chmod +x ./kubectl
sudo mv ./kubectl /usr/local/bin/kubectl

Comprueba kubectl funciona:

kubectl version -o json

Aplica Docker como motor para virtualizar minikube:

minikube config set driver docker

Arranqua minikube:

minikube start

Ajusta permisos de docker:

sudo usermod -aG docker $USER && newgrp docker

Verifica el cluster:

kubectl cluster-info
kubectl config view
kubectl get nodes

Comandos basicos:

kubectl get pods -o wide –> Ver pods en ejecucion con detalle

kubectl exec -it ubuntu -- sh –> acceder al GUI de un POD

kubectl scale deployment/hello-v2 --replicas=3 –> Escalar un deployment a 3

kubectl get services –> ver servicios en ejecucion

kubectl port-forward mongo-664f458474-sctc6 28015:27017 –> Reenvio de puertos

kubectl edit nginx.yaml –> editar YAML (aplica al guardar)

kubectl get replicaset –> ver replicas de cada servicio

kubectl apply -f https://k8s.io/examples/application/mongodb/mongo-service.yaml –> Aplicar manifest (service, deployment, pod,… local o remoto)

kubectl delete service nginx-service-np –> eliminar servicio