• /
  • EnglishEspañolFrançais日本語한국어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

Adjuntar automáticamente el APM en Kubernetes

La conexión automática Kubernetes APM, anteriormente conocida como operador de agente Kubernetes, agiliza la observabilidad de todo el stack para entornos Kubernetes al automatizar la instrumentación APM junto con el despliegue del agente Kubernetes. Al habilitar instrumentación automática, los desarrolladores ya no necesitan gestionar manualmente el agente APM. La conexión automática APM Kubernetes instalará, actualizará y eliminará automáticamente el agente APM.

Actualmente es compatible con Java, .NET, Node.js, Python, Ruby y PHP.

Cómo funciona

  • El MutatingWebHook, tras la instalación, interviene en la interceptación requests API para desplegar pod en nodos.

  • Reflejando la configuración especificada, muta la especificación pod para agregar un contenedor de inicio NR y variables de entorno.

  • Tras la creación del pod, el agente New Relic APM se integra perfectamente en la aplicación alojada en él.

Diagram showing how APM agents are auto injected

Antes de que empieces

Antes de instalar el operador, verifique lo siguiente:

Instalacion

Dependiendo de lo que necesites, puedes optar por instalar la conexión automática Kubernetes APM de forma independiente o junto con nuestra integración Kubernetes.

Recomendamos encarecidamente instalarlo junto con la integración Kubernetes para aprovechar toda nuestra experiencia de observabilidad de todo el stack .

Instalación del paquete además de la integración Kubernetes (recomendado)

El gráfico de conexión automática de Kubernetes APM es parte del gráfico nri-bundle, que gestiona la instalación de todos los componentes necesarios para permitir una observabilidad completa de Kubernetes.

Agregue el parámetro k8s-agents-operator.enabled=true a su comando helm o inclúyalo en el archivo values.yaml. Consulta la página Instalar la integración de Kubernetes para obtener más información sobre el uso de Helm o consulta el gráfico nri-bundle.

Vea este ejemplo de comandos Helm usando parámetro:

bash
$
helm repo add newrelic https://helm-charts.newrelic.com
$
$
helm upgrade --install newrelic-bundle newrelic/nri-bundle \
>
--set global.licenseKey=YOUR_NEW_RELIC_INGEST_LICENSE_KEY \
>
--set global.cluster=CLUSTER_NAME \
>
--namespace=newrelic \
>
--set newrelic-infrastructure.privileged=true \
>
--set global.lowDataMode=true \
>
--set kube-state-metrics.enabled=true \
>
--set kubeEvents.enabled=true \
>
--set k8s-agents-operator.enabled=true \
>
--create-namespace

Instalación independiente

Para instalar la conexión automática de Kubernetes APM con la configuración predeterminada, ejecute estos comandos:

bash
$
helm repo add k8s-agents-operator https://newrelic.github.io/k8s-agents-operator
$
helm upgrade --install k8s-agents-operator k8s-agents-operator/k8s-agents-operator \
>
--namespace newrelic \
>
--create-namespace \
>
--set licenseKey=YOUR_NEW_RELIC_INGEST_LICENSE_KEY

Para obtener una lista completa de opciones de configuración, consulte el cuadro LÉAME .

Configurar instrumentación automática

Una vez que la conexión automática de APM esté configurada en su clúster, el siguiente paso es simplemente implementar las configuraciones necesarias para que funcione. Esto implica tener al menos un recurso personalizado de instrumentación (CR) activo en el clúster.

Esto es lo que la instrumentación CR le permite mapear:

  • Nombre de la instrumentación CR
  • Donde se aplicará la instrumentación CR empleando selectors
  • agente APM (uno por CR)
  • Versión del agente APM
  • Parámetro de configuración de APM (env vars)
  • clave de licencia (opcional)

El archivo de manifiesto debe inyectar en el mismo namespace (newrelic de manera predeterminada) donde instaló la conexión automática APM.

bash
$
kubectl apply -f ./instrumentation.yaml -n newrelic

Aquí tienes una instrumentación.yaml completa para tu referencia.

Cómo emplear selectores

Emplee selectores para controlar qué recursos inyecta el CR con el agente APM. Hay tres selectores disponibles. Puedes usarlos individualmente o en combinación. Cuando se combinan, los selectores se evalúan empleando una operación lógica AND (&&).

MatchLabel y MatchExpressions

Todos los selectores admiten matchLabel y matchExpressions.

Agente APM

Debes especificar el agente APM y su versión dentro del CR de instrumentación. Recomendamos emplear la última versión para aprovechar las nuevas funciones disponibles.

Idioma

Imagen

Versiones disponibles

puntonet

newrelic-dotnet-init:latest

.NET

java

newrelic-java-init:latest

Java

node.js

newrelic-node-init:latest

Nodo

pitón

newrelic-python-init:latest

Python

rubí

newrelic-ruby-init:latest

Ruby

php

newrelic-php-init:latest

PHP

Vea este ejemplo:

...
spec:
agent:
language: dotnet
image: newrelic/newrelic-dotnet-init:latest
...

Configuración de manija APM

La instrumentación CR proporciona la capacidad de inyectar variables de entorno en el pod para agilizar la configuración del agente APM. Vea este ejemplo:

...
spec:
env:
# Example overriding the appName configuration by using a label of the pod
- name: NEW_RELIC_APP_NAME
valueFrom:
fieldRef:
fieldPath: metadata.labels['app.kubernetes.io/name']
...

En el ejemplo anterior, le mostramos cómo puede configurar los ajustes del agente globalmente usando variables de entorno. Consulte la documentación de configuración de cada agente para conocer las opciones de configuración disponibles:

