Installation de l'agent sur Docker

Pour installer et configurer l'agent Instana sur Docker, récupérez l'image du conteneur de l'agent Instana et exécutez-la, puis installez et exécutez l'agent hôte Instana en tant que conteneur privilégié.

Téléchargement de l'image du conteneur de l'agent « Instana »

Vous trouverez l'image de l'agent « Instana » dans l' IBM Cloud Container Registry e publique à l'adresse icr.io/instana/agent:latest.

De plus, vous pouvez également obtenir des images d'agents dynamiques et statiques sur le site Instana containers.instana.ioContainer Registry.

Pour récupérer la dernière image de l'agent d' Instana, procédez comme suit :

  1. Connectez-vous avec votre clé agent :
    docker login containers.instana.io -u _ -p <agent_key>
     
  2. Téléchargez l'image requise en utilisant la commande appropriée de la liste suivante :
# pull the dynamic image, powered by the Azul JDK
docker pull containers.instana.io/instana/release/agent/dynamic:latest

# download the static image, powered by the Azul JDK
docker pull containers.instana.io/instana/release/agent/static:latest

# pull the dynamic image, powered by the OpenJ9 JDK
docker pull containers.instana.io/instana/release/agent/dynamic:latest-j9

# download the static image, powered by the OpenJ9 JDK
docker pull containers.instana.io/instana/release/agent/static:latest-j9
 

Liste des tags disponibles

Pour lister les balises d'image disponibles, interrogez la liste publique des balises d' icr.io . Les balises d'image peuvent être utilisées avec le registre icr.io public et le registre containers.instana.ioInstana.

Vous avez besoin des outils en ligne de commande Curl pour interroger et jq pour filtrer la sortie. Entrez la commande suivante pour lister toutes les balises disponibles :

curl https://icr.io/v2/instana/agent/tags/list | jq
 

Pour filtrer les balises en fonction de la version du backend d' Instana, entrez la commande suivante. Remplacez par la version « Instana<backend_version> » dans l'exemple suivant :

INSTANA_VERSION=<backend_version> && curl https://icr.io/v2/instana/agent/tags/list | jq '.tags[] | select(. | contains ("'"$INSTANA_VERSION"'"))'
 

Exécution de l'image du conteneur de l'agent « Instana »

Docker prend en charge plusieurs plateformes, notamment de nombreux services basés sur l' Kubernetes, DC/OS et bien d'autres. La procédure d'exécution de l'image de l'agent Instana Docker varie selon la plateforme.

Consultez la liste des environnements conteneurisés sur lesquels vous pouvez installer l'agent hôte d' Instana :

Vous pouvez également installer l'agent directement sur l 'hôte d' Linux (par exemple, si vous disposez d'une image spécifique pour vos machines de travail).

Mise à jour de l'image du conteneur de l'agent d' Instana

Pour mettre à jour manuellement l'image du conteneur de l'agent, exécutez la commande suivante :

skopeo inspect docker://icr.io/instana/agent:latest-<your-architecture>-dynamic | jq '.Digest'
 

Remplacez <your-architecture> par amd64, arm64, s390x ou ppc64le, selon votre architecture.

Si vous utilisez la variante d' OpenJ9, exécutez la commande suivante :

skopeo inspect docker://icr.io/instana/agent:latest-<your-architecture>-dynamic-j9 | jq '.Digest'
 

Pour vérifier l'image de l'agent Instana docker que vous avez actuellement installée, accédez à Kubernetes > Mon cluster > Espaces de noms > instana-agent, puis sélectionnez un pod d'agent. Sélectionnez le conteneur instana-agent, puis comparez la valeur SHA de l'image dans le tableau de bord d' Docker.

Si vous utilisez l' Helm, mettez-la à jour avec la dernière version d' Helm, exécutez la commande suivante :

helm pull --repo https://agents.instana.io/helm --untar instana-agent && kubectl apply -f instana-agent/crds && helm upgrade --repo https://agents.instana.io/helm instana-agent --reuse-values --set agent.image.tag=latest --set agent.image.pullPolicy=Always instana-agent
 

Le graphique « Instana » ( Helm ) déploie en interne l'instana-agent-operator, qui se charge ensuite de déployer les ressources de l'agent. Ce déploiement s'appuie sur la ressource personnalisée (CR) de l'agent, qui est créée à partir des valeurs de l' Helm. Le modèle d'opérateur nécessite une définition de ressource personnalisée (Custom Resource Definition, CRD) dans le cluster avant de définir des ressources personnalisées. Par conséquent, le diagramme « Helm » inclut le CRD requis, qui est déployé lors des installations initiales avant la soumission des autres artefacts.

Remarque : pour l'instant, Helm ne prend en charge que l'installation initiale des CRD, et non leur mise à jour, leur suppression ou leur désinstallation. En raison de cette limitation, les mises à jour CRD sont automatiquement soumises au cluster uniquement lors de l'installation initiale et non lors des mises à niveau. Pour plus d'informations sur cette restriction, consultez la section « Définitions de ressources personnalisées ».

Si vous utilisez l' Kubernetes YAML, supprimez l'espace de noms et réinstallez l'agent :

kubectl apply -f <your-instana-agent-daemonset.yaml>
 

Installation de l'agent

  1. Sur la page d'accueil de l'interface utilisateur d' Instana, cliquez sur « Agents et collecteurs ». Dans l'onglet « Agents » de l' Instana, sélectionnez « Installer les agents ».

  2. Cliquez sur la vignette Docker.

  3. (Facultatif) Si vous souhaitez que l'agent hôte fasse partie d'une zone d'agent personnalisée, entrez le nom de la zone d'agent. Si vous saisissez un nom dans le champ Zone agent, la ligne --env="INSTANA_AGENT_ZONE=<agent_zone>" \ est ajoutée au code de déploiement de l'agent.

  4. Copiez puis utilisez le code de déploiement de l'agent pour exécuter l'agent « Instana » en tant que conteneur privilégié :

    L'interface utilisateur d' Instana fournit le code de déploiement de l'agent comme suit :

    sudo docker run \
      --detach \
      --name instana-agent \
      --volume /var/run:/var/run \
      --volume /run:/run \
      --volume /dev:/dev:ro \
      --volume /sys:/sys:ro \
      --volume /var/log:/var/log:ro \
      --privileged \
      --net=host \
      --pid=host \
      --env="INSTANA_AGENT_ENDPOINT=<the_host_agent_endpoint>" \
      --env="INSTANA_AGENT_ENDPOINT_PORT=<the_host_agent_endpoint_port>" \
      --env="INSTANA_AGENT_KEY=<your_instana_agent_key>" \
      --env="INSTANA_AGENT_DOWNLOAD_KEY=<your_instana_agent_download_key>" \
      icr.io/instana/agent
     

Votre clé d'agent, votre clé de téléchargement et le point de terminaison de l'agent hôte sont préremplis dans le code de déploiement de l'agent.

Lorsque l'agent hôte est en cours d'exécution, utilisez la commande suivante pour générer les journaux de l'agent :

docker logs instana-agent