Vea el uso de los recursos con el servidor de métricas de Kubernet
El servidor de métricas de Kubernetes es un agregador de datos de uso de recursos en el clúster. No está implementado en los clústeres de Amazon EKS de forma predeterminada. Para obtener más información, consulte Servidor de métricas de Kubernetes
importante
Las métricas están pensadas para el análisis en un momento dado y no son una fuente precisa para el análisis histórico. No se pueden utilizar como solución de monitorización ni para otros fines que no sean de escalado automático. Para obtener más información sobre las herramientas de monitorización, consulte Supervisión del rendimiento de un clúster y visualización de registros.
-
Implemente el servidor de métricas con el siguiente comando:
kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml
Si utiliza Fargate, deberá cambiar este archivo. En la configuración predeterminada, el servidor de métricas usa el puerto 10250. Este puerto está reservado en Fargate. Sustituya las referencias al puerto 10250 en components.yaml por otro puerto, como el 10251.
-
Compruebe que la implementación de
metrics-server
está ejecutando la cantidad deseada de Pods con el siguiente comando:kubectl get deployment metrics-server -n kube-system
Un ejemplo de salida sería el siguiente.
NAME READY UP-TO-DATE AVAILABLE AGE metrics-server 1/1 1 1 6m
-
Para probar si el servidor de métricas funciona, muestre el uso de recursos (CPU/memoria) de los nodos.
kubectl top nodes
-
Si aparece el mensaje de error
Error from server (Forbidden)
, tiene que actualizar la configuración de la RBAC de Kubernetes. Su identidad RBAC de Kubernetes necesita permisos suficientes para leer las métricas del clúster. Revise https://github.com/kubernetes-sigs/metrics-server/blob/e285375a49e3bf77ddd78c08a05aaa44f2249ebd/manifests/base/rbac.yaml#L5C9-L5C41 (los permisos mínimos de la API de Kubernetes necesarios para leer las métricas) en GitHub. Obtenga información sobre cómo conceder a las identidades de AWS IAM, como los roles, acceso a las API de Kubernetes.