Importante

Puede inyectar estas variables de entorno en el manifiesto de implementación de la aplicación.

clave de licencia (opcional)

Al instalarlo se crea un y es la licencia por defecto. Siga estos pasos si necesita enviar la telemetría de APM a una cuenta diferente:

  • Para crear un secreto que contenga una nueva clave de licencia, ejecute este comando:

    bash
    $
    kubectl create secret generic newrelic-key-secret \
    >
    --namespace my-monitored-namespace \
    >
    --from-literal=new_relic_license_key=YOUR_NEW_RELIC_INGEST_LICENSE_KEY
  • Para hacer referencia al secreto del CR de instrumentación, ejecute este comando:

    ...
    spec:
    licenseKeySecret: the-name-of-the-custom-secret
    ...

Ejemplos de instrumentación CR

Actualizar instrumentación APM en la aplicación

De forma predeterminada, la conexión automática APM Kubernetes instala automáticamente la última versión disponible del agente APM correspondiente.

Una vez que comienza el monitoreo de una aplicación, esta no se actualiza automáticamente a una versión más nueva a menos que usted elija actualizarla. Puede actualizar la aplicación volviendo a implementar el pod o resetear su implementación.

Eliminar instrumentación APM en la aplicación

Para eliminar la instrumentación APM de una aplicación, debe cambiar el selector de etiqueta correspondiente dentro del podLabelSelector o namespaceLabelSelector usado o eliminar el CR de instrumentación. Luego, resetear el despliegue. El proceso de eliminación sólo tarda unos segundos.

Actualizar la conexión automática de APM de Kubernetes

instalación del paquete

Ejecute una actualización del gráfico nri-bundle con el siguiente parámetro:

bash
$
k8s-agents-operator.enabled=true

Instalación independiente

Ejecute el comando helm upgrade para actualizar a una versión más nueva de la conexión automática de APM de Kubernetes.

bash
$
helm upgrade k8s-agents-operator newrelic/k8s-agents-operator -n newrelic

Desinstalación de la conexión automática de APM de Kubernetes

instalación del paquete

Desinstale el gráfico nri-bundle o, si solo desea eliminar la conexión automática de Kubernetes APM, ejecute una actualización de Helm con el siguiente parámetro:

bash
$
k8s-agents-operator.enabled=false

Instalación independiente

Para desinstalar y eliminar la conexión automática de Kubernetes APM, ejecute este comando:

bash
$
helm uninstall k8s-agents-operator -n newrelic

Buscar y utilizar datos

  • Obtenga información valiosa de su aplicación y resuelva el incidente empleando la página de resumen APM.

  • Consulte la página de resumen de Kubernetes . Proporciona Kubernetes información valiosa en el contexto de su aplicación de monitor.

Certificados

La conexión automática de APM de Kubernetes puede admitir cert-manager si se prefiere.

  • Ejecute este comando para instalar el gráfico Helm cert-manager :

    bash
    $
    helm install cert-manager jetstack/cert-manager \
    >
    --namespace cert-manager \
    >
    --create-namespace \
    >
    --set crds.enabled=true
  • En su archivo values.yaml, configure admissionWebhooks.autoGenerateCert.enabled: false y admissionWebhooks.certManager.enabled: true. A continuación, instale el gráfico de forma normal.

Lanzamientos de gráficos disponibles

Ejecute este comando para ver los gráficos disponibles:

bash
$
helm search repo k8s-agents-operator

Preguntas frecuentes

Resolución de problemas

Si tu aplicación no está instrumentada, debes verificar lo siguiente:

  • Cerciorar de volver a implementar o desplegar una nueva aplicación luego de instalar la conexión automática Kubernetes APM. Observe que solo las nuevas aplicaciones auto-instrumentadas se implementan en el clúster.

  • Ejecute este comando para verificar que el secreto esté instalado en el namespace de la aplicación:

    bash
    $
    kubectl get secrets -n NAMESPACE
  • Verifique que el pod tenga las etiquetas necesarias que habilitan la instrumentación automática a través de CR cuando se emplea podLabelSelector. De manera similar, verifique que el namespace tenga las etiquetas requeridas cuando emplee namespaceLabelSelector dentro del CR.

    bash
    $
    kubectl get pod POD_NAME -n NAMESPACE -o jsonpath='{.metadata.annotations}'
  • Ejecute este comando para obtener registros del pod de conexión automática de APM:

    bash
    $
    kubectl logs AGENT_OPERATOR_POD -n newrelic
  • Ejecute este comando para garantizar que el contenedor init se inyectó y ejecutado correctamente dentro del pod de la aplicación.

    bash
    $
    kubectl describe pod POD_NAME -n NAMESPACE

Cómo migrar desde versiones anteriores que requerían anotaciones

A partir de la versión 0.14, las anotaciones dentro del manifiesto de despliegue de la aplicación ya no son necesarias para que la aplicación se instrumente automáticamente.

Se recomienda desinstalar cualquier versión anterior a la 0.14 y continuar con la instalación de la última versión. La utilización de los selectores de etiquetas dentro de la instrumentación CR permitirá la implementación precisa del agente APM, eliminando así la necesidad de anotaciones.

Apoyo

La conexión automática de Kubernetes APM admite los siguientes idiomas y sus versiones mínimas compatibles de acuerdo con nuestra política de compatibilidad de agente APM estándar:

  • Agente de Java: 8.12
  • Agente .NET: 10.25
  • Agente Ruby : 9.10
  • Agente Node.js : 11.9
  • Python: 9.10
  • PHP: 11.12

Para cualquier problema:

Copyright © 2025 New Relic Inc.

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