Compartir a través de


Implementación del enrutador de telemetría de Azure Arc

Nota:

  • El enrutador de telemetría está actualmente en versión preliminar pública y se debe implementar únicamente con fines de prueba.
  • Mientras el enrutador de telemetría esté en versión preliminar pública, tenga en cuenta que futuras versiones preliminares podrían incluir cambios en las especificaciones de CRD, los comandos de la CLI o los mensajes del enrutador de telemetría.
  • La versión preliminar actual no admite actualizaciones locales de un controlador de datos implementado con el enrutador de telemetría de Arc habilitado. Para instalar o actualizar un controlador de datos en una versión futura, deberá desinstalar el controlador de datos y, a continuación, volver a instalarlo.

¿Qué es el enrutador de telemetría de Azure Arc?

El enrutador de telemetría de Azure Arc permite exportar datos de telemetría a otras soluciones de supervisión. En esta versión preliminar pública solo se admite la exportación de datos de registro a Kafka o Elasticsearch y datos métricos a Kafka.

En este documento se especifica cómo implementar el enrutador de telemetría y configurarlo para que funcione con los exportadores admitidos.

Implementación

Nota:

Actualmente, el enrutador de telemetría solo admite el modo conectado indirectamente.

Creación de un perfil de configuración personalizado

Después de configurar el clúster de Kubernetes, debe crear un perfil de configuración personalizado. A continuación, habilite una marca de característica temporal que implemente el enrutador de telemetría durante la creación del controlador de datos.

Activación de la marca de característica

Después de crear el perfil de configuración personalizado, debe editar el perfil para agregar la propiedad monitoring con la marca enableOpenTelemetry establecida en true. Para establecer la marca de característica, ejecute los siguientes comandos de la CLI de Azure (edite el parámetro --path, según sea necesario):

az arcdata dc config add --path ./control.json --json-values ".spec.monitoring={}"
az arcdata dc config add --path ./control.json --json-values ".spec.monitoring.enableOpenTelemetry=true"

Para confirmar que la marca se estableció correctamente, abra el archivo control.json y confirme que el objeto monitoring se agregó al objeto spec y que enableOpenTelemetry se estableció en true.

spec:
    monitoring:
        enableOpenTelemetry: true

Este requisito de marca de característica se eliminará en una versión futura.

Creación del controlador de datos

Después de crear el perfil de configuración personalizado y establecer la marca de característica, está listo para crear el controlador de datos mediante el modo de conectividad indirecto. Asegúrese de reemplazar el parámetro --profile-name por un parámetro --path que apunte al archivo control.json personalizado (consulte Uso del archivo control.json personalizado para implementar un controlador de datos habilitado para Azure Arc).

Comprobación de la implementación del enrutador de telemetría

Cuando se crea el controlador de datos, también se crea un recurso personalizado denominado TelemetryRouter. La implementación del controlador de datos se marca como lista cuando ambos recursos personalizados han terminado de implementarse. Una vez que el controlador de datos finaliza la implementación, puede usar el comando siguiente para comprobar que TelemetryRouter existe:

kubectl describe telemetryrouter arc-telemetry-router -n <namespace>
apiVersion: arcdata.microsoft.com/v1beta4
  kind: TelemetryRouter
  metadata:
    name: arc-telemetry-router
    namespace: <namespace>
  spec:
    credentials:
    exporters:
    pipelines:

En el momento de la creación, no hay canalizaciones ni exportadores configurados. Puede configurar sus propias canalizaciones y exportadores para enrutar los datos de métricas y registros a sus propias instancias de Kafka y Elasticsearch.

Después de implementar TelemetryRouter, se debe implementar una instancia de Kafka (arc-router-kafka) y una única instancia de TelemetryCollector (collector-inbound) que estén en un estado Listo. El sistema administra estos recursos y no se admite su edición. Como resultado, se implementarán los siguientes pods:

  • Un pod del recopilador de entrada: arctc-collector-inbound-0
  • Un pod de agente de Kakfa: arck-arc-router-kafka-broker-0
  • Un pod de controlador de Kakfa: arck-arc-router-kafka-controller-0

Nota:

El pod del recopilador de salida no se creará hasta que se haya agregado al menos una canalización al enrutador de telemetría.

Después de crear la primera canalización, se implementan un recurso TelemetryCollector adicional (collector-outbound) y el pod arctc-collector-outbound-0.

kubectl get pods -n <namespace>

NAME                                 READY   STATUS      RESTARTS   AGE
arc-bootstrapper-job-4z2vr           0/1     Completed   0          15h
arc-webhook-job-facc4-z7dd7          0/1     Completed   0          15h
arck-arc-router-kafka-broker-0       2/2     Running     0          15h
arck-arc-router-kafka-controller-0   2/2     Running     0          15h
arctc-collector-inbound-0            2/2     Running     0          15h
bootstrapper-8d5bff6f7-7w88j         1/1     Running     0          15h
control-vpfr9                        2/2     Running     0          15h
controldb-0                          2/2     Running     0          15h
logsdb-0                             3/3     Running     0          15h
logsui-fwrh9                         3/3     Running     0          15h
metricsdb-0                          2/2     Running     0          15h
metricsdc-bc4df                      2/2     Running     0          15h
metricsdc-fm7jh                      2/2     Running     0          15h
metricsui-qqgbv                      2/2     Running     0          15h