Partager via


Déployer le routeur de télémétrie Azure Arc

Remarque

  • Le routeur de télémétrie est disponible en préversion publique et doit être déployé uniquement à des fins de test.
  • Bien que le routeur de télémétrie soit disponible en préversion publique, sachez que les futures préversions peuvent inclure des modifications apportées aux spécifications CRD, aux commandes CLI et/ou aux messages du routeur de télémétrie.
  • La préversion actuelle ne prend pas en charge les mises à niveau sur place d’un contrôleur de données déployé avec le routeur de télémétrie Arc activé. Pour installer ou mettre à niveau un contrôleur de données dans une version ultérieure, vous devez désinstaller le contrôleur de données, puis le réinstaller.

Qu’est que le routeur de télémétrie Azure Arc ?

Le routeur de télémétrie Azure Arc permet d’exporter des données de télémétrie vers d’autres solutions de monitoring. Pour cette préversion publique, nous prenons uniquement en charge l’exportation des données de journal vers Kafka ou Elasticsearch et les données des métriques vers Kafka.

Ce document spécifie comment déployer le routeur de télémétrie et le configurer pour qu’il fonctionne avec les exportateurs pris en charge.

Déploiement

Remarque

Le routeur de télémétrie prend actuellement en charge uniquement le mode connecté indirectement.

Créer un profil de configuration personnalisé

Après avoir configuré votre cluster Kubernetes, vous devez créer un profil de configuration personnalisé. Ensuite, activez un indicateur de fonctionnalité temporaire qui déploie le routeur de télémétrie lors de la création du contrôleur de données.

Activer l’indicateur de fonctionnalité

Après avoir créé le profil de configuration personnalisé, vous devez le modifier pour ajouter la propriété monitoring avec l’indicateur enableOpenTelemetry défini sur true. Vous pouvez définir l’indicateur de fonctionnalité en exécutant les commandes az CLI suivantes (modifiez le paramètre --path, si nécessaire) :

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"

Pour confirmer que l’indicateur a été correctement défini, ouvrez le fichier control.json et vérifiez que l’objet monitoring a été ajouté à l’objet spec, et que enableOpenTelemetry est défini sur true.

spec:
    monitoring:
        enableOpenTelemetry: true

Cette exigence d’indicateur de fonctionnalité sera supprimée dans une prochaine version.

Créer le contrôleur de données

Après avoir créé le profil de configuration personnalisé et défini l’indicateur de fonctionnalité, vous pouvez créer le contrôleur de données à l’aide du mode de connectivité indirecte. Veillez à remplacer le paramètre --profile-name par un paramètre --path qui pointe vers votre fichier control.json personnalisé (consultez Utiliser le fichier control.json personnalisé pour déployer le contrôleur de données doté d’Azure Arc)

Vérifier le déploiement du routeur de télémétrie

Lorsque le contrôleur de données est créé, une ressource personnalisée TelemetryRouter est également créée. Le déploiement du contrôleur de données est marqué prêt lorsque les deux ressources personnalisées ont terminé le déploiement. Une fois le déploiement terminé par le contrôleur de données, vous pouvez utiliser la commande suivante pour vérifier que la ressource 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:

Au moment de la création, aucun pipeline ni exportateur n’est mis en place. Vous pouvez configurer vos propres pipelines et exportateurs pour acheminer les métriques et données de journaux vers vos propres instances de Kafka et Elasticsearch.

Une fois le routeur de télémétrie déployé, une instance de Kafka (arc-router-kafka) et une seule instance de TelemetryCollector (collecteur entrant) doivent être déployées et dans un état prêt. Ces ressources sont gérées par le système et il est impossible de les modifier. Les pods suivants seront déployés en conséquence :

  • Un pod collecteur entrant : arctc-collector-inbound-0
  • Un pod répartiteur kakfa : arck-arc-router-kafka-broker-0
  • Un pod contrôleur kakfa : arck-arc-router-kafka-controller-0

Remarque

Aucun pod collecteur sortant n’est créé tant qu’au moins un pipeline n’est ajouté au routeur de télémétrie.

Après avoir créé le premier pipeline, une ressource TelemetryCollector supplémentaire (collecteur sortant) et un pod arctc-collector-outbound-0 sont déployés.

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