Introducció
Els Pods són la unitat bàsica de desplegament en Kubernetes. Un Pod representa un conjunt d'un o més contenidors que comparteixen el mateix espai de xarxa i sistema de fitxers. Els Pods són efímers, el que significa que poden ser creats i destruïts segons les necessitats del clúster.
Conceptes Clau
- Contenidors: Un Pod pot contenir un o més contenidors Docker.
- Espai de Xarxa Compartit: Tots els contenidors dins d'un Pod comparteixen la mateixa adreça IP i ports.
- Volums Compartits: Els contenidors dins d'un Pod poden compartir volums per a l'emmagatzematge de dades.
Creació d'un Pod
Exemple de YAML per a un Pod
apiVersion: v1 kind: Pod metadata: name: my-pod labels: app: my-app spec: containers: - name: my-container image: nginx:latest ports: - containerPort: 80
Explicació del YAML
- apiVersion: La versió de l'API de Kubernetes que s'està utilitzant.
- kind: El tipus de recurs que s'està creant, en aquest cas, un Pod.
- metadata: Informació sobre el Pod, com ara el nom i les etiquetes.
- spec: L'especificació del Pod, que inclou els contenidors i les seves configuracions.
- containers: Una llista de contenidors que s'executaran dins del Pod.
- name: El nom del contenidor.
- image: La imatge Docker que s'utilitzarà per al contenidor.
- ports: Els ports que el contenidor exposarà.
Comandes bàsics amb kubectl
Crear un Pod
Llistar Pods
Obtenir informació detallada d'un Pod
Eliminar un Pod
Exercicis Pràctics
Exercici 1: Crear un Pod
-
Crea un fitxer YAML anomenat
nginx-pod.yaml
amb el següent contingut:apiVersion: v1 kind: Pod metadata: name: nginx-pod labels: app: nginx spec: containers: - name: nginx-container image: nginx:latest ports: - containerPort: 80
-
Aplica el fitxer per crear el Pod:
kubectl apply -f nginx-pod.yaml
-
Verifica que el Pod s'ha creat correctament:
kubectl get pods
Exercici 2: Obtenir informació d'un Pod
-
Utilitza la comanda
kubectl describe
per obtenir informació detallada del Podnginx-pod
:kubectl describe pod nginx-pod
-
Identifica la imatge Docker que s'està utilitzant i els ports exposats pel contenidor.
Exercici 3: Eliminar un Pod
-
Elimina el Pod
nginx-pod
:kubectl delete pod nginx-pod
-
Verifica que el Pod s'ha eliminat correctament:
kubectl get pods
Errors Comuns i Consells
-
Error: Pod no es crea: Assegura't que el fitxer YAML està ben format i que la imatge Docker especificada existeix.
-
Error: Pod en estat "CrashLoopBackOff": Revisa els logs del Pod per identificar problemes amb el contenidor:
kubectl logs <pod-name>
-
Consell: Utilitza etiquetes (labels) per organitzar i gestionar millor els teus Pods.
Resum
En aquesta secció, hem après què són els Pods, com crear-los i gestionar-los utilitzant kubectl
. Els Pods són la unitat bàsica de desplegament en Kubernetes i permeten executar un o més contenidors que comparteixen el mateix espai de xarxa i volums. Hem vist exemples pràctics de com crear, llistar, obtenir informació i eliminar Pods, així com alguns errors comuns i consells per evitar-los.
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