Configuration du suivi d'.NET s sur Kubernetes
Vous pouvez configurer le traçage d'.NET s sur Kubernetes en utilisant le webhook Instana AutoTrace ou en configurant manuellement les variables d'environnement. Le webhook Instana AutoTrace configure automatiquement tout ce qui est nécessaire pour surveiller les applications .NET sur l'ensemble d'un cluster Kubernetes.
Pour plus d'informations sur le fonctionnement de la surveillance d'.NET, consultez la section « Comment fonctionne la surveillance d'.NET ».
Avant de commencer
Pour configurer le suivi d'.NET Core s sur Kubernetes, veuillez remplir les conditions préalables suivantes :
- Assurez-vous que l'agent d' Instana ation est installé sur Kubernetes. Consultez la section « Installation de l'agent d' Instana » sur Kubernetes.
- Si l'application .NET et l'agent Instana sont gérés par Kubernetes, consultez la page Kubernetes network-access pour obtenir des informations sur la configuration requise.
- Consultez les informations relatives à l'assistance.
Activation du traçage d'.NET
Activez le suivi d'.NET s sur Kubernetes en utilisant l'une des méthodes suivantes :
- AutoTrace webhook (recommandé)
- Tracé manuel
Méthode 1 : Activer le traçage automatique à l'aide du webhook « AutoTrace »
Le webhook Instana AutoTrace est une implémentation d'un contrôleur d'admission de type « Mutating » Webhook pour Kubernetes. Il configure automatiquement tout ce qui est nécessaire pour surveiller les applications .NET à l'aide d' Instana, sur l'ensemble d'un cluster Kubernetes.
Si le webhook Instana AutoTrace est installé sur le cluster Kubernetes, la traçabilité est automatiquement activée pour les applications .NET qui s'exécutent sur ces clusters.
Pour activer le webhook Instana AutoTrace, procédez comme suit :
- Installez l'agent d' Instana sur Kubernetes. Consultez la section « Installation de l'agent d' Instana » sur Kubernetes.
Installez le webhook Instana AutoTrace sur les clusters Kubernetes à l'aide de Helm. Assurez-vous que le suivi d'.NET Core s est activé pendant l'installation :
--set autotrace.instrumentation.manual.netcore=truePour plus d'informations, consultez la section « Installation d'un webhook d' AutoTrace ».
Remarque : si le traçage de la fonction « .NET Core » est activé, ne désactivez pas les autres traçages ( Python, Node.js et Ruby ). La désactivation de ces traceurs pourrait avoir une incidence sur la fonction de traçage d'.NET Core.Si vous souhaitez activer le traçage de manière sélective pour certaines applications, vous pouvez utiliser le mode « opt-in » :
Activer le mode « opt-in » lors de l'installation du webhook d' AutoTrace :
--set autotrace.opt_in=true- Ajoutez
instana-autotrace: "true"l'étiquette aux ressources que vous souhaitez surveiller. Vous pouvez ajouter cette étiquette aux pods, ensembles de répliques, ensembles avec état, ensembles de démons et déploiements concernés. Si vous souhaitez l'exclure de l'instrumentation, définissezinstana-autotrace: "false".
- Déployez et exécutez votre application.
Le webhook « AutoTrace » injecte automatiquement les variables d'environnement et les éléments d'instrumentation nécessaires dans les pods de votre application .NET.
Méthode 2 : Activer le traçage manuellement
Si vous préférez ne pas utiliser le webhook AutoTrace ou si vous souhaitez avoir davantage de contrôle sur la configuration, vous pouvez configurer manuellement le traçage en ajoutant des variables d'environnement à votre déploiement.
Pour activer manuellement le traçage d'une application .NET Core sur Kubernetes, procédez comme suit :
Installez les paquets NuGet suivants dans votre application :
Lorsque les paquets sont distribués via NuGet.org, vous pouvez les installer sans avoir à recompiler l'application. Utilisez l'une des méthodes suivantes :
nuget.exeDisponible : Restaurez les paquets à l'aide denuget.exesans compiler le projet à instrumenter.nuget.exeindisponible : téléchargez directement les paquets, décompressez-les, puis configurez les variables d'environnement pour qu'elles pointent vers les fichiers décompressés, comme décrit à l'étape suivante.
Ajoutez les variables d'environnement suivantes à votre YAML de déploiement Kubernetes :
apiVersion: apps/v1 kind: Deployment metadata: name: my-dotnet-app spec: replicas: 1 selector: matchLabels: app: my-dotnet-app template: metadata: labels: app: my-dotnet-app spec: containers: - name: my-dotnet-app image: my-dotnet-app:latest env: - name: DOTNET_STARTUP_HOOKS value: "[path-to-your-app]/Instana.Tracing.Core.dll" - name: CORECLR_ENABLE_PROFILING value: "1" - name: CORECLR_PROFILER value: "{cf0d821e-299b-5307-a3d8-b283c03916dd}" - name: CORECLR_PROFILER_PATH value: "[Path_to_your_app]/instana_tracing/CoreProfiler.so" - name: INSTANA_AGENT_HOST valueFrom: fieldRef: fieldPath: status.hostIP - name: INSTANA_AGENT_PORT value: "42699"Remplacez
[path-to-your-app]par les chemins d'accès réels vers le répertoire de votre application.- Déployez et exécutez votre application.