Empecé a usar Lens y noté que te da algunas advertencias cuando los pods dentro de los nodos tienen límites más altos que la capacidad real. 
Así que traté de obtener esta información con kubectl , pero soy nuevo en jsonpath y logré obtener la información sin procesar usando algo como esto:
kubectl get pods -o=jsonpath='{.items..resources.limits}' -AEso produce algo como esto:
{"cpu":"200m","memory":"1Gi"} {"cpu":"200m","memory":"1Gi"} {"cpu":"200m","memory":"512Mi"} {"cpu":"500m","memory":"250Mi"} {"memory":"170Mi"} {"memory":"170Mi"} {"cpu":"2","memory":"2Gi"} {"cpu":"2","memory":"2Gi"} {"cpu":"2","memory":"2Gi"} {"cpu":"1","memory":"1Gi"} {"cpu":"1","memory":"1Gi"} {"cpu":"2","memory":"2Gi"} {"cpu":"100m","memory":"128Mi"} {"cpu":"100m","memory":"128Mi"} {"cpu":"500m","memory":"600Mi"} {"cpu":"1","memory":"1Gi"} {"cpu":"100m","memory":"25Mi"} {"cpu":"100m","memory":"25Mi"}Entonces, mis preguntas son, ¿cómo puedo sumar todos estos valores? ¿Serán precisos estos valores o me falta alguna otra consulta? Verifiqué usando LimitRange y los valores que obtuve parecen ser correctos, los resultados incluyen los límites establecidos por la configuración de LimitRange.
No es posible con solo los comandos de kubectl . Sin embargo, puede usar la salida de kubectl y escribir un script de shell básico para calcular los valores totales.
El siguiente script de shell generará los límites totales de CPU (en m unidades) de todos los pods en todos los espacios de nombres.
res=$(kubectl get pods -o=jsonpath='{.items[*]..resources.limits.cpu}' -A) let tot=0 for i in $res do if [[ $i =~ "m" ]]; then i=$(echo $i | sed 's/[^0-9]*//g') tot=$(( tot + i )) else tot=$(( tot + i*1000 )) fi done echo $totPuede ampliar lo anterior para calcular las solicitudes de CPU y las solicitudes de memoria y también los valores límite.
Desafortunadamente, no es posible hacerlo con el uso exclusivo de kubectl .
Sin embargo, podría, por ejemplo, considerar usar:
Devuelve la suma aritmética de una matriz de números.
Veremos los pasos necesarios para monitorear la cantidad de recursos (CPU o memoria) que usa un pod de Kubernetes. Por lo tanto, veremos:
Solicitudes de CPU/límites/uso real/aceleración
Solicitudes de memoria/límites/uso real/terminación
o, alternativamente , supervise la CPU del nodo de Kubernetes y las solicitudes/límites de memoria :
Las solicitudes/límites de CPU del nodo son una suma de las solicitudes/límites de CPU para todos los pods que se ejecutan en ese nodo. Del mismo modo, las solicitudes/límites de memoria del nodo son una suma de las solicitudes/límites de memoria de todos los pods.
kube-state-metrics es un servicio simple que escucha el servidor API de Kubernetes y genera métricas sobre el estado de los objetos. (Consulte los ejemplos en la sección Métricas a continuación). No se centra en el estado de los componentes individuales de Kubernetes, sino en el estado de los diversos objetos internos, como implementaciones, nodos y pods.
puede usar un complemento de kubectl para listar/ordenar pods con límites de CPU:
kubectl resource-capacity --sort cpu.limit --util --pods