• EnglishEspañol日本語한국어Português
  • Inicia sesiónComenzar ahora

Te ofrecemos esta traducción automática para facilitar la lectura.

En caso de que haya discrepancias entre la versión en inglés y la versión traducida, se entiende que prevalece la versión en inglés. Visita esta página para obtener más información.

Crea una propuesta

Descripción general

La versión 2 de integración de Kubernetes tiene algunas configuraciones y requisitos diferentes a los de la versión 3. Este documento repasa las configuraciones que son diferentes de la versión 3 y que necesitará para la versión 2. Si no especificamos nada diferente, puede usar la configuración de la versión 3.

Advertencia

Tenga en cuenta que reemplazamos la versión 2 y no debe usarla. Mantenemos esta documentación para los usuarios que todavía usan la versión 2.

Consulte Introducción a la integración de Kubernetes para comenzar con la versión actual de Kubernetes.

Para comprender los cambios de la versión 3, consulte los cambios introducidos en el documento de integración de Kubernetes versión 3 .

Monitoreo plano de control con integración versión 2

Esta sección cubre cómo configurar el monitoreo del plano de control en las versiones 2 y anteriores de la integración.

Tenga en cuenta que estas versiones tenían opciones de descubrimiento automático menos flexibles y no admitían extremos externos. Le recomendamos encarecidamente que actualice a la versión 3 lo antes posible.

Detección automática y configuración predeterminada: hostNetwork y privileged

En versiones inferiores a la v3, cuando la integración se implementa usando privileged: false, la configuración hostNetwork para el componente del plano de control también se establecerá en false.

Descubrimiento de nodos maestros y componentes del plano de control.

La integración de Kubernetes se basa en las convenciones de etiquetado kubeadm para descubrir los nodos maestros y los componentes del plano de control. Esto significa que los nodos maestros deben etiquetar con node-role.kubernetes.io/master="" o kubernetes.io/role="master".

Los componentes del plano de control deben tener las etiquetas k8s-app o tier y component . Consulte esta tabla para conocer las combinaciones de etiquetas y los valores aceptados:

Componente

Etiqueta

Extremo

Servidor API

Kubeadm / Kops / ClusterAPI

k8s-app=kube-apiserver

tier=control-plane component=kube-apiserver

OpenShift

app=openshift-kube-apiserver apiserver=true

localhost:443/metrics de forma predeterminada (se puede configurar) si la solicitud falla vuelve a localhost:8080/metrics

etcd

Kubeadm / Kops / ClusterAPI

k8s-app=etcd-manager-main

tier=control-plane component=etcd

OpenShift

k8s-app=etcd

localhost:4001/metrics

Programador

Kubeadm / Kops / ClusterAPI

k8s-app=kube-scheduler

tier=control-plane component=kube-scheduler

OpenShift

app=openshift-kube-scheduler scheduler=true

localhost:10251/metrics

Administrador del controlador

Kubeadm / Kops / ClusterAPI

k8s-app=kube-controller-manager

tier=control-plane component=kube-controller-manager​

OpenShift

app=kube-controller-manager kube-controller-manager=true

localhost:10252/metrics

Cuando la integración detecta que se está ejecutando dentro de un nodo maestro, intenta encontrar qué componentes se están ejecutando en el nodo buscando pods que coincidan con las etiquetas enumeradas en la tabla anterior. Para cada componente en ejecución, la integración realiza una solicitud a su extremo métrico.

Configuración

El monitoreo del plano de control es automático para el agente que se ejecuta dentro de los nodos maestros. El único componente que requiere un paso adicional para ejecutarse es etcd, porque utiliza autenticación TLS mutua (mTLS) para las solicitudes de los clientes. El servidor API también se puede configurar para consultar mediante el puerto seguro.

Importante

El monitoreo del plano de control para OpenShift 4.x requiere una configuración adicional. Para obtener más información, consulte la sección de configuración de OpenShift 4.x.

etcd

Para configurar mTLS para consultar etcd, debe configurar estas dos opciones de configuración:

Opción

Valor

ETCD_TLS_SECRET_NAME

Nombre de un secreto de Kubernetes que contiene la configuración mTLS.

