Introducció

Kubernetes és una plataforma de codi obert dissenyada per automatitzar el desplegament, l'escalat i la gestió d'aplicacions en contenidors. Originalment desenvolupada per Google, Kubernetes ara és mantinguda per la Cloud Native Computing Foundation (CNCF). Aquesta plataforma permet als desenvolupadors i administradors de sistemes gestionar aplicacions contenidoritzades de manera eficient i escalable.

Objectius d'Aprenentatge

En aquesta secció, aprendràs:

  • Què és Kubernetes i per què és important.
  • Els beneficis d'utilitzar Kubernetes.
  • Una visió general de les seves funcionalitats principals.

Què és Kubernetes?

Kubernetes, sovint abreujat com K8s, és una plataforma de gestió de contenidors que proporciona un entorn per executar aplicacions contenidoritzades de manera consistent i fiable. Kubernetes s'encarrega de la gestió del cicle de vida dels contenidors, incloent-hi el desplegament, l'escalat, la supervisió i la recuperació d'errors.

Característiques Clau de Kubernetes

  1. Orquestració de Contenidors: Kubernetes automatitza el desplegament, la gestió i l'escalat de les aplicacions contenidoritzades.
  2. Escalabilitat: Permet escalar les aplicacions de manera horitzontal (afegint més instàncies de contenidors) i vertical (assignant més recursos a les instàncies existents).
  3. Recuperació Automàtica: Kubernetes pot detectar i substituir contenidors fallits, garantint la disponibilitat contínua de les aplicacions.
  4. Gestió de Configuració i Secrets: Proporciona mecanismes per gestionar la configuració de les aplicacions i els secrets de manera segura.
  5. Xarxes i Emmagatzematge: Facilita la configuració de xarxes i l'ús d'emmagatzematge persistent per als contenidors.

Beneficis d'Utilitzar Kubernetes

  • Portabilitat: Kubernetes és compatible amb qualsevol infraestructura, ja sigui en el núvol, en un centre de dades local o en un entorn híbrid.
  • Eficiència Operacional: Automatitza moltes tasques operacionals, reduint la càrrega de treball dels administradors de sistemes.
  • Alta Disponibilitat: Proporciona mecanismes per garantir que les aplicacions estiguin sempre disponibles, fins i tot en cas de fallades.
  • Escalabilitat Dinàmica: Permet escalar les aplicacions de manera dinàmica en funció de la demanda, optimitzant l'ús dels recursos.

Exemples Pràctics

Desplegament d'un Contenidor amb Kubernetes

A continuació, es mostra un exemple senzill de com desplegar un contenidor amb Kubernetes utilitzant un fitxer de configuració YAML.

apiVersion: v1
kind: Pod
metadata:
  name: nginx-pod
spec:
  containers:
  - name: nginx
    image: nginx:latest
    ports:
    - containerPort: 80

Explicació del Codi:

  • apiVersion: Especifica la versió de l'API de Kubernetes que s'està utilitzant.
  • kind: Defineix el tipus de recurs que s'està creant, en aquest cas, un Pod.
  • metadata: Proporciona informació sobre el Pod, com ara el seu nom.
  • spec: Defineix les especificacions del Pod, incloent-hi els contenidors que conté.
  • containers: Llista de contenidors dins del Pod. En aquest exemple, es desplega un contenidor nginx utilitzant la imatge nginx:latest.
  • ports: Defineix els ports que s'exposen des del contenidor.

Comandes Bàsiques amb kubectl

Per desplegar el Pod definit anteriorment, utilitzarem la comanda kubectl:

kubectl apply -f nginx-pod.yaml

Per verificar que el Pod s'ha desplegat correctament:

kubectl get pods

Exercici Pràctic

Exercici 1: Desplegar un Pod

  1. Crea un fitxer YAML anomenat myapp-pod.yaml amb el següent contingut:
apiVersion: v1
kind: Pod
metadata:
  name: myapp-pod
spec:
  containers:
  - name: myapp
    image: myapp:latest
    ports:
    - containerPort: 8080
  1. Utilitza kubectl per desplegar el Pod:
kubectl apply -f myapp-pod.yaml
  1. Verifica que el Pod s'ha desplegat correctament:
kubectl get pods

Solució

Si has seguit els passos correctament, hauries de veure el Pod myapp-pod en la llista de Pods desplegats.

Conclusió

En aquesta secció, hem après què és Kubernetes, les seves característiques clau i els beneficis d'utilitzar-lo. També hem vist un exemple pràctic de com desplegar un contenidor utilitzant Kubernetes i hem practicat amb un exercici. En la següent secció, explorarem l'arquitectura de Kubernetes per entendre millor com funciona aquesta plataforma.

Curs de Kubernetes

Mòdul 1: Introducció a Kubernetes

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

Mòdul 8: Seguretat en Kubernetes

Mòdul 9: Escalabilitat i Rendiment

Mòdul 10: Ecosistema i Eines de Kubernetes

Mòdul 11: Estudis de Cas i Aplicacions del Món Real

Mòdul 12: Preparació per a la Certificació de Kubernetes

© Copyright 2024. Tots els drets reservats