Gestion de l'agent Monitoring dans Red Hat OpenShift à l'aide d'une charte HELM
Vous pouvez utiliser une carte Helm pour installer, mettre à niveau et supprimer un agent Monitoring sur un cluster Kubernetes.
Avant de commencer
-
Installez la dernière version de l'Helm CLI, version 3, sur votre ordinateur local.
Helm est un gestionnaire de paquets de type « Kubernetes » qui utilise les charts d' Helm pour définir, installer et mettre à jour des applications d' Kubernetes complexes au sein de votre cluster. Les chartes Helm regroupent les spécifications permettant de générer des fichiers YAML pour les ressources Kubernetes qui créent votre application. Ces ressources Kubernetes sont automatiquement appliquées dans votre cluster et se voient affecter une version par Helm. Vous pouvez également utiliser Helm pour spécifier et conditionner votre propre application et laisser Helm générer les fichiers YAML pour vos ressources Kubernetes.
-
Vérifiez que vous disposez des droits d'accès et des droits nécessaires pour déployer l'agent Monitoring sur le cluster.
-
Vérifiez que l'espace de nom
ibm-observeest disponible dans votre cluster. L'agent est déployé dans cet espace de noms.
Déployer un agent
Pour déployer un agent à l'aide de Helm, procédez comme suit:
Etape 1. Configurer le dépôt Sysdig Helm
Ajoutez le référentiel Monitoring Helm à votre instance Helm.
Procédez comme suit :
-
Définissez le contexte du cluster.
obmcloud ks cluster config --cluster <CLUSTER_NAME> -
Ajoutez le dépôt Helm.
helm repo add sysdig https://charts.sysdig.com -
Mettez à jour les référentiels pour extraire les dernières versions de toutes les chartes Helm.
helm repo update -
Énumérez les graphiques « Helm » actuellement disponibles pour le dépôt Sysdig.
helm search repo sysdig -
Vérifiez que la Helm
sysdig/sysdig-deployest répertoriée.
Si l'erreur suivante est générée :
helm repo add sysdig https://charts.sysdig.com --debug
Error: context deadline exceeded
helm.go:84: [debug] context deadline exceeded
Exécutez la commande suivante et réessayez.
rm $HOME/Library/Preferences/helm/repositories.lock
Étape 2. Créer le fichier YAML contenant les valeurs
Définissez un fichier yaml et incluez les valeurs pour déployer l'agent Monitoring et les composants Workload Protection que vous prévoyez de déployer. Par exemple, nommez le fichier agent-values-monitor-secure.yaml.
Le fichier yaml suivant est un modèle que vous pouvez utiliser pour configurer l'agent Monitoring et les composants Workload Protection. Vous pouvez personnaliser le fichier en supprimant ou en mettant en commentaire avec # les
sections qui ne sont pas requises pour votre déploiement d'agent.
global:
clusterConfig:
name: CLUSTER_NAME
sysdig:
accessKey: MONITORING_INSTANCE_ACCESS_KEY
secureAPIToken: SECURE_TOKEN
kspm:
deploy: true
agent:
image:
tag: AGENT_TAG
registry: icr.io
slim:
enabled: true
image:
repository: ext/sysdig/agent-slim
kmoduleImage:
repository: ext/sysdig/agent-kmodule
collectorSettings:
collectorHost: INGESTION_ENDPOINT # for example, ingest.eu-gb.monitoring.cloud.ibm.com
nodeAnalyzer:
nodeAnalyzer:
deploy: true
apiEndpoint: API_ENDPOINT # for example, eu-gb.monitoring.cloud.ibm.com
benchmarkRunner:
deploy: false
kspmCollector:
apiEndpoint: API_ENDPOINT # for example, eu-gb.monitoring.cloud.ibm.com
admissionController:
enabled: true
sysdig:
url: WEB_UI_ENDPOINT # for example, https://ingest.eu-gb.monitoring.cloud.ibm.com
clusterName: CLUSTER_NAME
Où
CLUSTER_NAMEest le nom du cluster dans lequel vous déployez l'agent.MONITORING_INSTANCE_ACCESS_KEYest la clé d'accès à l'instance Monitoring.SECURE_TOKENest le jeton d'API sécurisé.AGENT_TAGIl s'agit de la version de l'agent que vous prévoyez de déployer.INGESTION_ENDPOINTest le noeud final d'ingestion de l'instance.API_ENDPOINTest le noeud final d'API de l'intance.WEB_UI_ENDPOINTest le noeud final de l'interface utilisateur Web de l'instance.
Exemple de fichier yaml de valeurs pour déployer l'agent
Par exemple, consultez l'exemple suivant d'un fichier de valeurs qui déploie l'agent Monitoring uniquement:
global:
clusterConfig:
name: mycluster-au-syd
sysdig:
accessKey: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
secureAPIToken: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
kspm:
deploy: true
agent:
image:
registry: icr.io
slim:
enabled: true
image:
repository: ext/sysdig/agent-slim
kmoduleImage:
repository: ext/sysdig/agent-kmodule
collectorSettings:
collectorHost: ingest.au-syd.monitoring.cloud.ibm.com
Exemple de fichier yaml de valeurs pour déployer l'agent et l'analyseur de Node
Par exemple, consultez l'exemple suivant d'un fichier de valeurs qui déploie l'agent Monitoring et le composant Node Analyzer:
global:
clusterConfig:
name: mycluster-au-syd
sysdig:
accessKey: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
secureAPIToken: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
kspm:
deploy: true
agent:
image:
registry: icr.io
slim:
enabled: true
image:
repository: ext/sysdig/agent-slim
kmoduleImage:
repository: ext/sysdig/agent-kmodule
collectorSettings:
collectorHost: ingest.au-syd.monitoring.cloud.ibm.com
nodeAnalyzer:
nodeAnalyzer:
deploy: true
apiEndpoint: API_ENDPOINT # for example, eu-gb.monitoring.cloud.ibm.com
benchmarkRunner:
deploy: false
Étape 3. Installez la charte Helm
Pour déployer l'agent, les composants Workload Protection ou les deux, vous devez installer la charte sysdig/sysdig-deploy et utiliser le fichier yaml de variables que vous avez configuré à l'étape précédente.
Exécutez la commande suivante pour installer l'agent à l'aide de la charte Helm :
helm install -n ibm-observe sysdig-agent sysdig/sysdig-deploy -f agent-values-monitor-secure.yaml
Si vous rencontrez l'erreur suivante: Error: INSTALLATION FAILED: Kubernetes cluster unreachable: xxxxxx failed to refresh token: oauth2: cannot fetch token: 400 Bad Request, définissez le contexte de votre cluster et réessayez.
Mise à jour d'un agent
Pour mettre à jour la version de l'agent à l'aide de Helm, procédez comme suit:
-
Mettez à jour le graphique.
helm repo update -
Recherchez les valeurs du fichier yaml que vous avez utilisé pour déployer l'agent et modifiez le fichier
agent.image.tagavec la version de l'agent que vous souhaitez déployer. -
Mettez à niveau l'agent.
helm upgrade -n ibm-observe sysdig-agent sysdig/sysdig-deploy -f agent-values-monitor-secure.yaml
Supprimer un agent
Pour supprimer l'agent à l'aide de Helm, vous devez désinstaller la charte.
Procédez comme suit :
-
Affichez la liste des cartes installées.
helm list -n ibm-observeLa sortie de la commande affiche les graphiques comme suit :
NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION sysdig-agent ibm-observe 1 2023-03-24 15:02:58.408108 +0100 CET deployed sysdig-deploy-1.6.3 -
Désinstallez la charte.
helm delete sysdig-agent -n ibm-observeEn ce qui concerne Helm,
sysdig-agentest le nom de la libération.Si vous oubliez d'inclure l'espace de noms dans la commande, vous obtenez l'erreur suivante :
Error: uninstall: Release not loaded: sysdig-agent: release: not found.