Suscríbase al feed

En octubre pasado, anunciamos la versión de prueba para desarrolladores de la función de supervisión de energía para Red Hat OpenShift, y presentamos Kepler como elemento integral de la iniciativa de informática sostenible de la comunidad upstream. La iniciativa permite que los primeros usuarios experimenten con esta tecnología prometedora. Desde el anuncio, nuestro equipo trabajó arduamente para diseñar canales y herramientas que cumplieran con los estándares de seguridad y pruebas de los productos de Red Hat.

Hoy nos complace anunciar un nuevo hito en el proceso: el lanzamiento de la versión de prueba de la función de supervisión de energía para Red Hat OpenShift. Agradecemos con sinceridad a todos los primeros usuarios y amantes de la tecnología revolucionaria que participaron activamente en la implementación de esta función y compartieron con generosidad sus valiosos comentarios.

Power monitoring for Red Hat OpenShift icon

Para quienes que no tuvieron la oportunidad de experimentar con la función de supervisión de energía para Red Hat OpenShift, se trata de un conjunto de herramientas que le permiten supervisar el consumo de energía de las cargas de trabajo que se ejecutan en los clústeres de OpenShift. Esta información se puede aprovechar para diversos fines, como la identificación de los espacios de nombres que consumen más energía o la formulación de un plan estratégico para disminuir su consumo.

Si le interesa experimentar con esta versión de prueba, a continuación le brindamos los detalles para que comience a usarla. Lea la declaración sobre la versión de prueba para obtener más información sobre el soporte oficial.

Instalación de la función de supervisión de energía para Red Hat OpenShift

Nuestro objetivo es proporcionar una experiencia unificada y, por ese motivo, los pasos para la instalación se parecen mucho a los de la versión anterior de la función, que dependía del operador de la comunidad.

  1. Habilite user-workload-monitoring siguiendo las instrucciones provistas en la documentación de Red Hat OpenShift.
  2. Para evitar conflictos innecesarios, primero, desinstale toda versión anterior de kepler-operator que haya instalado a través del catálogo de operadores de la comunidad.
  3. Instale el operador desde la consola de OpenShift 4.14 (y versiones posteriores) dirigiéndose a "Operators -> OperatorHub". Luego, use el cuadro de búsqueda para buscar la función de supervisión de energía para Red Hat OpenShift, haga clic en ella y presione el botón "Install".
  4. Una vez que se instale el operador, cree una instancia de la definición de recursos personalizados de Kepler haciendo clic en "View Operator" y, luego, haga clic en "Create instance" debajo de la API de Kepler.
Screenshot of view operator details

Listo. Una vez que se instale Kepler, habrá dos nuevos paneles disponibles en la pestaña "Observe>Dashboards" de la interfaz de usuario de la consola de OpenShift:

Selecting power monitoring dashboards

Para obtener más información sobre la supervisión de energía, se recomienda encarecidamente leer la documentación oficial sobre la función en los documentos de OpenShift.

El poder de la supervisión

Al usar estos paneles, podrá obtener la siguiente información sobre el clúster y sus cargas de trabajo:

  • Supervise la energía total que se consumió en su clúster durante las últimas 24 horas y acceda a información sobre la arquitectura de la CPU seleccionada y la cantidad de nodos supervisados.
  • Consulte un desglose de los espacios de nombres que consumen más energía.
  • Conozca los contenedores y los pods que consumen la mayor cantidad de energía. Esto se puede lograr analizando los indicadores expuestos por Kepler en la pestaña "Observe -> Metrics".
    • Recomendación de los especialistas: puede consultar todos los indicadores disponibles en la función con esta expresión regular: { __name__ =~ "kepler.+"}.

Como se mencionó anteriormente, la incorporación de Kepler en OpenShift hace que estos indicadores estén disponibles. El conjunto de indicadores que obtiene Kepler depende en gran medida del hardware fundamental y de la configuración del clúster. En la actualidad, Kepler proporciona mediciones precisas de un conjunto determinado de configuraciones de la nube, específicamente aquellas basadas en el hardware de Intel capaz de exponer el límite de potencia promedio en funcionamiento (RAPL) y la configuración avanzada y la interfaz de energía (ACPI) en las implementaciones en servidores dedicados (bare metal).

Para otras configuraciones, se proporciona un modelo de machine learning (aprendizaje automático) inicial. Red Hat trabaja con la comunidad en general para mejorar aún más la precisión de los estimadores basados en dicha tecnología. Por el momento, las estimaciones demuestran ser uniformes, es decir que puede confiar en que le mostrarán las variaciones entre distintas ejecuciones de la misma carga de trabajo. Sin embargo, es importante tener en cuenta que son aproximaciones del consumo de energía real.

Para ayudar a nuestros usuarios a comprender si los valores que Kepler proporciona de manera predeterminada están basados en indicadores o en modelos, agregamos una columna adicional denominada "Components Source" en el panel "Node - CPU Architecture" de la página "Overview".

Esta mejora proporciona transparencia, ya que permite que los usuarios vean de dónde provienen los indicadores, como rapl-sysfs o rapl-msr. Si Kepler no puede obtener los indicadores de consumo de energía del hardware, se mostrará "estimator" como fuente. En tales casos, Kepler recurre al modelo de machine learning y a los estimadores resultantes mencionados anteriormente. Las iniciativas de desarrollo en curso se centran en perfeccionar estos modelos para mejorar tanto la precisión como el alcance de los entornos que pueden abordar.

Node - CPU Architecture & Power Source panel with the new Component Source column

Exploración de los indicadores

Entonces, ¿qué aspecto tiene? Profundicemos con un ejemplo. Después de instalar Kepler siguiendo la documentación oficial, instalamos un generador de tráfico HTTP/2 y una simulación, y colocamos un poco de carga en el sistema.

