Installation d' IDOT s dans des clusters d' Kubernetes s via l'opérateur

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 :

  1. 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-operator
     
  2. Installez 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=true
    Tableau 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 -a drapeau.
      • INSTANA_OTEL_ENDPOINT_GRPC: Recherchez le point de terminaison « gRPC » après le -e drapeau.
      • INSTANA_OTEL_ENDPOINT_HTTP: Recherchez le point de terminaison « HTTP » après le -H drapeau.
    Remarque : l'option --create-namespace cré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.

  3. 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-operator
     

    Si l'installation réussit, le message suivant s'affiche :

    NAME                                     READY   STATUS    RESTARTS   AGE
    instana-otel-operator-7d9f8b5c6d-xk2lm   2/2     Running   0          30s
     

    L'âge de votre déploiement et l'ID du pod varient en fonction du moment où vous avez exécuté la commande d'installation.

  4. Vérifiez que les définitions de ressources personnalisées (CRD) sont installées en exécutant la commande suivante :

    kubectl get crd | grep opentelemetry
     

    Le 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 :

  1. Désinstallez le graphique d'opérateur Helm :

    helm uninstall instana-otel-operator -n instana-otel-operator
     
  2. Facultatif : 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 :

  1. Facultatif mais recommandé : créez un projet dédié à l'opérateur en exécutant la commande suivante :

    oc new-project instana-otel-operator
     
  2. Installez 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=true
     
  3. Vé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-operator
     

    Vous pouvez également utiliser la kubectl commande 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 :

  1. 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-operator
     
  2. Consultez le site OpenTelemetryCollectors:

    kubectl get opentelemetrycollector -n instana-otel-operator
     
  3. Vé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 :

  1. 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-operator
     
  2. Vé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 yaml
     
  3. Vérifiez les contraintes de ressources en exécutant la commande suivante :

    kubectl top nodes
    kubectl top pods -n instana-otel-operator
     
  4. Consultez 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.