Minikube és una eina que permet executar un clúster de Kubernetes localment. És ideal per a desenvolupadors que volen provar Kubernetes en els seus ordinadors personals sense necessitat de configurar un clúster complet. Minikube crea una màquina virtual (VM) en el teu ordinador i desplega un clúster de Kubernetes d'un sol node en aquesta VM.
Objectius d'Aprenentatge
En aquesta secció, aprendràs:
- Què és Minikube i per a què serveix.
- Com instal·lar i configurar Minikube.
- Com utilitzar Minikube per crear i gestionar un clúster de Kubernetes local.
- Com desplegar aplicacions en Minikube.
Què és Minikube?
Minikube és una eina de codi obert que permet als desenvolupadors executar un clúster de Kubernetes localment. És especialment útil per a:
- Provar i desenvolupar aplicacions en Kubernetes sense necessitat d'un clúster complet.
- Aprendre i experimentar amb Kubernetes en un entorn controlat.
- Realitzar demostracions i proves de concepte.
Instal·lació de Minikube
Requisits Previs
Abans d'instal·lar Minikube, assegura't de tenir els següents requisits:
- Un hipervisor instal·lat (com VirtualBox, VMware, Hyper-V, etc.).
kubectl
instal·lat en el teu sistema.
Instal·lació de Minikube
En Linux
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 sudo install minikube-linux-amd64 /usr/local/bin/minikube
En macOS
En Windows
Descarrega l'instal·lador des de aquí i segueix les instruccions.
Configuració de Minikube
Iniciar Minikube
Un cop instal·lat, pots iniciar Minikube amb la següent comanda:
Aquesta comanda crearà una màquina virtual i desplegarà un clúster de Kubernetes d'un sol node en aquesta VM.
Verificar la Instal·lació
Per verificar que Minikube s'ha instal·lat correctament i que el clúster està en funcionament, pots utilitzar la següent comanda:
Hauries de veure un node amb l'estat "Ready".
Utilització de Minikube
Desplegar una Aplicació
Pots desplegar una aplicació en Minikube de la mateixa manera que ho faries en qualsevol clúster de Kubernetes. Per exemple, per desplegar una aplicació Nginx, pots utilitzar les següents comandes:
kubectl create deployment nginx --image=nginx kubectl expose deployment nginx --type=NodePort --port=80
Accedir a l'Aplicació
Per accedir a l'aplicació desplegada, pots utilitzar la següent comanda per obtenir l'URL:
Aquesta comanda et proporcionarà l'URL que pots utilitzar per accedir a l'aplicació Nginx.
Exercicis Pràctics
Exercici 1: Desplegar una Aplicació Simple
- Inicia Minikube.
- Desplega una aplicació simple com Nginx.
- Exposa l'aplicació utilitzant un servei de tipus NodePort.
- Accedeix a l'aplicació utilitzant l'URL proporcionat per Minikube.
Solució
minikube start kubectl create deployment nginx --image=nginx kubectl expose deployment nginx --type=NodePort --port=80 minikube service nginx --url
Exercici 2: Crear un Clúster amb Configuració Personalitzada
- Inicia Minikube amb una configuració personalitzada (per exemple, especificant la quantitat de CPU i memòria).
- Verifica que el clúster s'ha creat amb la configuració especificada.
Solució
Errors Comuns i Consells
- Error: "Host is not running": Això pot ocórrer si la màquina virtual no s'ha iniciat correctament. Prova reiniciar Minikube amb
minikube stop
seguit deminikube start
. - Error: "kubectl not found": Assegura't que
kubectl
està instal·lat i configurat correctament en el teu sistema. - Problemes de rendiment: Si Minikube és lent, prova augmentar la quantitat de CPU i memòria assignada a la màquina virtual.
Resum
En aquesta secció, has après què és Minikube i com utilitzar-lo per crear i gestionar un clúster de Kubernetes local. Has après a instal·lar Minikube, iniciar un clúster, desplegar aplicacions i accedir-hi. També has realitzat exercicis pràctics per reforçar els conceptes apresos. Minikube és una eina poderosa per a desenvolupadors que volen experimentar amb Kubernetes en un entorn local i controlat.
Curs de Kubernetes
Mòdul 1: Introducció a Kubernetes
- Què és Kubernetes?
- Arquitectura de Kubernetes
- Conceptes i Terminologia Clau
- Configuració d'un Clúster de Kubernetes
- CLI de Kubernetes (kubectl)
Mòdul 2: Components Bàsics de Kubernetes
Mòdul 3: Gestió de Configuració i Secrets
Mòdul 4: Xarxes en Kubernetes
Mòdul 5: Emmagatzematge en Kubernetes
Mòdul 6: Conceptes Avançats de Kubernetes
Mòdul 7: Monitorització i Registre
- Monitorització amb Prometheus
- Registre amb Elasticsearch, Fluentd i Kibana (EFK)
- Controls de Salut i Probes
- Servidor de Mètriques
Mòdul 8: Seguretat en Kubernetes
- Control d'Accés Basat en Rols (RBAC)
- Polítiques de Seguretat de Pods
- Seguretat de Xarxa
- Seguretat d'Imatges
Mòdul 9: Escalabilitat i Rendiment
- Autoscalat Horitzontal de Pods
- Autoscalat Vertical de Pods
- Autoscalat de Clúster
- Optimització del Rendiment
Mòdul 10: Ecosistema i Eines de Kubernetes
Mòdul 11: Estudis de Cas i Aplicacions del Món Real
- Desplegament d'una Aplicació Web
- CI/CD amb Kubernetes
- Execució d'Aplicacions Stateful
- Gestió Multi-Clúster