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.yaml
amb 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:8080
per 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