Observación del estado del nodo de trabajador y del complemento
Descubra cómo observar el estado y el uso de recursos de los nodos de trabajador y los complementos principales de Kubernetes con Kubernetes Engine (OKE).
Kubernetes Engine permite observar el estado y el uso de recursos de los nodos de trabajador y los complementos clave de Kubernetes, como CoreDNS y KubeProxy. Puede observar el estado y el uso de recursos en cualquier cluster que soporte complementos gestionados. Mediante la recopilación de métricas operativas y de recursos, puede detectar y solucionar de forma proactiva posibles problemas y anomalías antes de que las cargas de trabajo se vean afectadas.
Para permitirle observar el estado y el uso de recursos, Kubernetes Engine despliega los siguientes dos complementos gestionados en cada nodo de trabajador:
- ObservabilityAgent: el complemento ObservabilityAgent recopila métricas de infraestructura de orígenes que incluyen kubelet, cAdvisor, CoreDNS y KubeProxy.
- NodeProblemDetector: el complemento NodeProblemDetector identifica y muestra problemas como la saturación de recursos y los problemas de red en el nivel de nodo de trabajador. La configuración de NodeProblemDetector gestionada está diseñada para evitar conflictos con cualquier despliegue existente de esta herramienta o herramientas similares.
Los complementos de observabilidad están preconfigurados para utilizar un mínimo de recursos y no requieren una amplia configuración personalizada. Se les asigna una prioridad de programación baja, lo que garantiza que las cargas de trabajo del sistema y del usuario sigan siendo el foco principal de los recursos de nodos de trabajador. Los recursos para los dos complementos de observabilidad se agregan al espacio de nombres kube-system.
Al observar el estado y el uso de recursos, Kubernetes Engine recopila las siguientes métricas:
- Uso de CPU, memoria y red de contenedor y pod (desde kubelet y cAdvisor).
- CoreDNS Solicitudes de DNS, tasas de error y tiempos de respuesta.
- Estadísticas de red de servicio KubeProxy.
- Información de estado, eventos y condiciones del nodo de trabajador (del complemento NodeProblemDetector).
Los datos recopilados se agregan y se hacen accesibles mediante herramientas y puntos finales estándar del sector, como los compatibles con Prometheus.
Tenga en cuenta que solo se recopilan datos de métricas para componentes de infraestructura y plataforma. Más específicamente, tenga en cuenta que no se recopilan datos identificables de carga de trabajo o aplicación.
Activación y desactivación de la funcionalidad de observación de la salud
Descubra cómo activar y desactivar la funcionalidad de observación del estado con Kubernetes Engine (OKE).
Puede activar y desactivar la funcionalidad de observación del estado mediante la consola, la CLI y la API.
- En la página de lista Clusters, seleccione el nombre del cluster para el que desea activar la funcionalidad de observación del estado. Si necesita ayuda para encontrar la página de lista o el cluster, consulte Listing Clusters.
- En el separador Complementos, seleccione Gestionar complementos.
- Seleccione la opción Editar junto a ObservabilityAgent o NodeProblemDetector.
- Seleccione la opción Activar <nombre de complemento> para desplegar y activar el complemento de cluster si no se ha activado antes en este cluster, o para activar el complemento de cluster si se ha desplegado anteriormente pero está desactivado actualmente.
- Configure el complemento de cluster especificando los siguientes detalles:
- Actualizaciones automáticas: seleccione esta opción cuando desee que Oracle actualice automáticamente el complemento cuando haya una nueva versión disponible.
- Seleccionar una versión: seleccione esta opción cuando desee controlar la versión del complemento que Oracle despliega en el cluster. Una advertencia indica que ha asumido la responsabilidad de actualizar el complemento. Si selecciona esta opción, seleccione la versión del complemento que desea desplegar en el cluster en la lista Versión. Consulte Cluster Add-on Supported Versions.
- Opción: y Valor: (opcional) seleccione Agregar configuración para especificar uno o más pares clave/valor que transferir como argumentos al complemento de cluster. Consulte Cluster Add-on Configuration Arguments.
- Seleccione Guardar cambios.
Para desactivar el complemento ObservabilityAgent o NodeProblemDetector, seleccione la opción Editar junto al complemento, anule la selección de la opción Activar <nombre de complemento> y seleccione Guardar cambios.
Utilice el comando oci ce cluster install-addon y los parámetros necesarios para desplegar el complemento ObservabilityAgent o NodeProblemDetector:
oci ce cluster install-addon --cluster-id <cluster-ocid> --addon-name ObservabilityAgent --region <region> [OPTIONS]oci ce cluster install-addon --cluster-id <cluster-ocid> --addon-name NodeProblemDetector --region <region> [OPTIONS]Utilice el comando oci ce cluster disable-addon y los parámetros necesarios para desactivar (y, opcionalmente, eliminar) el complemento ObservabilityAgent o NodeProblemDetector desplegado en un cluster:
oci ce cluster disable-addon --cluster-id <cluster-ocid> --addon-name ObservabilityAgent --is-remove-existing-add-on <true|false> [OPTIONS]oci ce cluster disable-addon --cluster-id <cluster-ocid> --addon-name NodeProblemDetector --is-remove-existing-add-on <true|false> [OPTIONS]Para obtener una lista completa de parámetros y valores para los comandos de la CLI, consulte la Referencia de comandos de la CLI.
Ejecute la operación InstallAddon o la operación DisableAddon para instalar o desactivar (y, opcionalmente, eliminar) el complemento ObservabilityAgent o NodeProblemDetector desplegado en un cluster.
Uso de etiquetas para activar y desactivar la funcionalidad de observación de la salud en nodos de trabajador específicos o en todos los nodos de trabajador
Descubra cómo utilizar etiquetas para activar y desactivar la funcionalidad de observación del estado en los nodos de trabajador con Kubernetes Engine (OKE).
Para recopilar métricas de un nodo de trabajador específico, aplique etiquetas al nodo de trabajador de la siguiente manera:
kubectl label node --overwrite oci.oraclecloud.com/oke-observability-agent-enabled=true <node-name>
kubectl label node --overwrite oci.oraclecloud.com/oke-node-problem-detector-enabled=true <node-name>
Para recopilar métricas de todos los nodos de trabajador, aplique etiquetas de la siguiente manera:
kubectl label node --overwrite --all oci.oraclecloud.com/oke-observability-agent-enabled=true
kubectl label node --overwrite --all oci.oraclecloud.com/oke-node-problem-detector-enabled=true
Para desactivar la funcionalidad de observación del estado en un nodo de trabajador específico, aplique etiquetas al nodo de trabajador de la siguiente manera:
kubectl label node --overwrite oci.oraclecloud.com/oke-observability-agent-enabled=false <node-name>
kubectl label node --overwrite oci.oraclecloud.com/oke-node-problem-detector-enabled=false <node-name>
Observación del estado de los nodos y complementos de los trabajadores
Descubra cómo observar el estado del nodo de trabajador y los complementos después de instalar y activar los complementos ObservabilityAgent y NodeProblemDetector.
Después de instalar y activar los complementos ObservabilityAgent y NodeProblemDetector, utilice las herramientas de control y Kubernetes estándar para observar el estado de los complementos y los nodos de trabajador.
Por ejemplo, para consultar y visualizar las métricas recopiladas para el nodo de trabajador y los complementos, utilice soluciones de supervisión compatibles con Prometheus o OpenMetrics. Estas métricas incluyen el uso de recursos de pod y contenedor, las estadísticas CoreDNS y KubeProxy y los eventos de estado del nodo de trabajador.
Obtención de métricas directamente desde un nodo de trabajador (punto final de mTLS)
El complemento ObservabilityAgent expone un punto final de métricas en cada nodo de trabajador y lo protege con TLS mutua (mTLS). Solo puede acceder al punto final de métricas un cliente que presente un certificado de cliente válido emitido por una autoridad de certificación (CA) de confianza. Una CA es un emisor de confianza que firma certificados para que otros componentes puedan verificar la identidad y establecer conexiones cifradas. El certificado de cliente debe estar firmado por la CA del cluster. Los certificados necesarios están disponibles en el nodo de trabajador después del aprovisionamiento.
Para recuperar métricas de un nodo de trabajador, conéctese al nodo (por ejemplo, mediante SSH) y ejecute un comando similar al siguiente:
sudo curl -v --cert /var/lib/kubelet/pki/kubelet-client-current.pem --key /var/lib/kubelet/pki/kubelet-client-current.pem --cacert /etc/kubernetes/ca.crt https://<node-private-ip>:9995/metrics
donde:
--cert /var/lib/kubelet/pki/kubelet-client-current.pemespecifica el certificado de cliente kubelet, que es de confianza para la CA del cluster.--key /var/lib/kubelet/pki/kubelet-client-current.pemespecifica la clave privada para el certificado de cliente (en esta configuración, se almacena en el mismo archivo PEM).--cacert /etc/kubernetes/ca.crtespecifica el certificado de CA raíz del cluster que se utiliza para verificar el certificado de servidor presentado por el punto final de métricas.<node-private-ip>es la dirección IP privada del nodo de trabajador (por ejemplo,10.0.10.121).https://<node-private-ip>:9995/metricses el punto final de métricas ObservabilityAgent en el nodo.
Puede utilizar los mismos certificados y punto final al configurar su propio pipeline de métricas (por ejemplo, un raspador compatible con Prometheus) para recopilar y visualizar métricas ObservabilityAgent.
Comprobando el estado de los complementos
Puede observar el estado de los propios complementos ObservabilityAgent y NodeProblemDetector, de la siguiente manera:
-
Para comprobar el estado de DaemonSet de los complementos de observabilidad desplegados, introduzca:
kubectl get daemonset -n kube-systemConfirme que
oke-dataplane-observability-agentyoke-node-problem-detectorDaemonSets se están ejecutando y que los recuentos de pods deseados y listos coinciden con el número de nodos de trabajador observados. -
Si encuentra resultados inesperados o problemas con los complementos de observabilidad, inspeccione los logs de pod para ObservabilityAgent y NodeProblemDetector en el espacio de nombres kube-system introduciendo:
kubectl logs -n kube-system <pod-name>Compruebe también que los nodos de trabajador tienen las etiquetas necesarias.
Para obtener más información sobre la gestión de complementos de cluster, consulte Gestión de complementos de cluster.