Tous les produits
Search
Centre de documentation

Container Service for Kubernetes:Enable tracing for cluster data plane components

Dernière mise à jour :Sep 23, 2026

Le traçage Kubelet enregistre les opérations clés que Kubelet effectue sur les nœuds, telles que la gestion du cycle de vie des Pods et les appels API. Cela vous aide à identifier les goulots d'étranglement liés aux performances du système et à résoudre les problèmes du cluster. Une fois activé, les données de trace Kubelet sont automatiquement envoyées à Managed Service for OpenTelemetry, qui fournit des données de surveillance visuelles, notamment les détails des traces et la topologie en temps réel.

Si vous débutez avec le traçage, consultez la rubrique Concepts de base pour en comprendre les fondamentaux.

Prérequis

  • Vous disposez d'un ACK managed cluster ou d'un ACK dedicated cluster exécutant Kubernetes 1.28 ou une version ultérieure. Pour mettre à niveau votre cluster, consultez la rubrique Mettre à niveau manuellement un cluster.

  • Helm v3 ou une version ultérieure est installé. Pour mettre à niveau Helm, consultez la rubrique Migrer de Helm V2 vers Helm V3.

    Pour installer le composant OpenTelemetry Collector requis pour cette fonctionnalité, vous devez utiliser Helm 3.9 ou une version ultérieure.
  • Vous avez activé et autorisé l'accès à Managed Service for OpenTelemetry. Pour plus d'informations, consultez la rubrique Premiers pas.

    Managed Service for OpenTelemetry fournit des outils pour les applications distribuées, notamment la reconstruction des traces de bout en bout, les statistiques sur le volume des requêtes, la topologie des traces et l'analyse des dépendances entre applications.
Remarque

Lorsque vous utilisez cette fonctionnalité, Managed Service for OpenTelemetry vous facture le volume de données d'observabilité, en plus des frais liés à votre cluster ACK. Pour obtenir des informations sur le quota gratuit et les détails tarifaires de Managed Service for OpenTelemetry, consultez la rubrique Facturation.

Suivez cette procédure pour activer le traçage des composants du plan de données de votre cluster :

  1. Récupérez l'endpoint et le jeton d'authentification depuis Managed Service for OpenTelemetry, puis stockez le jeton d'authentification dans un secret du cluster. Cela permet à OpenTelemetry Collector de lire la configuration et les informations d'authentification.

  2. Déployez le composant OpenTelemetry Collector afin de collecter, traiter et exporter les données d'observabilité.

    ACK Marketplace vous permet de déployer rapidement OpenTelemetry Collector dans votre cluster en mode DaemonSet.
  3. Dans la configuration de Kubelet, activez le traçage et configurez les paramètres associés, tels que le taux d'échantillonnage. OpenTelemetry Collector transfère ensuite les données collectées vers Managed Service for OpenTelemetry.

Étape 1 : Obtenir l'endpoint et le jeton d'authentification

  1. Connectez-vous à la console Managed Service for OpenTelemetry. Dans le volet de navigation de gauche, cliquez sur Integration Center.

  2. Dans la section Open Source Frameworks, cliquez sur la carte OpenTelemetry.

  3. Sélectionnez une région pour l'envoi des données. Définissez Connection Method sur Alibaba Cloud Internal Network Mode et Reporting Method sur gRPC. Enregistrez les informations de l'endpoint pour une utilisation ultérieure.

    Lors de la première utilisation d'une région, ses ressources sont initialisées automatiquement. Suivez les instructions affichées à l'écran pour terminer le processus.

    La page affiche l'adresse de l'Alibaba Cloud VPC endpoint ainsi que le authentication token. Cliquez sur le bouton Copy correspondant pour les copier. Remarque : si vous envoyez des données à l'aide de Golang, supprimez le préfixe http:// de l'adresse de l'endpoint.

Étape 2 : Stocker le jeton d'authentification dans un secret du cluster

Stockez le jeton d'authentification dans un secret au sein de votre cluster ACK. OpenTelemetry Collector utilise ce jeton d'authentification en le référençant comme variable. Le secret et OpenTelemetry Collector, que vous installerez à l'étape suivante, doivent se trouver dans le même namespace.

