Installation d' IDOT s dans des clusters d' Kubernetes s via l'opérateur
L'opérateur « Instana Distribution of OpenTelemetry Collector » ( IDOT ) offre une méthode native à Kubernetes pour déployer et gérer les collecteurs OpenTelemetry au sein de votre cluster. L'opérateur automatise la gestion du cycle de vie des instances de collecteur, ce qui facilite le déploiement, la configuration et la maintenance des collecteurs à grande échelle.
- Installation de l'opérateur « IDOT » à l'aide du graphique « Helm »
- Vérification du statut de l'opérateur et du collecteur
- Mise à niveau de l'opérateur « IDOT »
- Désinstallation de l'opérateur « IDOT » d' Kubernetes
- Installation de l'opérateur « IDOT » dans l' Red Hat OpenShift
- Désinstallation de l'opérateur « IDOT » d' Red Hat OpenShift
- Configuration de l'opérateur « IDOT »
- Traitement des incidents
Installation de l'opérateur « IDOT » à l'aide du graphique « Helm »
Helm est un gestionnaire de paquets pour Kubernetes. Avec Helm, vous pouvez définir, installer et mettre à niveau des applications d' Kubernetes s complexes.
Prérequis
- Kubernetes 1.24 et plus tard
- Helm 3.9 et plus tard
- kubectl
- Autorisations d'administrateur de cluster pour créer des définitions de ressources personnalisées (CRD)
Procédure
Pour installer l'opérateur « IDOT » dans un environnement « Kubernetes », procédez comme suit :
Facultatif mais recommandé : créez un espace de noms dédié à l'opérateur en exécutant la commande suivante :
kubectl create namespace instana-otel-operatorInstallez l'opérateur « IDOT » dans l' Kubernetes e en exécutant la commande suivante :
helm install instana-otel-operator \ --repo https://instana.github.io/instana-otel-collector instana-otel-collector-chart-operator \ --namespace instana-otel-operator \ --create-namespace \ --set clusterName=<CLUSTER_NAME> \ --set instanaEndpoint=<INSTANA_ENDPOINT> \ --set instanaKey=<INSTANA_KEY> \ --set daemonset.enabled=true \ --set statefulset.enabled=trueTableau 1. Paramètres d'installation Paramètre Description Obligatoire clusterName Nom de votre cluster « Kubernetes » pour l'afficher dans l'interface utilisateur d' Instana Oui instanaEndpoint Le point de terminaison « gRPC » de votre environnement Instana Oui instanaKey Instana clé d'agent permettant de s'authentifier auprès du point de terminaison Oui Comment trouver vos valeurs de configuration :
Vous trouverez ces paramètres dans l'interface utilisateur d' Instana, sous « Agent & collectors » > « OpenTelemetry Collectors » :- Cliquez sur « Installer un collecteur » > « Opérateur Kubernetes ».
- Dans la commande d'installation :
INSTANA_KEY: Recherchez la clé de l'agent après le-adrapeau.INSTANA_OTEL_ENDPOINT_GRPC: Recherchez le point de terminaison « gRPC » après le-edrapeau.INSTANA_OTEL_ENDPOINT_HTTP: Recherchez le point de terminaison « HTTP » après le-Hdrapeau.
Remarque : l'option--create-namespacecrée l'espace de noms s'il n'existe pas. Vous pouvez omettre cet indicateur si l'espace de noms existe déjà ou a été créé manuellement.Pour plus d'informations sur les exigences système complètes, consultez les exigences système IDOT.
Vérifiez l'installation de l'opérateur : après l'installation, vérifiez que l'opérateur est correctement installé en exécutant la commande suivante :
kubectl get pods -n instana-otel-operatorSi l'installation réussit, le message suivant s'affiche :
NAME READY STATUS RESTARTS AGE instana-otel-operator-7d9f8b5c6d-xk2lm 2/2 Running 0 30sL'âge de votre déploiement et l'ID du pod varient en fonction du moment où vous avez exécuté la commande d'installation.
Vérifiez que les définitions de ressources personnalisées (CRD) sont installées en exécutant la commande suivante :
kubectl get crd | grep opentelemetryLe CRD de l' OpenTelemetryCollector doit figurer dans la liste des résultats.
Mise à jour de la configuration du collecteur
Pour mettre à jour la configuration du collecteur, modifiez la ressource personnalisée OpenTelemetryCollector :
kubectl edit opentelemetrycollector idot-daemonset -n instana-otel-operator
kubectl edit opentelemetrycollector idot-statefulset -n instana-otel-operator
L'opérateur détecte automatiquement les changements et met à jour les pods collecteurs en conséquence.
Vérification du statut de l'opérateur et du collecteur
Pour vérifier l'état de l'opérateur, exécutez la commande suivante :
kubectl describe pod -n instana-otel-operator -l app.kubernetes.io/name=opentelemetry-operator
Pour vérifier l'état des instances du collecteur, exécutez la commande suivante :
kubectl get opentelemetrycollector -n instana-otel-operator
Pour afficher des informations détaillées sur un collecteur spécifique, exécutez la commande suivante :
kubectl describe opentelemetrycollector idot-daemonset -n instana-otel-operator
kubectl describe opentelemetrycollector idot-statefulset -n instana-otel-operator
Pour vérifier les journaux des pods collecteurs, exécutez la commande suivante :
kubectl logs -n instana-otel-operator -l app.kubernetes.io/managed-by=opentelemetry-operator
Mise à niveau de l'opérateur « IDOT »
Pour mettre à niveau l'opérateur d' IDOT s vers une nouvelle version, exécutez la commande suivante :
helm upgrade instana-otel-operator \
--repo https://instana.github.io/instana-otel-collector instana-otel-collector-chart-operator \
--namespace instana-otel-operator
L'opérateur gère automatiquement la mise à niveau des instances de collecteur gérées conformément à la stratégie de mise à niveau définie dans les ressources personnalisées.
Désinstallation de l'opérateur « IDOT » d' Kubernetes
Pour désinstaller l'opérateur, procédez comme suit :
Désinstallez le graphique d'opérateur Helm :
helm uninstall instana-otel-operator -n instana-otel-operatorFacultatif : supprimez les espaces de noms en exécutant les commandes suivantes :
kubectl delete namespace instana-otel-operator
Installation de l'opérateur « IDOT » dans l' Red Hat OpenShift
L'opérateur « IDOT » peut également être installé dans des clusters d' Red Hat OpenShift.
Prérequis
Avant d'installer l'opérateur sur un cluster Red Hat OpenShift 4.x, assurez-vous que vous disposez des autorisations d'administrateur de cluster pour créer des CRD et gérer les opérateurs.
Procédure
Une fois connecté à votre cluster Red Hat OpenShift, procédez comme suit pour installer l'opérateur IDOT :
Facultatif mais recommandé : créez un projet dédié à l'opérateur en exécutant la commande suivante :
oc new-project instana-otel-operatorInstallez l'opérateur « IDOT » dans le cluster « Red Hat OpenShift » en exécutant la commande suivante :
helm install instana-otel-operator \ --repo https://instana.github.io/instana-otel-collector instana-otel-collector-chart-operator \ --namespace instana-otel-operator \ --create-namespace \ --set clusterName=<CLUSTER_NAME> \ --set instanaEndpoint=<INSTANA_ENDPOINT> \ --set instanaKey=<INSTANA_KEY> \ --set daemonset.enabled=true \ --set statefulset.enabled=trueVérifiez l'installation d' Red Hat OpenShift : Vérifiez les pods de l'opérateur en exécutant la commande suivante :
oc get pods -n instana-otel-operatorVous pouvez également utiliser la
kubectlcommande si la machine utilisée pour accéder au cluster dispose de la commande installée :kubectl get pods -n instana-otel-operator
Désinstallation de l'opérateur « IDOT » d' Red Hat OpenShift
Pour désinstaller l'opérateur « IDOT » d' Red Hat OpenShift, exécutez la commande suivante :
helm uninstall instana-otel-operator -n instana-otel-operator
Configuration de l'opérateur « IDOT »
L'opérateur peut être configuré via les valeurs d' Helm, et les instances de collecteur via des ressources personnalisées.
Paramètres de configuration de l'opérateur
Les paramètres suivants peuvent être définis lors de l'installation ou de la mise à niveau de l'opérateur :
| Paramètre | Description | Par défaut |
|---|---|---|
replicaCount |
Nombre de répliques de l'opérateur | 1 |
image.repository |
Référentiel d'images de l'opérateur | ghcr.io/open-telemetry/opentelemetry-operator/opentelemetry-operator |
image.tag |
Balise d'image de l'opérateur | Version de la charte |
resources.limits.cpu |
Limites CPU pour l'opérateur | 100m |
resources.limits.memory |
Limites de mémoire pour l'opérateur | 128Mi |
resources.requests.cpu |
Demandes CPU pour l'opérateur | 100m |
resources.requests.memory |
Demandes de mémoire pour l'opérateur | 64Mi |
manager.collectorImage.repository |
Référentiel d'images par défaut du collecteur | ghcr.io/instana/instana-otel-collector |
Paramètres de ressources personnalisés du collecteur
Les paramètres suivants peuvent être configurés dans la ressource personnalisée OpenTelemetryCollector :
| Paramètre | Description | Valeurs |
|---|---|---|
spec.mode |
Mode de déploiement pour le collecteur | daemonset, deployment, statefulset, sidecar |
spec.replicas |
Nombre de répliques (mode déploiement ou statefulset) | Entier |
spec.image |
Image personnalisée du collecteur | Référence d'image |
spec.config |
OpenTelemetry Configuration du collecteur | YAML chaîne |
spec.resources |
Demandes et limites de ressources | Kubernetes spécification des ressources |
spec.env |
Variables d'environnement | Tableau de variables d'environnement |
spec.volumeMounts |
Supports de volume pour modules collecteurs | Ensemble de supports de volume |
spec.volumes |
Volumes pour les pods collecteurs | Ensemble de volumes |
Exemple avec des limites de ressources :
apiVersion: opentelemetry.io/v1alpha1
kind: OpenTelemetryCollector
metadata:
name: instana-collector
namespace: instana-otel-operator
spec:
mode: daemonset
resources:
limits:
cpu: 1.5
memory: 768Mi
requests:
cpu: 0.5
memory: 768Mi
config: |
# ... collector configuration ...
Traitement des incidents
Vous pourriez rencontrer les problèmes suivants lors de l'installation d' IDOT sur Kubernetes ou Red Hat OpenShift :
L'opérateur ne crée pas de collecteurs
Si l'opérateur ne crée pas de pods collecteurs, vérifiez les points suivants :
Vérifiez que l'opérateur est en cours d'exécution :
kubectl get pods -n instana-otel-operator kubectl logs -n instana-otel-operator -l app.kubernetes.io/name=opentelemetry-operatorConsultez le site OpenTelemetryCollectors:
kubectl get opentelemetrycollector -n instana-otel-operatorVérifiez que les CRD sont installés :
kubectl get crd opentelemetrycollectors.opentelemetry.io
Les pods collecteurs ne démarrent pas
Si les modules collecteurs ne démarrent pas, vérifiez les points suivants :
Vérifiez les événements du pod en exécutant la commande suivante :
kubectl describe pod -n instana-otel-operator -l app.kubernetes.io/managed-by=opentelemetry-operatorVérifiez que la configuration du collecteur est valide en exécutant la commande suivante :
kubectl get opentelemetrycollector idot-daemonset -n instana-otel-operator -o yaml kubectl get opentelemetrycollector idot-statefulset -n instana-otel-operator -o yamlVérifiez les contraintes de ressources en exécutant la commande suivante :
kubectl top nodes kubectl top pods -n instana-otel-operatorConsultez les journaux du collecteur en exécutant la commande suivante :
kubectl logs -n instana-otel-operator -l app.kubernetes.io/managed-by=opentelemetry-operator
Pour obtenir des conseils supplémentaires sur le dépannage, consultez la page « Dépannage » à l'adresse IDOT.