Administration de l'agent « Instana » sur Red Hat OpenShift
Une fois l'agent installé, configurez-le et gérez-le selon vos besoins. Consultez la liste suivante pour connaître toutes les options de configuration des agents disponibles sur Red Hat OpenShift.
Vérification de l'état du pod
Après avoir installé l'agent, vous pouvez vérifier l'état des pods dans votre déploiement d'agent à l'aide des commandes suivantes :
kubectl get pods -n instana-agent
kubectl get agent instana-agent -n instana-agent -o yaml | yq ".status"
Dans un bon déploiement, le " STATUS de tous les pods de l'espace de noms doit être le " Running. La ressource personnalisée " instana-agent doit également afficher " status: Running, comme le montre l'exemple suivant :
$ kubectl get pods -n instana-agent
NAME READY STATUS RESTARTS AGE
controller-manager-6478cb4c6f-8s29b 1/1 Running 0 70m
instana-agent-8ftnj 1/1 Running 0 70m
instana-agent-9w4vc 1/1 Running 0 70m
instana-agent-k8sensor-5bbf568976-5pjk2 1/1 Running 0 3h2m
instana-agent-k8sensor-5bbf568976-h96hr 1/1 Running 0 3h2m
instana-agent-k8sensor-5bbf568976-lnbsg 1/1 Running 0 3h2m
instana-agent-zpmrj 1/1 Running 0 70m
$ kubectl get agent instana-agent -n instana-agent -o yaml | yq ".status"
conditions:
- lastTransitionTime: "2024-08-06T08:12:03Z"
message: most recent reconcile of agent CR completed without issue
observedGeneration: 2
...
observedGeneration: 2
oldVersionsUpdated: true
operatorVersion: 0.0.1-dev
status: Running
Configuration de l'agent
Vous pouvez configurer l'agent Instana pour Kubernetes et Red Hat OpenShift de deux manières différentes, selon la méthode que vous avez utilisée pour installer l'agent.
Configuration de l'agent installé via l'opérateur
Pour configurer l'agent « Instana » installé à l'aide d'un opérateur, procédez comme suit :
Ouvrez le fichier de ressource personnalisée
instana-agent.customresource.yaml« YAML ».Enregistrez vos configurations sous "
spec.agent.configuration_yaml. Voir l'exemple suivant :spec: agent: configuration_yaml: | # Example of configuration yaml template # Host com.instana.plugin.host: tags: - 'dev' - 'app1'Appliquez les modifications en exécutant la commande suivante :
kubectl apply -f instana-agent.customresource.yaml
Pour un exemple détaillé du fichier « YAML », consultez instana_v1_extended_instanaagent.yaml.
Pour plus d'informations sur la configuration des agents, consultez la section « Configuration des agents hôtes à l'aide du fichier de configuration des agents ».
Configuration de l'agent installé à l'aide du tableau « Helm »
Pour configurer l'agent « Instana » installé à l'aide du tableau « Helm », procédez de l'une des manières suivantes :
Spécifiez la configuration sur la ligne de commande en utilisant l'indicateur '
--set agent.configuration_yaml=<config>.Ajouter la configuration au fichier de configuration de la carte Helm '
values.yaml. Passez le fichier à la commande Helm install (pendant l'installation) ou Helm upgrade (après l'installation) en utilisant l'option '-f
Pour obtenir la liste détaillée de tous les paramètres de configuration, consultez le tableau « Instana » sur Helm.
Personnalisation de l' Container Registry
En fonction de votre environnement Red Hat OpenShift, vous devrez peut-être personnaliser le Red Hat OpenShift Container Registry.
Ajouter des flux d'images
Si vous ne pouvez pas extraire d'images du IBM Cloud Container Registryicr.io), vous devez ajouter manuellement deux flux d'images. Dans le Red Hat OpenShift Container Registry, accédez à l'espace de noms 'instana-agent et ajoutez les flux d'images suivants :
Name: instana-agent
Image: icr.io/instana/agent:latest
Le flux d'images résultant est " docker-registry.default.svc:5000/instana-agent/instana-agent:latest.
Name: k8sensor
Image: icr.io/instana/k8sensor:latest
Le flux d'images résultant est " docker-registry.default.svc:5000/instana-agent/k8sensor:latest.
Utilisez les nouveaux flux d'images dans le fichier YAML.
Personnalisation de la surveillance avec ConfigMap
Vous pouvez personnaliser la surveillance selon vos besoins en configurant le fichier 'agent.configuration_yaml. Pour plus d'informations, consultez le Guide de configuration.
Pour plus d'informations sur la configuration, consultez la section « Configuration de l'agent hôte ».
Mise à jour de l'installation de l'agent
Selon la méthode d'installation utilisée, vous pouvez mettre à jour l'agent « Instana » pour « Red Hat OpenShift » de plusieurs façons.
Mise à jour d'une installation d'opérateur
La mise à jour de l'installation de l'agent se fait en deux étapes :
- Mise à jour de l'opérateur
- Mise à jour des images
Pour mettre à jour l'opérateur vers la dernière version à l'aide d' OLM, suivez les étapes décrites dans la section « Approuver manuellement une mise à jour en attente de l'opérateur » de la documentation d' Red Hat OpenShift.
Vous pouvez également configurer l'opérateur pour qu'il se mette à jour automatiquement. Pour plus d'informations, consultez la section « Modification du canal de mise à jour d'un opérateur ».
Pour mettre à jour manuellement l'opérateur à l'aide de l'interface utilisateur d' Instana, procédez comme suit :
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 ».
Sur la page du catalogue de déploiement de l'agent, cliquez sur la tuile OpenShift - Operator.
Copiez et exécutez la commande pour déployer le nouvel opérateur. Voir l'exemple de commande suivant :
kubectl apply -f https://github.com/instana/instana-agent-operator/releases/latest/download/instana-agent-operator.yamlRemarque : pour mettre à jour l'opérateur vers une version spécifique, exécutez la commande suivante :
Pour consulter la liste des versions disponibles pour les opérateurs, reportez-vous aux notes de mise à jour de l'agent opérateur d' Instana.kubectl apply -f https://github.com/instana/instana-agent-operator/releases/download/<operator_version>/instana-agent-operator.yaml
Une fois l'opérateur mis à jour, passez à la mise à jour des images.
Mise à jour d'une installation d' Helm
La mise à jour de l'installation de l'agent se fait en deux étapes :
- Mise à jour du graphique « Helm »
- Mise à jour des images
Pour mettre à jour le graphique d' Helm s des agents, exécutez les commandes suivantes :
helm pull --repo https://agents.instana.io/helm --untar instana-agent
kubectl apply -f instana-agent/crds
oc adm policy add-scc-to-user privileged -z instana-agent -n instana-agent
oc adm policy add-scc-to-user anyuid -z instana-agent-remote -n instana-agent
helm upgrade --namespace instana-agent instana-agent \
--repo https://agents.instana.io/helm instana-agent \
--reuse-values
--version <helm-version> à la commande. Pour connaître la liste des versions disponibles du graphique « Helm », consultez les notes de mise à jour relatives au graphique « Helm » de l'agent Instana.instana-agent/crds dossier. Par conséquent, cette kubectl apply -f instana-agent/crds étape n'est pas nécessaire.Une fois l'opérateur mis à jour, passez à la mise à jour des images.
Mise à jour des images d'agent d' Instana
Le DaemonSet 'instana-agent et le déploiement 'k8sensor sont configurés pour extraire la dernière image au démarrage du pod. Pour forcer la mise à jour, exécutez les commandes suivantes :
kubectl rollout restart ds instana-agent -n instana-agent
kubectl rollout restart deployment k8sensor -n instana-agent
Instana ne propose pas de mécanisme permettant de mettre à jour automatiquement ces images. Vous pouvez utiliser des solutions adaptées à vos besoins, telles que CronJobs celles offrant des privilèges suffisants pour restart les charges de travail, ou des outils plus avancés d' OpenShift, comme GitOps, notamment les flux d'images.
Gérer les agents à l'aide du tableau de bord de gestion des agents
Vous pouvez effectuer les opérations suivantes à l'aide du tableau de bord de gestion des agents dans l'interface utilisateur d' Instana :
- Changer de mode d'agent
- Modification du niveau de journalisation
- Mise à jour des agents
- Agents de réinitialisation
- Agents de redémarrage
- Capteurs de vision
- [Gestion de la configuration]
- Surveillance automatique
Pour ouvrir le tableau de bord de la gestion des agents, procédez comme suit :
- Dans la barre latérale de l'interface utilisateur d' Instana, sélectionnez « Infrastructure ».
- Cliquez sur un hôte surveillé spécifique.
- Sur le tableau de bord de l'hôte, cliquez sur Ouvrir la gestion des agents.
Configuration de l'accès réseau pour les applications surveillées
Vous devez configurer l'accès réseau des types d'applications suivants pour qu'elles puissent communiquer avec l'agent :
- Node.js
- Go
- Ruby
- Python
- .NET Core
Ces applications doivent connaître l'adresse IP sur laquelle l'agent est à l'écoute. L'agent écoute automatiquement l'IP de l'hôte. Vous pouvez utiliser l'extrait de code d' API descendante suivant pour transmettre l'adresse IP de l'hôte, via une variable d'environnement, au pod de l'application :
spec:
containers:
env:
- name: INSTANA_AGENT_HOST
valueFrom:
fieldRef:
fieldPath: status.hostIP
Surveillance des nœuds du plan de contrôle (anciennement appelés nœuds maîtres)
Par défaut, l'agent hôte n'est pas planifié sur les nœuds du plan de contrôle d' Kubernetes. Pour plus d'informations sur la surveillance des nœuds du plan de contrôle, consultez la section « Surveillance des nœuds du plan de contrôle ».
Pour un contrôle plus direct, installez l'agent séparément sur les nœuds du plan de contrôle.
Surveillance Kubernetes NGINX Ingress
Pour obtenir des instructions sur la configuration de l'Ingress Kubernetes NGINX et de notre agent permettant de collecter les métriques NGINX, consultez la page de surveillance NGINX. Le traçage d'Ingress sur Kubernetes NGINX est également possible via le projet OpenTracing. Consultez la section « Traçage distribué pour Ingress sur NGINX » pour obtenir des instructions sur la configuration.
Rapports vers plusieurs systèmes backend
Pour ajouter des backends supplémentaires à l'aide d' helm, exécutez la commande suivante. Vous pouvez utiliser des backends supplémentaires pour configurer votre agent Instana ou laisser ce champ vide.
Utilisation d' helm :
helm install instana-agent \ --repo https://agents.instana.io/helm \ --namespace instana-agent \ --create-namespace \ --set agent.key=my-key \ --set agent.endpointHost='<your_host_agent_endpoint>' \ --set agent.endpointPort=443 \ --set cluster.name='<your_cluster_name>' \ --set zone.name='zone-name' \ --set "agent.additionalBackends[0].endpointHost=<your_host_agent_endpoint>" \ --set "agent.additionalBackends[0].key=<your_agent_key>" \ --set "agent.additionalBackends[0].endpointPort=443" \ --set "agent.additionalBackends[1].endpointHost=<your_other_host_agent_endpoint>" \ --set "agent.additionalBackends[1].key=<your_other_agent_key>" \ --set "agent.additionalBackends[1].endpointPort=443" \ instana-agentUtilisation de l'opérateur :
apiVersion: instana.io/v1 kind: InstanaAgent metadata: name: instana-agent namespace: instana-agent spec: zone: name: edited-zone # (optional) name of the zone of the host cluster: name: my-cluster agent: endpointHost: <your_host_agent_endpoint> endpointPort: "443" env: {} key: <your_agent_key> additionalBackends: - endpointHost: <your_host_agent_endpoint> endpointPort: "443" key: <your_agent_key> configuration_yaml: | # You can leave this empty, or use this to configure your instana agent. # See https://github.com/instana/instana-agent-operator/blob/main/config/samples/instana_v1_extended_instanaagent.yaml for the extended version.
Pour permettre la transmission de rapports vers plusieurs backends à partir d'un agent Kubernetes, consultez la configuration de l'agent Docker.
Configuration des secrets
Vous pouvez utiliser les Secrets pour stocker et gérer des données sensibles telles que des informations d'identification, des jetons ou des clés. Pour plus d'informations, consultez la page « Kubernetes secrets ».