El secreto debe contener las siguientes claves:

  • cert: el certificado que identifica al cliente que realiza la solicitud. Debe estar firmado por una CA confiable de etcd.

  • key: la clave privada utilizada para generar el certificado de cliente.

  • cacert: la CA raíz utilizada para identificar el certificado del servidor etcd.

    Si la opción ETCD_TLS_SECRET_NAME no está configurada, no se recuperará etcd métrica.

ETCD_TLS_SECRET_NAMESPACE

El namespace donde se creó el secreto especificado en ETCD_TLS_SECRET_NAME. Si no se establece, se utiliza el namespace default.

Servidor API

De forma predeterminada, el servidor API métrico se consulta utilizando el extremo no seguro localhost:8080. Si este puerto está deshabilitado, también puedes consultar estas métricas a través del puerto seguro. Para habilitar esto, establezca la siguiente opción de configuración en el archivo de manifiesto de integración de Kubernetes:

Opción

Valor

API_SERVER_ENDPOINT_URL

La URL (segura) para consultar la métrica. El servidor API utiliza localhost:443 de forma predeterminada

Asegúrese de que ClusterRole se haya actualizado a la versión más reciente que se encuentra en el manifiesto.

Agregado en la versión 1.15.0

Importante

Tenga en cuenta que el puerto puede ser diferente según el puerto seguro utilizado por el servidor API.

Por ejemplo, en Minikube, el puerto seguro del servidor API es 8443 y, por lo tanto API_SERVER_ENDPOINT_URL debe configurarse en https://localhost:8443

Configuración de OpenShift

Los componentes del plano de control en OpenShift 4.x emplean URL extremas que requieren SSL y autenticación basada en cuenta de servicio. Por lo tanto, no puede emplear las URL extremas predeterminadas .

Importante

Al instalar openshift a través de Helm, especifique la configuración para incluir automáticamente estos extremos. La configuración openshift.enabled=true y openshift.version="4.x" incluirá el extremo seguro y habilitará el tiempo de ejecución /var/run/crio.sock .

Para configurar el monitoreo del plano de control en OpenShift, descomente las siguientes variables de entorno en el manifiesto personalizado. Los valores de URL están preconfigurados según las URL base predeterminadas para el monitoreo métrico extremo del plano de control en OpenShift 4.x.

- name: "SCHEDULER_ENDPOINT_URL"
value: "https://localhost:10259
- name: "ETCD_ENDPOINT_URL"
value: "https://localhost:9979"
- name: "CONTROLLER_MANAGER_ENDPOINT_URL"
value: "https://localhost:10257"
- name: "API_SERVER_ENDPOINT_URL"
value: "https://localhost:6443"

Importante

Aunque el ETCD_ENDPOINT_URL personalizado esté definido, etcd requiere que se configure la autenticación HTTPS y mTLS. Para obtener más información sobre la configuración de mTLS para etcd en OpenShift, consulte Configurar mTLS para etcd en OpenShift.

Registro Kubernetes

Si desea generar un registro detallado y obtener información de versión y configuración, simplemente consulte la información a continuación.

Monitor los servicios que se ejecutan en Kubernetes

Los servicios de monitoreo en Kubernetes funcionan aprovechando nuestro agente de infraestructura e integración en el host y un mecanismo de descubrimiento automático para señalarlos al pod con un selector específico.

Consulte el documento Habilitar el monitoreo de servicios usando el Helm Chart para saber cómo hacerlo. Consulte este ejemplo para la versión 2, que muestra la configuración yaml para la integración de Redis agregada al archivo values.yml del gráfico nri-bundle .

newrelic-infrastructure:
integrations_config:
- name: nri-redis.yaml
data:
discovery:
command:
# Run NRI Discovery for Kubernetes
# https://github.com/newrelic/nri-discovery-kubernetes
exec: /var/db/newrelic-infra/nri-discovery-kubernetes --tls --port 10250
match:
label.app: redis
integrations:
- name: nri-redis
env:
# using the discovered IP as the hostname address
HOSTNAME: ${discovery.ip}
PORT: 6379
labels:
env: test

Agregue un servicio YAML a la configuración de integración de Kubernetes

Si está empleando la versión 2 de integración de Kubernetes, debe agregar una entrada para este ConfigMap en las secciones volumes y volumeMounts del spec de DaemonSet, para garantizar que todos los archivos en ConfigMap estén montados en /etc/newrelic-infra/integrations.d/.

Copyright © 2024 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.