Par défaut, OpenTelemetry Collector est déployé dans le namespace otel-collector. Vous pouvez créer manuellement le namespace otel-collector ou utiliser un autre namespace et le sélectionner lors de l'installation d'OpenTelemetry Collector.
  1. Connectez-vous à la console ACK. Dans le volet de navigation de gauche, cliquez sur Clusters.

  2. Sur la page Clusters, cliquez sur le nom de votre cluster. Dans le volet de navigation de gauche, cliquez sur Configurations > Secrets.

  3. Cliquez sur Create et suivez les instructions affichées à l'écran pour créer le secret.

    Paramètre

    Valeur

    Exemple

    Name

    opentelemetry-exporter-config

    Important

    Utilisez exactement ce nom. Ne spécifiez pas de nom personnalisé.

    Sélectionnez Opaque comme type.

    Type

    Opaque

    Configurez les paramètres suivants pour ajouter la clé de données :

    Name

    grpc-token

    Important

    Utilisez exactement ce nom. Ne spécifiez pas de nom personnalisé.

    Dans le champ Value, saisissez le jeton d'authentification et sélectionnez Base64-encode the data value.

    Value

    Le jeton d'authentification obtenu à l'étape 1.

    Encode Data Values Using Base64

    Oui

Étape 3 : Installer OpenTelemetry Collector

OpenTelemetry Collector est un collecteur de données d'observabilité qui offre des capacités unifiées pour la réception, le traitement et l'exportation des données. Il prend en charge diverses sources de données d'observabilité open source, telles que Jaeger, Prometheus et Fluent Bit, éliminant ainsi le besoin de déployer plusieurs collecteurs.

  1. Connectez-vous à la console ACK. Dans le volet de navigation de gauche, cliquez sur Marketplace > Marketplace.

  2. Recherchez opentelemetry-collector et cliquez sur la carte de l'application.

    Cette page fournit une description du composant et une référence des paramètres pour le chart Helm du composant. Vous pouvez consulter les informations sur cette page ou suivre les instructions ci-dessous pour configurer le composant.
  3. Dans le coin supérieur droit de la page, cliquez sur Deploy. Sélectionnez votre cluster et votre namespace, puis suivez les instructions affichées à l'écran pour passer à l'étape suivante.

    Le namespace du composant doit être identique à celui du secret créé à l'étape 2.

  4. Sélectionnez une version du chart. Nous vous recommandons d'utiliser la version par défaut. Définissez les paramètres du chart et suivez les instructions affichées à l'écran pour installer le chart.

    Paramètre

    Description

    mode

    Définissez ce paramètre sur daemonset pour déployer OpenTelemetry Collector en tant que DaemonSet.

    mode: "daemonset"

    enableXtraceTokenFromSecret

    Définissez ce paramètre sur true pour référencer le jeton d'authentification à l'aide d'une variable d'environnement. Cette méthode empêche le stockage du jeton d'authentification en texte clair dans la configuration d'OpenTelemetry Collector et évite la fuite d'informations sensibles.

    enableXtraceTokenFromSecret: true
    Assurez-vous d'avoir effectué les opérations de l'étape 2 pour éviter les échecs de déploiement du chart.

    exporters

    Ajoutez un exportateur nommé otlp pour spécifier l'adresse vers laquelle les données de trace sont envoyées.

    Définissez endpoint sur l'endpoint interne obtenu à l'étape 1.

    exporters:
          otlp:
            endpoint: <your_intranet_endpoint>
            tls:
              insecure: true
            headers:
              Authentication: ${env:OPENTELEMETRY_GRPC_TOKEN}

    receivers

    Ajoutez un récepteur nommé otlp/kubelet qui écoute sur le port local 4317 pour recevoir les données de trace Kubelet via OTLP/gRPC.

      receivers:
            otlp/kubelet: # Creates a receiver named otlp/kubelet.
              protocols:
                grpc:
                  endpoint: 127.0.0.1:4317

    service.pipelines.traces

    Configurez le pipeline de traitement des traces. Ajoutez l'exportateur otlp à service.pipelines.traces.exporters et le récepteur otlp/kubelet à service.pipelines.traces.receivers.

          traces:
                exporters:
                  - debug
                  - otlp
                processors:
                  - memory_limiter
                  - batch
                  - resource
                receivers:
                  - otlp
                  - jaeger
                  - zipkin
                  - otlp/kubelet

    hostNetwork

    Définissez ce paramètre sur true. Cela permet à OpenTelemetry Collector d'utiliser directement l'adresse IP et le port de l'hôte pour la communication.

    hostNetwork: true

    Une fois l'installation réussie, vous êtes automatiquement redirigé vers la page Helm.

    Accédez à la page Workloads > DaemonSets. Sélectionnez le namespace du composant. Si un DaemonSet nommé opentelemetry-collector-agent existe et que tous ses Pods sont en cours d'exécution, l'installation a réussi.

