Ja saps què fa Kubernetes, com està construït per dins i què significa cada terme del vocabulari. Tot això ha estat teoria necessària, però Kubernetes no s'aprèn llegint: s'aprèn trencant coses en un clúster propi. Aquesta lliçó té dues parts. Primer, un panorama honest de les opcions reals per aconseguir un clúster —local, autogestionat o gestionat al núvol— amb criteris per triar en un projecte professional. I després, la guia pràctica pas a pas per muntar el clúster de pràctiques que faràs servir durant els dotze mòduls del curs, on desplegarem la plataforma Rutas Norte. En acabar tindràs un entorn funcional, sabràs aturar-lo, reprendre'l i destruir-lo sense por, i coneixeràs les causes de les fallades d'arrencada més habituals.
Contingut
- Les tres vies per aconseguir un clúster
- El clúster de pràctiques del curs: requisits
- Instal·lació de minikube i del driver
- Arrencada del clúster amb recursos suficients
- Addons necessaris per al curs
- Verificació del clúster
- Cicle de vida: aturar, reprendre, destruir
- Alternativa amb kind i clúster multinode
- Resolució de fallades d'arrencada habituals
- Les tres vies per aconseguir un clúster
| Via | Eines | Qui opera el pla de control | Cost | Quan triar-la |
|---|---|---|---|---|
| Local | minikube, kind, k3d, Docker Desktop | Tu, però és rebutjable | Només la teva màquina | Aprendre, desenvolupar, provar manifests i CI |
| Autogestionada | kubeadm, k3s, Rancher, distribucions de proveïdor | Tu, de debò: pedaços, certificats, etcd, còpies | Servidors + persones | Centre de dades propi, requisits legals d'ubicació de la dada, control total |
| Gestionada al núvol | EKS (AWS), AKS (Azure), GKE (Google) | El proveïdor | Quota de pla de control + nodes | La majoria d'empreses en producció |
Criteris pràctics per decidir:
- Estàs aprenent o desenvolupant? Local. Sense discussió: és gratuït, ràpid de recrear i no t'exposa.
- Tens un equip de plataforma amb guàrdies 24×7? Si la resposta és no, evita autogestionar producció. Mantenir etcd, rotar certificats i actualitzar tres vegades l'any no és una feina petita.
- Hi ha restriccions de sobirania de la dada o maquinari especial? Autogestionat, amb kubeadm o una distribució comercial.
- Producció normal d'una empresa normal? Gestionat. Rutas Norte acabarà aquí: el pla de control és un problema del proveïdor i l'equip es concentra en la plataforma.
Cada via té la seva lliçó pròpia més endavant: Minikube i Entorns Locals amb kind, Kubeadm i Kubernetes Gestionat: EKS, AKS i GKE. Aquí només muntem el necessari per tenir entorn de treball.
Per què minikube per a aquest curs
Triem minikube com a opció principal perquè porta de sèrie, mitjançant addons, dues coses que necessitarem molt: un Ingress Controller (mòdul 4) i un aprovisionador d'emmagatzematge dinàmic (mòdul 5). Instal·lar-les a mà en altres eines és feina extra que no aporta aprenentatge en aquest punt. Donem també la recepta equivalent amb kind, que és més lleuger i permet clústers multinode amb facilitat.
- El clúster de pràctiques del curs: requisits
Rutas Norte acabarà amb sis components desplegats alhora més els complements d'observabilitat, així que convé no quedar-se curt de recursos.
| Recurs | Mínim | Recomanat per a tot el curs |
|---|---|---|
| CPU | 2 nuclis | 4 nuclis |
| Memòria RAM | 4 GiB lliures | 8 GiB lliures (16 GiB a la màquina) |
| Disc | 20 GiB lliures | 40 GiB lliures |
| Sistema operatiu | Linux, macOS o Windows 10/11 amb WSL2 | Linux o macOS |
| Virtualització | Docker, o hipervisor (KVM, HyperKit, Hyper-V) | Docker com a driver |
| Xarxa | Accés a internet per descarregar imatges | — |
També necessites kubectl, la instal·lació i l'ús del qual es cobreixen en detall a la lliçó següent, La CLI de Kubernetes: kubectl. Si encara no el tens, minikube pot executar-lo per tu amb minikube kubectl -- <ordre>, encara que el normal és instal·lar-lo a part.
- Instal·lació de minikube i del driver
3.1. El driver
minikube crea el clúster dins d'alguna cosa: un contenidor o una màquina virtual. Aquest "alguna cosa" és el driver.
| Driver | Plataformes | Avantatges | Inconvenients |
|---|---|---|---|
| docker (recomanat) | Linux, macOS, Windows | Ràpid, sense hipervisor, arrencada en segons | El node és un contenidor: menys aïllat |
| kvm2 | Linux | Aïllament real de VM | Requereix KVM i permisos |
| hyperkit / vfkit | macOS | VM lleugera | Menys usat avui |
| hyperv | Windows Pro/Enterprise | Integrat al sistema | Requereix edició Pro |
| none | Linux | Instal·la sobre la mateixa màquina | Modifica el teu sistema; només per a servidors dedicats |
Farem servir docker. Comprova que el tens i que el teu usuari el pot fer servir sense sudo:
Si la segona ordre falla amb permission denied, afegeix el teu usuari al grup docker i torna a iniciar sessió:
3.2. Instal·lar minikube
Linux (x86_64):
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
sudo install minikube-linux-amd64 /usr/local/bin/minikube
rm minikube-linux-amd64macOS (amb Homebrew):
Windows (amb winget, a PowerShell):
Verifica la instal·lació:
- Arrencada del clúster amb recursos suficients
Aquesta és l'ordre que defineix el teu entorn de treball per a tot el curs:
minikube start \
--profile=rutas-norte \
--driver=docker \
--kubernetes-version=v1.30.0 \
--cpus=4 \
--memory=8192 \
--disk-size=40gQuè fa cada opció, i per què:
| Opció | Significat | Per què així |
|---|---|---|
--profile=rutas-norte |
Nom del clúster i del context | Permet tenir diversos clústers independents a la mateixa màquina i no xocar amb altres feines |
--driver=docker |
On es crea el node | Ràpid i sense hipervisor |
--kubernetes-version=v1.30.0 |
Versió fixada | El curs fa servir 1.30+; fixar-la evita que un minikube start futur canviï el comportament |
--cpus=4 |
Nuclis assignats | Suficient per als sis components més Prometheus del mòdul 7 |
--memory=8192 |
MiB de RAM | Per sota de 4096 començaràs a veure pods expulsats |
--disk-size=40g |
Disc del node | Les imatges i els volums persistents ocupen |
Sortida esperada (abreujada):
😄 [rutas-norte] minikube v1.33.1 on Ubuntu 24.04
✨ Using the docker driver based on user configuration
👍 Starting "rutas-norte" primary control-plane node in "rutas-norte" cluster
🚜 Pulling base image ...
🔥 Creating docker container (CPUs=4, Memory=8192MB) ...
🐳 Preparing Kubernetes v1.30.0 on Docker 26.1.1 ...
🔎 Verifying Kubernetes components...
🌟 Enabled addons: default-storageclass, storage-provisioner
🏄 Done! kubectl is now configured to use "rutas-norte" cluster and "default" namespace by defaultDos detalls importants d'aquesta sortida:
- L'última línia indica que minikube ha modificat el teu kubeconfig i ha creat i activat un context anomenat
rutas-norte. Això és el que fa quekubectlparli amb aquest clúster. - Ja s'han habilitat dos addons per defecte:
default-storageclassistorage-provisioner. Són els que ens permetran demanar volums persistents al mòdul 5 sense infraestructura real.
Si la teva màquina té menys recursos, arrenca amb --cpus=2 --memory=4096 i tingues-ho present: al mòdul 7 hauràs d'apagar components per fer lloc.
- Addons necessaris per al curs
Els addons són components preempaquetats que minikube instal·la al clúster. Habilita aquests tres des d'ara:
minikube addons enable ingress --profile=rutas-norte
minikube addons enable metrics-server --profile=rutas-norte
minikube addons list --profile=rutas-norte| Addon | Què instal·la | Per a què el necessitarem |
|---|---|---|
ingress |
Un Ingress Controller basat en NGINX | Publicar www.rutasnorte.example i api.rutasnorte.example (mòdul 4) |
metrics-server |
Recol·lector de mètriques de CPU i memòria | kubectl top i l'autoescalat horitzontal (mòduls 7 i 9) |
storage-provisioner |
Aprovisionador dinàmic de volums | El disc de postgres-reserves (mòdul 5). Ja actiu per defecte |
dashboard (opcional) |
Interfície web del clúster | Còmode per explorar; s'obre amb minikube dashboard |
Comprova que el controlador d'Ingress ha arrencat abans de continuar:
NAME READY STATUS RESTARTS AGE
ingress-nginx-admission-create-9k2xq 0/1 Completed 0 62s
ingress-nginx-admission-patch-hn4vp 0/1 Completed 0 62s
ingress-nginx-controller-768f948f8f-7lxjp 1/1 Running 0 62sEls dos pods en Completed no són cap error: són Jobs d'instal·lació que ja han acabat la seva feina (recorda de la lliçó anterior que un Job acaba, no es queda corrent). L'important és el tercer, en Running i 1/1.
- Verificació del clúster
Tres comprovacions que convé fer sempre després de crear un clúster.
1. El node està llest:
NAME STATUS ROLES AGE VERSION INTERNAL-IP OS-IMAGE CONTAINER-RUNTIME
rutas-norte Ready control-plane 3m v1.30.0 192.168.49.2 Ubuntu 22.04.4 LTS docker://26.1.1El rellevant: STATUS: Ready (el kubelet reporta i el plugin de xarxa funciona) i ROLES: control-plane (a minikube el mateix node fa de pla de control i de treballador, cosa que en producció no passaria mai).
2. Els components del sistema estan sans:
NAMESPACE NAME READY STATUS RESTARTS AGE
ingress-nginx ingress-nginx-controller-768f948f8f 1/1 Running 0 2m
kube-system coredns-7db6d8ff4d-4rzmt 1/1 Running 0 3m
kube-system etcd-rutas-norte 1/1 Running 0 3m
kube-system kube-apiserver-rutas-norte 1/1 Running 0 3m
kube-system kube-controller-manager-rutas-norte 1/1 Running 0 3m
kube-system kube-proxy-9wgbn 1/1 Running 0 3m
kube-system kube-scheduler-rutas-norte 1/1 Running 0 3m
kube-system metrics-server-7d9f8c6b5-x2klp 1/1 Running 0 1m
kube-system storage-provisioner 1/1 Running 0 3mReconeix aquesta llista: són exactament els components de la lliçó Arquitectura de Kubernetes, ara corrent de debò a la teva màquina. Fixa't que a minikube el pla de control s'executa com a pods dins del mateix clúster (static pods gestionats pel kubelet), i que apareix coredns, el servidor DNS intern que estudiarem al mòdul 4.
3. L'API respon i saps a quin clúster parles:
Kubernetes control plane is running at https://192.168.49.2:8443
CoreDNS is running at https://192.168.49.2:8443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy
rutas-norteSi les tres comprovacions passen, tens un clúster operatiu.
- Cicle de vida: aturar, reprendre, destruir
Un clúster local consumeix recursos encara que no el facis servir. Aquestes són les quatre ordres que necessites:
# Aturar el clúster conservant TOT el seu estat (objectes, imatges, volums)
minikube stop --profile=rutas-norte
# Reprendre'l tal com estava, amb la mateixa configuració
minikube start --profile=rutas-norte
# Veure l'estat actual
minikube status --profile=rutas-norte
# Destruir-lo del tot: es perd tot el que s'ha desplegat
minikube delete --profile=rutas-norte| Ordre | Què conserva | Quan fer-la servir |
|---|---|---|
stop |
Tot: objectes, dades de volums, imatges descarregades | En acabar la sessió d'estudi |
start (sobre un perfil existent) |
Tot l'anterior | En reprendre el curs |
delete |
Res d'aquell perfil | Quan el clúster està trencat o en acabar el curs |
Consell de mètode: que
minikube deleteno et faci por és precisament l'objectiu. Si tots els teus manifests estan versionats al directorik8s/del repositori —com farem des de la lliçó 01-07— recrear el clúster i tornar-los a aplicar t'hauria de costar cinc minuts. Si et fa por esborrar-lo, és senyal que hi ha estat important que no és a Git.
També et resultarà útil:
# Obrir un shell dins del node (per inspeccionar el runtime)
minikube ssh --profile=rutas-norte
# Obtenir la IP del node, que necessitarem per a l'Ingress del mòdul 4
minikube ip --profile=rutas-norte
- Alternativa amb kind i clúster multinode
kind (Kubernetes IN Docker) crea cada node com un contenidor Docker. És més lleuger que minikube i el seu gran avantatge és la facilitat per muntar un clúster multinode, cosa que t'anirà bé quan estudiem planificació i afinitat (mòdul 6). El seu desavantatge: no porta addons, així que Ingress i emmagatzematge requereixen passos extra.
Instal·lació a Linux:
curl -Lo ./kind https://kind.sigs.k8s.io/dl/v0.23.0/kind-linux-amd64
sudo install ./kind /usr/local/bin/kind && rm ./kind
kind versionFitxer de configuració amb un node de control i dos treballadors, preparat a més per a Ingress:
# k8s/entorn-local/kind-rutas-norte.yaml
kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
name: rutas-norte
nodes:
- role: control-plane
# Etiqueta que l'Ingress Controller de kind espera trobar
kubeadmConfigPatches:
- |
kind: InitConfiguration
nodeRegistration:
kubeletExtraArgs:
node-labels: "ingress-ready=true"
# Publiquem el 80 i el 443 del node a la màquina amfitriona
extraPortMappings:
- containerPort: 80
hostPort: 80
protocol: TCP
- containerPort: 443
hostPort: 443
protocol: TCP
- role: worker
labels:
zona: nord
- role: worker
labels:
zona: sudExplicació de les parts que importen:
nodes: cada entrada és un contenidor Docker que actuarà com a node. Aquí en tindrem tres.extraPortMappings: sense això, el port 80 del clúster no seria accessible des del teu navegador. És l'equivalent alminikube tunnel.labelsals workers: etiquetes de node que farem servir per practicar afinitat i antiafinitat al mòdul 6, simulant dues zones de disponibilitat.
Creació i verificació:
NAME STATUS ROLES AGE VERSION
rutas-norte-control-plane Ready control-plane 75s v1.30.0
rutas-norte-worker Ready <none> 52s v1.30.0
rutas-norte-worker2 Ready <none> 52s v1.30.0Instal·lar l'Ingress Controller (kind no el porta) i esborrar el clúster quan ja no calgui:
kubectl apply -f https://raw.githubusercontent.com/kubernetes-sigs/ingress-nginx/main/deploy/static/provider/kind/deploy.yaml
kind delete cluster --name rutas-norteQuè triar: si dubtes, minikube. Fes servir kind quan necessitis diversos nodes o quan muntis Kubernetes dins d'una canalització d'integració contínua, on la seva rapidesa de creació és decisiva.
- Resolució de fallades d'arrencada habituals
| Símptoma | Causa probable | Solució |
|---|---|---|
Exiting due to RSRC_INSUFFICIENT_CORES |
Has demanat més CPU de la disponible | Baixa --cpus, o amplia els recursos de Docker Desktop a Ajustos → Resources |
docker: permission denied while trying to connect to the Docker daemon socket |
El teu usuari no és al grup docker |
sudo usermod -aG docker $USER && newgrp docker |
Unable to pick a default driver |
No hi ha Docker ni hipervisor disponible | Instal·la Docker i arrenca el seu servei; després --driver=docker |
L'arrencada es queda a Pulling base image |
Xarxa lenta, proxy corporatiu o límit de descàrregues | Configura HTTP_PROXY/HTTPS_PROXY, o reintenta; la imatge base ronda 1 GB |
Node en NotReady de manera permanent |
Plugin de xarxa no llest o manca de memòria | kubectl describe node i revisa les condicions; se sol resoldre amb minikube delete i tornar a crear |
Pods en ImagePullBackOff |
Imatge inexistent, etiqueta mal escrita o registre privat sense credencials | kubectl describe pod i llegeix els esdeveniments; verifica el nom exacte de la imatge |
Pods del sistema en CrashLoopBackOff després de suspendre el portàtil |
Desfasament de rellotge entre l'amfitrió i el node, que invalida els certificats | minikube stop && minikube start sobre el mateix perfil |
kubectl respon connection refused |
El clúster està aturat o el context apunta a un altre lloc | minikube status i kubectl config use-context rutas-norte |
The connection to the server localhost:8080 was refused |
No hi ha kubeconfig: kubectl fa servir el valor per defecte | Arrenca minikube, o exporta KUBECONFIG al fitxer correcte |
| S'acaba el disc a mig curs | Imatges acumulades | minikube ssh -- docker system prune -a, o recrea el clúster amb --disk-size més gran |
Ordres de diagnòstic de propòsit general quan alguna cosa va malament a l'arrencada:
minikube status --profile=rutas-norte
minikube logs --profile=rutas-norte | tail -50
kubectl get events -A --sort-by=.metadata.creationTimestamp | tail -20La tercera és especialment valuosa i la farem servir molt: els esdeveniments són el diari del clúster i gairebé sempre contenen l'explicació en text pla de per què alguna cosa no ha funcionat.
Errors Comuns i Consells
- Arrencar amb els valors per defecte (2 CPU, 2 GiB). Funciona per als primers mòduls i es queda curt tan bon punt hi afegeixis observabilitat. És millor dimensionar bé des del principi que recrear el clúster a mig curs.
- No fer servir
--profile. Si treballes amb diversos clústers locals, el perfil per defecte es converteix en una font de confusió: acabes aplicant manifests al clúster equivocat. Anomenar el perfilrutas-nortedeixa sempre clar on ets. - Canviar la versió de Kubernetes entre sessions. Si un dia arrenques amb 1.30 i un altre sense fixar versió, canvien comportaments i APIs. Fixa la versió a l'ordre i anota-la al repositori.
- Confondre "el clúster ha arrencat" amb "el clúster està llest".
minikube startretorna abans que els addons estiguin operatius. Comprova sempre ambkubectl get pods -Aque no hi ha res enPendingoContainerCreating. - Esperar que un
Servicede tipusLoadBalancerobtingui IP externa. En local no hi ha cloud-controller-manager (ho vam veure a 01-02): es queda en<pending>. Es resol ambminikube tunnel, i ho tractarem al mòdul 4. - Deixar el clúster corrent permanentment. Consumeix CPU i bateria.
minikube stopen acabar la sessió conserva absolutament tot. - Consell: desa la teva ordre de creació de clúster al mateix repositori (per exemple, a
k8s/entorn-local/READMEo un scriptcrear-cluster.sh). Forma part de la documentació del projecte tant com els manifests.
Exercicis
Exercici 1: Crear i verificar el teu clúster
Munta el clúster de pràctiques amb el perfil rutas-norte, 4 CPU, 8 GiB i Kubernetes 1.30, habilita els addons ingress i metrics-server, i respon:
- Quants nodes té i quin rol tenen?
- Quants pods hi ha al namespace
kube-systemi quins es corresponen amb components del pla de control que vas estudiar a la lliçó 01-02? - Quina és la IP del node?
- Quin context de kubectl està actiu?
Exercici 2: Cicle de vida i persistència de l'estat
Crea el namespace de desenvolupament del projecte, atura el clúster, reprèn-lo i comprova si el namespace continua existint:
kubectl create namespace rutas-norte-dev
minikube stop --profile=rutas-norte
minikube start --profile=rutas-norte
kubectl get namespacesExplica per què el resultat és el que és, esmentant on es desa aquest objecte. Després, indica quina ordre faria desaparèixer aquest namespace juntament amb tota la resta.
Exercici 3: Clúster multinode amb kind
Crea amb kind un clúster anomenat rutas-norte-multi amb un node de control i dos treballadors etiquetats com a zona: nord i zona: sud. Comprova que els tres nodes estan Ready i mostra únicament els nodes de la zona nord. Explica en dues línies per què aquest clúster et serà útil al mòdul 6 i per què no el fem servir com a entorn principal del curs.
Solucions
Solució 1
minikube start --profile=rutas-norte --driver=docker \
--kubernetes-version=v1.30.0 --cpus=4 --memory=8192 --disk-size=40g
minikube addons enable ingress --profile=rutas-norte
minikube addons enable metrics-server --profile=rutas-norte- Un sol node, amb rol
control-plane. A minikube aquest mateix node executa també les càrregues d'usuari, cosa que en producció no es fa: el pla de control es reserva mitjançant taints. - Al voltant de vuit pods. Es corresponen amb l'arquitectura:
etcd,kube-apiserver,kube-scheduler,kube-controller-manager(pla de control),kube-proxy(node), méscoredns(DNS intern),storage-provisionerimetrics-server. No apareixcloud-controller-managerperquè no hi ha proveïdor de núvol. minikube ip --profile=rutas-norte→ típicament192.168.49.2.kubectl config current-context→rutas-norte.
Solució 2
El namespace continua existint després de stop i start. La raó és que stop no destrueix res: apaga el contenidor o la VM del node conservant-ne el disc, i en aquest disc hi ha etcd, que és on viu l'objecte Namespace. En reprendre, l'apiserver torna a llegir de la mateixa etcd i tot l'estat declarat reapareix.
L'ordre que sí que ho destruiria tot és minikube delete --profile=rutas-norte, que elimina el node i el seu disc, etcd inclosa. Per això els manifests han de viure a Git: recrear el clúster és aleshores un tràmit.
Solució 3
kind create cluster --config k8s/entorn-local/kind-rutas-norte.yaml --name rutas-norte-multi
kubectl get nodes --show-labels
kubectl get nodes -l zona=nordSerà útil al mòdul 6 perquè l'afinitat, l'antiafinitat, els taints i la dispersió per topologia només es poden practicar de debò amb diversos nodes: en un clúster d'un sol node el scheduler no té cap decisió a prendre. No el fem servir com a entorn principal perquè kind no inclou addons: caldria instal·lar a mà l'Ingress Controller i un aprovisionador d'emmagatzematge, feina que en aquest punt del curs distreu de l'objectiu.
Conclusió
Ja tens un clúster de Kubernetes funcionant a la teva màquina, amb el perfil rutas-norte, la versió 1.30 fixada, recursos suficients per a tot el curs i els addons d'Ingress, mètriques i emmagatzematge dinàmic habilitats. Has vist també el panorama complet d'opcions —local, autogestionat amb kubeadm, gestionat al núvol— i els criteris per triar-ne una o una altra en un projecte real, a més d'una alternativa multinode amb kind per quan arribem a la planificació. I, sobretot, saps aturar-lo, reprendre'l i destruir-lo sense por, perquè la veritat operativa del curs és que el clúster és reemplaçable i els manifests no.
Tens l'entorn, però tot just has fet servir l'eina amb què hi parlaràs. A la lliçó següent, La CLI de Kubernetes: kubectl, dominarem kubectl a fons: el fitxer kubeconfig i els contextos, els verbs que faràs servir cada dia, els formats de sortida, la selecció per etiquetes i els trucs de productivitat que marquen la diferència entre barallar-se amb el clúster i treballar amb desimboltura.
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
- La CLI de Kubernetes: kubectl
- Objectes, Manifests YAML i el Model Declaratiu
- El Projecte del Curs: la Plataforma Rutas Norte
Mòdul 2: Components Principals de Kubernetes
- Pods
- ReplicaSets
- Deployments
- Actualitzacions, Rollbacks i Estratègies de Desplegament
- Serveis
- Namespaces
- Etiquetes, Selectors i Anotacions
Mòdul 3: Gestió de Configuració i Secrets
- ConfigMaps
- Secrets
- Variables d'Entorn
- Quotes i Límits de Recursos
- LimitRanges i Classes de Qualitat de Servei (QoS)
- ServiceAccounts i Accés a l'API des dels Pods
Mòdul 4: Xarxes a Kubernetes
- Xarxes de Clúster
- Tipus de Serveis
- DNS Intern i Descobriment de Serveis
- Controladors d'Ingress
- TLS i Gestió de Certificats amb cert-manager
- Polítiques de Xarxa
Mòdul 5: Emmagatzematge a Kubernetes
- Volums
- Volums Persistents
- Reclamacions de Volums Persistents
- Classes d'Emmagatzematge
- Aprovisionament Dinàmic, Expansió i Snapshots
- Còpies de Seguretat i Restauració de Dades
Mòdul 6: Conceptes Avançats de Kubernetes
- StatefulSets
- DaemonSets
- Treballs i CronJobs
- Init Containers, Sidecars i Patrons Multicontenidor
- Planificació: Afinitat, Taints i Toleracions
- Definicions de Recursos Personalitzats (CRDs)
- Operadors i el Patró Controlador
Mòdul 7: Monitoratge i Registre
- Verificacions de Salut i Sondes
- Servidor de Mètriques i kubectl top
- Monitoratge amb Prometheus
- Visualització i Alertes amb Grafana i Alertmanager
- Registre Centralitzat amb Elasticsearch, Fluentd i Kibana (EFK)
- Depuració d'Aplicacions i Esdeveniments del Clúster
Mòdul 8: Seguretat a Kubernetes
- Control d'Accés Basat en Rols (RBAC)
- Contextos de Seguretat i Enduriment del Contenidor
- Polítiques de Seguretat de Pods i Pod Security Standards
- Seguretat de Xarxa
- Seguretat d'Imatges
- Auditoria, Escaneig i Gestió de Vulnerabilitats
Mòdul 9: Escalat i Rendiment
- Autoescalat Horitzontal de Pods
- Autoescalat Vertical de Pods
- Autoescalat de Clúster
- Escalat per Esdeveniments i Mètriques Personalitzades amb KEDA
- Alta Disponibilitat: PodDisruptionBudgets i Topologia
- Ajust de Rendiment
Mòdul 10: Ecosistema i Eines de Kubernetes
- Minikube i Entorns Locals amb kind
- Kubeadm
- Helm
- Kustomize
- GitOps amb Argo CD i Flux
- Kubernetes Gestionat: EKS, AKS i GKE
Mòdul 11: Estudis de Cas i Aplicacions del Món Real
- Desplegament d'una Aplicació Web
- Execució d'Aplicacions amb Estat
- CI/CD amb Kubernetes
- Estratègies de Desplegament: Blue-Green i Canary
- Gestió Multi-Clúster
- Operació en Producció: Incidències, Runbooks i Costos
