Què és Kubernetes?
Kubernetes és una plataforma de codi obert per a l'orquestració de contenidors que automatitza la gestió, el desplegament, l'escalat i les operacions de les aplicacions contenidoritzades. Va ser desenvolupada per Google i ara és mantinguda per la Cloud Native Computing Foundation (CNCF).
Conceptes Clau de Kubernetes
- Clúster de Kubernetes: Un conjunt de màquines (nodes) que executen aplicacions contenidoritzades gestionades per Kubernetes.
 - Node: Una màquina individual dins del clúster de Kubernetes. Pot ser una màquina física o virtual.
 - Pod: La unitat bàsica de desplegament en Kubernetes. Un pod pot contenir un o més contenidors que comparteixen el mateix espai de xarxa i emmagatzematge.
 - Controlador: Un component que gestiona l'estat dels pods. Exemples inclouen Deployment, StatefulSet, i DaemonSet.
 - Service: Una abstracció que defineix una política d'accés a un conjunt de pods. Proporciona un punt d'entrada estable per accedir als pods.
 - Namespace: Una manera de dividir un clúster de Kubernetes en múltiples entorns virtuals.
 
Arquitectura de Kubernetes
| Component | Descripció | 
|---|---|
| Master Node | Gestiona el clúster de Kubernetes. Inclou components com l'API Server, etcd, Scheduler, i Controller Manager. | 
| Worker Node | Executa les aplicacions contenidoritzades. Inclou components com el kubelet, kube-proxy, i el runtime de contenidors. | 
Components del Master Node
- API Server: Punt d'entrada per a totes les operacions administratives del clúster.
 - etcd: Emmagatzematge de dades distribuït que guarda tota la informació del clúster.
 - Scheduler: Assigna els pods als nodes disponibles.
 - Controller Manager: Gestiona els controladors que regulen l'estat del clúster.
 
Components del Worker Node
- kubelet: Agent que s'executa en cada node i garanteix que els contenidors estan executant-se dins dels pods.
 - kube-proxy: Gestiona les regles de xarxa en cada node.
 - Container Runtime: Software que executa els contenidors (per exemple, Docker, containerd).
 
Instal·lació de Kubernetes
Prerequisits
- Coneixements bàsics de Docker.
 - Accés a màquines virtuals o físiques per crear un clúster.
 
Instal·lació amb Minikube
Minikube és una eina que permet executar un clúster de Kubernetes localment. És ideal per a l'aprenentatge i el desenvolupament.
- 
Instal·la Minikube:
curl -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 chmod +x minikube sudo mv minikube /usr/local/bin/ - 
Inicia Minikube:
minikube start - 
Verifica l'estat del clúster:
kubectl get nodes 
Comandes Bàsiques de Kubernetes
Crear un Pod
Desa aquest fitxer com pod.yaml i crea el pod amb la següent comanda:
Llistar Pods
Obtenir Detalls d'un Pod
Eliminar un Pod
Exercici Pràctic
Objectiu
Crear un clúster de Kubernetes amb Minikube i desplegar un pod que executi un servidor web Nginx.
Passos
- 
Inicia Minikube:
minikube start - 
Crea un fitxer
nginx-pod.yamlamb el següent contingut:apiVersion: v1 kind: Pod metadata: name: nginx-pod spec: containers: - name: nginx-container image: nginx - 
Desplega el pod:
kubectl apply -f nginx-pod.yaml - 
Verifica que el pod està en execució:
kubectl get pods - 
Accedeix al pod:
kubectl port-forward nginx-pod 8080:80 - 
Obre un navegador i visita
http://localhost:8080per veure la pàgina de benvinguda de Nginx. 
Resum
En aquesta secció, hem introduït Kubernetes, una plataforma d'orquestració de contenidors. Hem explorat la seva arquitectura, components clau i comandes bàsiques. També hem realitzat un exercici pràctic per desplegar un pod amb un servidor web Nginx utilitzant Minikube. En el següent tema, aprofundirem en el desplegament de contenidors Docker a Kubernetes.
Docker: De Principiant a Avançat
Mòdul 1: Introducció a Docker
- Què és Docker?
 - Instal·lant Docker
 - Arquitectura de Docker
 - Comandes bàsiques de Docker
 - Entenent les imatges de Docker
 - Creant el teu primer contenidor Docker
 
Mòdul 2: Treballant amb imatges Docker
- Docker Hub i Repositoris
 - Construint imatges Docker
 - Conceptes bàsics de Dockerfile
 - Gestionant imatges Docker
 - Etiquetant i pujant imatges
 
Mòdul 3: Contenidors Docker
- Executant contenidors
 - Cicle de vida del contenidor
 - Gestionant contenidors
 - Xarxes a Docker
 - Persistència de dades amb volums
 
Mòdul 4: Docker Compose
- Introducció a Docker Compose
 - Definint serveis a Docker Compose
 - Comandes de Docker Compose
 - Aplicacions multi-contenidor
 - Variables d'entorn a Docker Compose
 
Mòdul 5: Conceptes avançats de Docker
- Exploració profunda de xarxes Docker
 - Opcions d'emmagatzematge de Docker
 - Millors pràctiques de seguretat de Docker
 - Optimitzant imatges Docker
 - Registre i monitoratge de Docker
 
Mòdul 6: Docker en producció
- CI/CD amb Docker
 - Orquestrant contenidors amb Docker Swarm
 - Introducció a Kubernetes
 - Desplegant contenidors Docker a Kubernetes
 - Escalat i equilibrat de càrrega
 