Ahora, veamos el impacto del consumo de energía en nuestro clúster de OpenShift. Si nos dirigimos al panel "Observe -> Dashboards -> Power Monitoring Overview" en la consola de OpenShift, podemos ver que ahora:

  • Los nodos que se muestran en el panel "Architecture" informan los resultados basados en los indicadores, ya que dicho panel muestra rapl-sysfs en la columna "Components Source".
  • El clúster estuvo en funcionamiento durante un tiempo, pero inactivo, por lo que no consumió tantos kWh.
  • También se muestra una lista de los espacios de nombres que más contribuyen a la factura de energía.
Power Monitoring Overview Dashboard Example

¿Qué más? Queremos comprender los perfiles de potencia y consumo de energía, así que profundicemos en el segundo panel: "Power Monitoring / Namespace". Después de seleccionar el espacio de nombres que nos interesa (hermes-ns):

  • Lo primero que se puede observar es que, después de un par de picos, el consumo de energía en vatios es constante a lo largo del tiempo, y el principal consumidor es el elemento PKG. El dominio Package (PKG) mide el consumo de energía de todo el socket. Incluye el consumo de todos los núcleos, los gráficos integrados y también los elementos no centrales, como las cachés de último nivel o el controlador de memoria. Esto parece correcto, y no se encuentran acumulaciones, ya que el consumo de energía es la tasa de la energía.
  • También podemos ver que el consumo de energía aumenta con el tiempo. El consumo de energía de la DRAM (que mide el consumo de energía de la RAM conectada al controlador de memoria integrado) parece insignificante en este caso. 
Power Monitoring Overview Dashboard Example

Si nos desplazamos un poco hacia abajo, podemos analizar más a fondo, por contenedor, el consumo de PKG y la DRAM. Lo primero que llama la atención es que los primeros picos parecen ser consecuencia de una carga de trabajo anterior. Eso suena interesante, y quizás debamos depurarlo en nuestra aplicación o simulación.

Después de que la segunda implementación esté lista, podremos observar que ambos contenedores contribuyen por igual al consumo de energía.

Per-container power consumption metrics visualization

¿Qué nos dice esto? ¿Significa que un generador de tráfico con algún tipo de lógica compleja e instrumentalización con OpenTelemetry, indicadores y herramientas de seguimiento consume la misma cantidad de energía que una simulación sencilla que solo dice "200 OK" y lo imprime en la consola? Si bien nos encantan las funciones modernas de determinación del estado interno de los sistemas, aún es necesario realizar una impresión de los resultados estándares de vez en cuando.

func exampleHandler(w http.ResponseWriter, r *http.Request) {
	time.Sleep(2 * time.Millisecond)
	fmt.Println("Request received. URI:", r.RequestURI, "Method:", r.Method)
	w.WriteHeader(200)
}

El generador de tráfico está escrito en C++, y la simulación en Go. Según estudios recientes, bajo ciertas condiciones, C++ puede ser más eficiente energéticamente que Go por un factor de 2,5, pero ese debate está mucho más allá del alcance de este blog. Nos encantan todos los lenguajes, y cada uno tiene sus puntos fuertes. Estamos ansiosos por ver las formas en que usará la supervisión de energía. Tal vez, incluso, pueda analizar los lenguajes de programación y el consumo de energía a partir de sus propios datos. 

Próximos pasos

Seguimos comprometidos a incorporar sus comentarios, realizar ajustes e introducir mejoras. Nuestra colaboración con la comunidad continuará, lo que contribuirá a la iniciativa global para supervisar de manera más eficaz el consumo de energía. Las perspectivas son prometedoras, con posibles planes que van desde integrar la supervisión de la energía en iniciativas de sostenibilidad más amplias, hasta ayudar a los desarrolladores a supervisar su código dentro de la plataforma OpenShift o exportar datos a través de OpenTelemetry

Recursos relacionados


Sobre el autor

Jose is a Senior Product Manager at Red Hat OpenShift, with a focus on Observability and Sustainability. His work is deeply related to manage the OpenTelemetry, distributed tracing and power monitoring products in Red Hat OpenShift.

His expertise has been built from previous gigs as a Software Architect, Tech Lead and Product Owner in the telecommunications industry, all the way from the software programming trenches where agile ways of working, a sound CI platform, best testing practices with observability at the center have presented themselves as the main principles that drive every modern successful project.

With a heavy scientific background on physics and a PhD in Computational Materials Engineering, curiousity, openness and a pragmatic view are always expected. Beyond the boardroom, he is a C++ enthusiast and a creative force, contributing symphonic and electronic touches as a keyboardist in metal bands, when he is not playing videogames or lowering lap times at his simracing cockpit.

Read full bio
UI_Icon-Red_Hat-Close-A-Black-RGB

Navegar por canal

automation icon

Automatización

Las últimas novedades en la automatización de la TI para los equipos, la tecnología y los entornos

AI icon

Inteligencia artificial

Descubra las actualizaciones en las plataformas que permiten a los clientes ejecutar cargas de trabajo de inteligecia artificial en cualquier lugar

open hybrid cloud icon

Nube híbrida abierta

Vea como construimos un futuro flexible con la nube híbrida

security icon

Seguridad

Vea las últimas novedades sobre cómo reducimos los riesgos en entornos y tecnologías

edge icon

Edge computing

Conozca las actualizaciones en las plataformas que simplifican las operaciones en el edge

Infrastructure icon

Infraestructura

Vea las últimas novedades sobre la plataforma Linux empresarial líder en el mundo

application development icon

Aplicaciones

Conozca nuestras soluciones para abordar los desafíos más complejos de las aplicaciones

Original series icon

Programas originales

Vea historias divertidas de creadores y líderes en tecnología empresarial