Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

717
Views
¿Cómo puedo resumir todos los límites de recursos y solicitudes en Kubernetes con kubectl?

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. Una visualización gráfica de Lens donde puede ver una advertencia que indica que los límites especificados son más altos que la capacidad del nodo

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}' -A

Eso 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.

over 4 years ago · Santiago Trujillo
3 answers
Answer question

0

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 $tot

Puede ampliar lo anterior para calcular las solicitudes de CPU y las solicitudes de memoria y también los valores límite.

over 4 years ago · Santiago Trujillo Report

0

Desafortunadamente, no es posible hacerlo con el uso exclusivo de kubectl .

Sin embargo, podría, por ejemplo, considerar usar:

  1. Función JSON $sum() :

Devuelve la suma aritmética de una matriz de números.

  1. Servidor de métricas, Grafana y Prometheus :

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.

  1. Kube-estado-métricas :

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.

over 4 years ago · Santiago Trujillo Report

0

puede usar un complemento de kubectl para listar/ordenar pods con límites de CPU:

 kubectl resource-capacity --sort cpu.limit --util --pods

https://github.com/robscott/kube-capacity

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!