Étape 4 : Activer le traçage pour Kubelet

  1. Connectez-vous à la console ACK. Dans le volet de navigation de gauche, cliquez sur Clusters.

  2. Sur la page Clusters, cliquez sur le nom de votre cluster. Dans le volet de navigation de gauche, cliquez sur Nodes > Node Pools.

  3. Dans la liste des pools de nœuds, repérez le pool de nœuds cible et choisissez image > Kubelet Configuration dans la colonne Actions. Ajoutez des paramètres personnalisés, examinez les notes, sélectionnez les nœuds à mettre à niveau et définissez une politique de mise à jour par lots (Maximum Parallel Nodes per Batch). Ensuite, cliquez sur Submit.

    • Dans la liste déroulante, sélectionnez tracing, puis sélectionnez endpoint. Définissez la valeur sur localhost:4317. Cela envoie les données de trace Kubelet vers localhost:4317. Cette adresse correspond à l'endpoint du récepteur otlp/kubelet configuré à l'étape 3.

    • Dans la liste déroulante, sélectionnez à nouveau tracing, puis sélectionnez samplingRatePerMillion. Ce paramètre contrôle le taux d'échantillonnage, qui détermine le nombre de requêtes échantillonnées sur un million. Selon la configuration globale, le traçage peut affecter les performances réseau et CPU du cluster. Si vous rencontrez des problèmes de performances, réduisez le taux d'échantillonnage en fonction de la charge du cluster.

      Par exemple, une valeur de 1000000 indique un taux d'échantillonnage de 100 %, ce qui signifie que toutes les requêtes sont échantillonnées. Une valeur de 100000 indique un taux d'échantillonnage de 10 %, et 10000 indique un taux d'échantillonnage de 1 %.

Étape 5 : Afficher les données de trace dans OpenTelemetry

  1. Connectez-vous à la console Managed Service for OpenTelemetry. Dans le volet de navigation de gauche, cliquez sur Applications.

  2. En haut de la page, sélectionnez une région, puis cliquez sur le nom de l'application kubelet. Suivez les instructions de la console pour afficher les informations de trace.

    Cette section décrit uniquement les onglets principaux. Pour plus d'informations sur chaque onglet, consultez la rubrique Détails de l'application .
    • Onglet Trace Analysis : Affiche des informations telles que les traces des requêtes Kubelet et la topologie de l'application.

      • Dans la zone de recherche en haut à gauche, saisissez resources.k8s.cluster.name : "YourClusterId" pour filtrer les traces d'un cluster spécifique.

        Vous pouvez obtenir l'ID du cluster à partir de la liste des clusters dans la console ACK.
      • Dans la liste des traces, cliquez sur un Trace ID pour afficher les détails d'une trace de requête Kubelet, y compris la vue de la topologie, le nombre de services impliqués et le nombre d'appels API.

    • Onglet Support Services : Affiche le nombre de requêtes, le nombre d'erreurs et la latence moyenne des interfaces fournies par Kubelet.

    • Onglet Dependent Services : Affiche des informations sur les requêtes adressées aux services dont dépend Kubelet, tels que containerd. Ces informations incluent le nombre de requêtes, le nombre d'erreurs et la latence moyenne.

Documentation connexe

Pour surveiller et enregistrer les données de trace du composant API server du cluster, consultez la rubrique Activer le traçage pour les composants du plan de contrôle du cluster.