es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Se encuentra faltando el atributo Kubelet Rootfs.UsedBytes en /stats/summary en Minikube.

Estamos consumiendo el punto final /stats/summary de kubelet.

Hemos observado que las métricas devueltas no siempre están presentes y pueden faltar en algunos escenarios.

En particular, estamos interesados en la métrica Rootfs.UsedBytes que está ausente en minikube pero presente en otros entornos.

Comando para recuperar /stats/summary de kubelet, tenga en cuenta que el puerto puede variar en diferentes sabores de k8s
“`
token=$(k get secrets <service-account-token-with-enough-privileges> -o json \
| jq .data.token -r | base64 -d -)

k run curler –rm -i –restart=Never –image nginx — \
curl -X GET https://<nodeip>:10250/stats/summary –header "Authorization: Bearer $token" –insecure</nodeip>

“`


"pods": [
{
...
"containers": [
{
...
"rootfs": {
...
"usedBytes": 36864,
...
}

  • ¿Por qué sucede esto?
  • ¿Hay alguna métrica similar más confiable?
  • ¿Se puede agregar algo en Minikube para habilitar eso?

EDIT:

> Es posible que el problema esté relacionado con la opción –driver=docker de minikube

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    ¿Por qué falta la métrica Rootfs.UsedBytes en minikube?

    Es posible que el problema esté relacionado con la opción --driver=docker de minikube. La métrica Rootfs.UsedBytes se obtiene mediante kubelet utilizando la biblioteca cAdvisor, la cual depende del tiempo de ejecución del contenedor para realizar las mediciones.

    Diferentes tiempos de ejecución del contenedor pueden implementar algunas métricas de manera diferente o no implementarlas en absoluto. Es posible que el controlador docker utilizado en minikube no informe la métrica Rootfs.UsedBytes, mientras que otros tiempos de ejecución de contenedores utilizados en otros entornos sí lo hacen.

    ¿Hay alguna métrica similar más confiable?

    Sí, existen métricas similares que pueden indicar el uso de disco de un contenedor. Una de esas métricas es FsUsedBytes, que informa la cantidad de bytes utilizados en el sistema de archivos. Esta métrica está presente en todos los contenedores, ya que se obtiene directamente del sistema de archivos, en lugar de a través del tiempo de ejecución del contenedor.

    ¿Podemos agregar algo en Minikube para habilitar eso?

    Dado que Minikube utiliza docker como el tiempo de ejecución de contenedor predeterminado, es posible que no sea posible habilitar la métrica Rootfs.UsedBytes para los contenedores que se ejecutan en Minikube.

    Sin embargo, podemos intentar cambiar a un tiempo de ejecución de contenedor diferente en Minikube para ver si se soluciona el problema. Por ejemplo, podemos intentar usar containerd en lugar de docker ejecutando minikube start --driver=containerd y ver si se informa la métrica Rootfs.UsedBytes para los contenedores.

    También podemos intentar actualizar Minikube a la última versión, ya que las versiones más nuevas pueden tener un mejor soporte para ciertas métricas.

Comments are closed.