Configuration des mises à jour des agents hôte dynamiques

Les agents hôtes dynamiques d' Instana se mettent automatiquement à jour vers les nouvelles versions des modules, tels que les agents, les capteurs et les outils de découverte. Vous pouvez gérer ces mises à jour comme bon vous semble, en définissant un calendrier de mise à jour, en épinglant une version ou en désactivant complètement les mises à jour.

Remarque : les mises à jour automatiques s'appliquent uniquement aux agents hôtes dynamiques d' Instana. Si vous utilisez un agent hôte statique, vous devez mettre à jour manuellement l'agent en installant les paquets d'agent hôte requis. Vous pouvez utiliser des outils tels que Ansible ou Terraform pour effectuer la mise à jour. Pour plus d'informations sur la différence entre les agents statiques et dynamiques, consultez la section « Types d'agents hôtes ».

Les mises à jour automatiques des agents hôtes dynamiques ne concernent que les ensembles d'agents. Pour mettre à jour le programme d'initialisation de l'agent, vous devez réinstaller l'agent manuellement. Il est recommandé de réinstaller régulièrement l'agent afin de vous assurer de bénéficier des modifications de démarrage nécessaires. Consultez la section « Mises à jour prévues de l'agent » pour planifier vos mises à jour manuelles et éviter tout risque.

Configuration des contrôles de mise à jour de la version de l'agent

Par défaut, les agents dynamiques vérifient la disponibilité de nouvelles versions tous les jours entre 4 h 15 et 4 h 45. Vous pouvez programmer cette vérification automatique pour qu'elle s'exécute à une fréquence, à une heure et à des jours précis. Vous pouvez également le désactiver si vous ne souhaitez pas que l'agent recherche des mises à jour. De plus, les agents effectuent leurs vérifications de version et leurs mises à jour de manière aléatoire sur une période donnée afin d'éviter de saturer le réseau avec des requêtes synchronisées. Vous pouvez modifier cette durée à l'aide du jitter paramètre et définir la plage horaire pendant laquelle l'agent redémarre.

Remarque : les mises à jour planifiées ne sont pas recommandées pour les environnements de production exécutant des charges de travail critiques. Si vous optez pour cette approche, veillez à exécuter les mises à jour planifiées pendant une fenêtre de maintenance, puis à redémarrer les charges de travail.

Vous pouvez également configurer l'agent pour qu'il utilise une version spécifique verrouillée afin de minimiser les risques dans l'environnement de production lors des mises à jour de l'agent. Cette approche garantit un contrôle total sur les mises à jour de version. En utilisant une stratégie de mise à jour de version d'agent « épinglée », vous pouvez permettre à l'agent de se mettre à jour automatiquement à un moment précis sans avoir à le réinstaller manuellement. Cette approche est recommandée pour les environnements de production critiques.

Les procédures permettant de gérer les mises à jour de l'agent et de verrouiller les versions dépendent du type d'environnement dans lequel l'agent est déployé : sur un hôte ou dans un environnement conteneurisé.

Remarque : si vous utilisez plusieurs agents déployés dans différents environnements et que vous avez besoin d'un contrôle centralisé des versions, consultez la section « Contrôle des mises à jour des agents avec Git ».
Remarque : il n'est pas recommandé de désactiver les mises à jour automatiques. Même si vous désactivez les mises à jour automatiques, l'agent se mettra tout de même à jour vers la dernière version lors de son redémarrage. Dans les environnements Kubernetes et Red Hat OpenShift, chaque redémarrage d'un pod entraîne le téléchargement de la dernière version de l'agent. Il est recommandé de ne pas bloquer les versions des agents pendant plus de six mois afin de garantir l'accès aux dernières mises à jour et corrections.

Gérer les mises à jour dans les agents hôtes

Pour planifier la vérification automatique des déploiements d'agents hôtes, ouvrez le etc/instana/com.instana.agent.main.config.UpdateManager.cfg fichier et modifiez les paramètres selon vos besoins. Voir l'exemple suivant :

# Instana Update Manager configuration.
# AUTO for automatic updates with given schedule. OFF for no automatic updates.
mode = AUTO
# DAY for daily, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY
every = DAY
# Time is hh:mm in 24 hours format.
at = 04:30
# Spread updates randomized over 30 minutes around the configured time
jitter = 30

Pour verrouiller une version de l'agent et empêcher toute mise à jour ultérieure, ouvrez le *instanaAgentDir*/etc/instana/com.instana.agent.bootstrap.AgentBootstrap.cfg fichier avant le démarrage et ajoutez la configuration suivante :

version = <sha or tag>

sha correspond à la valeur SHA du commit de la version de l'agent dans le référentiel « Agent Updates » Git, et tag correspond à l'identifiant de version de l'agent tel qu'il figure sur la page « Agent Updates - tags ».

Gestion des mises à jour dans les agents conteneurisés

Pour planifier les déploiements automatiques de l'agent hôte, vous devez utiliser les variables d'environnement suivantes :

  • INSTANA_AGENT_UPDATES_FREQUENCY: Définit la fréquence de la vérification de la version et de la mise à jour. Les valeurs valides sont DAY (pour les mises à jour quotidiennes), MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY ou SUNDAY. Vous pouvez ajouter plusieurs options séparées par deux points.
  • INSTANA_AGENT_UPDATES_TIME: Indique l'heure à laquelle la vérification de la version et la mise à jour sont effectuées.

Pour verrouiller une version de l'agent et empêcher toute mise à jour ultérieure, utilisez la variable INSTANA_AGENT_UPDATES_VERSION d'environnement et indiquez la valeur SHA du commit de la version de l'agent dans le référentiel « Agent Updates » sur Git.

Pour plus d'informations sur ces variables d'environnement, consultez la section « Variables d'environnement pour l'agent hôte ».

Pour configurer les variables d'environnement, utilisez l'une des méthodes suivantes :

  • Enregistrez vos configurations de variables d'environnement dans spec.agent.env le fichier de ressources instana-agent.customresource.yaml personnalisées de l'agent et appliquez les modifications en exécutant la commande suivante :

    kubectl apply -f instana-agent.customresource.yaml
    
  • Spécifiez la configuration directement sur la ligne de commande à l'aide de l'option --set agent.env.<ENVIRONMENT_VARIABLE>=<value> .

Récupération de la version actuelle

Le noeud final d'API de l'agent hôte suivant fournit la version des composants de l'agent hôte :

curl localhost:42699/version