En aquest tema, aprendrem sobre el servidor de mètriques en Kubernetes, una eina essencial per a la monitorització i l'escalabilitat automàtica dels recursos dins d'un clúster. El servidor de mètriques proporciona mètriques d'ús de recursos (com CPU i memòria) per als pods i nodes del clúster.
Objectius d'Aprenentatge
Al final d'aquest tema, hauràs après:
- Què és el servidor de mètriques.
- Com instal·lar i configurar el servidor de mètriques.
- Com utilitzar les mètriques proporcionades pel servidor de mètriques per a l'escalabilitat automàtica.
Què és el Servidor de Mètriques?
El servidor de mètriques és un component de Kubernetes que recopila mètriques d'ús de recursos dels nodes i pods del clúster. Aquestes mètriques són utilitzades per altres components de Kubernetes, com l'Autoscalador Horitzontal de Pods (HPA), per prendre decisions informades sobre l'escalabilitat dels recursos.
Característiques Clau:
- Recopilació de Mètriques: Recopila mètriques d'ús de CPU i memòria.
- Integració amb HPA: Proporciona dades necessàries per a l'escalabilitat automàtica.
- Lleuger i Eficient: Dissenyat per ser lleuger i tenir un impacte mínim en el rendiment del clúster.
Instal·lació del Servidor de Mètriques
Pas 1: Descarregar el Manifests del Servidor de Mètriques
Descarrega els manifests YAML del servidor de mètriques des del repositori oficial de Kubernetes:
kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml
Pas 2: Verificar la Instal·lació
Un cop aplicats els manifests, verifica que el servidor de mètriques s'està executant correctament:
Hauries de veure una sortida similar a aquesta:
Pas 3: Comprovar les Mètriques
Després d'instal·lar el servidor de mètriques, pots comprovar les mètriques d'ús de recursos dels nodes i pods:
Utilització del Servidor de Mètriques per a l'Autoscalabilitat
El servidor de mètriques és essencial per a l'Autoscalador Horitzontal de Pods (HPA). A continuació, es mostra com configurar un HPA utilitzant les mètriques proporcionades pel servidor de mètriques.
Exemple de Configuració d'un HPA
Suposem que tenim un deployment anomenat nginx-deployment
. Crearem un HPA per escalar automàticament els pods basant-se en l'ús de CPU.
apiVersion: autoscaling/v1 kind: HorizontalPodAutoscaler metadata: name: nginx-hpa spec: scaleTargetRef: apiVersion: apps/v1 kind: Deployment name: nginx-deployment minReplicas: 1 maxReplicas: 10 targetCPUUtilizationPercentage: 50
Aplica aquest manifest:
Verificar l'HPA
Pots verificar l'estat de l'HPA amb la següent comanda:
Hauries de veure una sortida similar a aquesta:
NAME REFERENCE TARGETS MINPODS MAXPODS REPLICAS AGE nginx-hpa Deployment/nginx-deployment 10%/50% 1 10 1 1m
Errors Comuns i Consells
Error: "No metrics available for pod"
Aquest error pot aparèixer si el servidor de mètriques no està configurat correctament o si hi ha problemes de connectivitat. Assegura't que el servidor de mètriques s'està executant i que els pods tenen permisos per accedir a les mètriques.
Consell: Monitorització Regular
És important monitoritzar regularment l'estat del servidor de mètriques i les mètriques proporcionades per assegurar-se que el clúster està funcionant de manera òptima.
Resum
En aquest tema, hem après què és el servidor de mètriques, com instal·lar-lo i com utilitzar-lo per a l'escalabilitat automàtica dels recursos en un clúster de Kubernetes. El servidor de mètriques és una eina essencial per a la monitorització i l'optimització del rendiment del clúster.
En el següent tema, explorarem la seguretat en Kubernetes, començant amb el Control d'Accés Basat en Rols (RBAC).
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