Gestion de l'agent « Workload Protection » dans un cluster « Satellite » à l'aide d'un tableau de bord « Helm »

Vous pouvez utiliser un graphique « Helm » pour installer, mettre à niveau et supprimer un agent « Workload Protection » sur vos clusters « Satellite ».

Avant de commencer

  • Installez l'interface de ligne de commande IBM Cloud, le plug-in Kubernetes Service, le plug-in IBM Cloud Container Registry, ainsi que les interfaces de ligne de commande Red Hat OpenShift et Kubernetes. Pour plus d'informations, consultez la section « Installation de l'interface CLI ».

  • Installez la dernière version de l'interface CLI d' Helm sur votre ordinateur local. Helm La version 3.6 ou une version ultérieure est requise.

    Helm est un gestionnaire de paquets de type « Kubernetes » qui utilise les charts d' Helm pour définir, installer et mettre à jour des applications complexes d' Kubernetes 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 déployées dans votre cluster et associées à 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.

  • Obtenez votre noeud final Workload Protection ingest. Accédez à votre emplacement Satellite, puis sélectionnez Noeuds finaux de liaison et Noeuds finaux de système. Copiez l'endpoint « system », qui commence par « satellite-sysdig- » et pointe vers « ingest.private.<region>.monitoring.cloud.ibm.com ». Vous pourrez utiliser ce point de terminaison ultérieurement à l'adresse INGESTION_SATELLITE_ENDPOINT.

  • Le trafic sortant de votre cluster vers les points d'extrémité Workload Protection doit être dirigé vers les ports 443 et 6443.

  • Vérifiez que vous disposez des droits d'accès et des autorisations nécessaires pour déployer l'agent « Workload Protection » sur le cluster.

  • Vérifiez que l'espace de noms ibm-observe est disponible dans votre cluster. L'agent est déployé dans cet espace de noms.

    Pour créer l'espace de noms, exécutez la commande « oc adm new-project --node-selector='' ibm-observe ».

  • Obtenez votre noeud final Workload Protection ingest. Accédez à votre emplacement Satellite, puis sélectionnez Noeuds finaux de liaison et Noeuds finaux de système. Copiez l'URL de l'endpoint « system », qui commence par satellite-sysdig- et pointe vers ingest.private.<region>.monitoring.cloud.ibm.com. Vous pourrez utiliser ce point de terminaison ultérieurement à l'adresse INGESTION_SATELLITE_ENDPOINT.

  • Vérifiez que le trafic sortant de votre cluster vers les points de termina Workload Protection est autorisé sur les ports 443 et 6443.

Déploiement d'un agent

Suivez les étapes ci-dessous pour déployer un agent à l'aide d' Helm.

Configurer le contexte du cluster

  1. Connectez-vous à votre compte. Si vous disposez d'un compte fédéré, incluez l'option --sso.

    ibmcloud login [-g <resource_group>] [--sso]
    
  2. Téléchargez et ajoutez le fichier de configuration kubeconfig pour votre cluster à votre kubeconfig existant dans ~/.kube/config ou le dernier fichier dans la variable d'environnement KUBECONFIG.

    ibmcloud oc cluster config --cluster <cluster_name_or_ID>
    
  3. Dans votre navigateur, accédez à l'adresse de votre contrôleur de cluster URL, puis ajoutez /console à la fin de l'adresse. Par exemple, https://c0.containers.cloud.ibm.com:23652/console.

  4. Dans la barre de menu de la console Web d' Red Hat OpenShift, cliquez sur votre profil IAM#user.name@email.com > Copier la commande de connexion. Affichez et copiez la commande « oc login token » dans votre ligne de commande pour vous authentifier depuis l'interface CLI.

  5. Vérifiez que les commandes oc s'exécutent correctement avec votre cluster en vérifiant la version.

    oc version
    

    Exemple de sortie :

    Client Version: v4.11.0
    Kubernetes Version: v1.25.8.2
    

Configuration du référentiel Helm Sysdig

Ajoutez le référentiel Workload Protection Helm à votre instance Helm.

  1. Définissez le contexte du cluster.

    ibmcloud ks cluster config --cluster <CLUSTER_NAME>
    
  2. Ajoutez le dépôt Helm.

    helm repo add sysdig https://charts.sysdig.com
    
  3. Mettez à jour le référentiel pour récupérer les dernières versions de tous les graphiques Helm.

    helm repo update
    
  4. Répertoriez les graphiques « Helm » actuellement disponibles pour le référentiel Sysdig.

    helm search repo sysdig
    
  5. Vérifiez que le graphique « sysdig/sysdig-deploy » ( Helm ) figure bien dans la liste.

Créez le fichier de valeurs Helm

Définissez un fichier « YAML » et indiquez-y les valeurs nécessaires au déploiement des composants Workload Protection que vous prévoyez de déployer. Par exemple, nommez le fichier « agent-values-monitor-secure.yaml ».

L' YAML suivante est un modèle que vous pouvez utiliser pour configurer les composants d' Workload Protection. Vous pouvez personnaliser le fichier en supprimant ou en commentant à l'aide de # les sections qui ne sont pas nécessaires au déploiement de votre agent.

agent:
  ebpf:
    enabled: true
    kind: universal_ebpf
  collectorSettings:
    collectorHost: INGESTION_SATELLITE_ENDPOINT
    collectorPort: INGESTION_SATELLITE_ENDPOINT_PORT
  slim:
    enabled: true
global:
  clusterConfig:
    name: CLUSTER_NAME
  kspm:
    deploy: true
  sysdig:
    accessKey: SERVICE_ACCESS_KEY
    apiHost: API_ENDPOINT
nodeAnalyzer:
  secure:
    vulnerabilityManagement:
      newEngineOnly: true
  nodeAnalyzer:
    runtimeScanner:
      deploy: false
    benchmarkRunner:
      deploy: false
    hostScanner:
      deploy: false
    deploy: true
  natsUrl: wss://API_ENDPOINT
  sslVerifyCertificate: false
kspmCollector:
  natsUrl: wss://API_ENDPOINT
  sslVerifyCertificate: false
clusterScanner:
  enabled: true
  eveEnabled: true
  sslVerifyCertificate: false

Où :

CLUSTER_NAME
Le nom du cluster sur lequel vous déployez l'agent.
SERVICE_ACCESS_KEY
La clé d'accès à l'instance d' Workload Protection.
INGESTION_SATELLITE_ENDPOINT
Le point de terminaison « Satellite » extrait précédemment, qui pointe vers le point de terminaison d'ingestion. Par exemple, c1bcda0323e0ef4b83aba-6b64a6ccc9c596bf59a86625d8fa2202-c111.us-east.satellite.appdomain.cloud.
INGESTION_SATELLITE_ENDPOINT_PORT
Le port de l'endpoint Satellite, extrait précédemment, qui pointe vers l'endpoint ingest. Par exemple, 30771.
API_ENDPOINT
Le point de terminaison « Satellite », extrait précédemment, qui renvoie vers le point de terminaison de l'API privée « Workload Protection ». Par exemple, c1bcda0323e0ef4b83aba-6b64a6ccc9c596bf59a86625d8fa2202-c111.us-east.satellite.appdomain.cloud:31924. Dans ce cas, le nom d'hôte et le port sont définis ensemble.

Installez le graphique « Helm »

Pour déployer l'agent, les composants d' Workload Protection, ou les deux, installez le chart sysdig/sysdig-deploy et utilisez le fichier de variables YAML 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 souhaitez installer directement les composants d' Workload Protection s sans fichier de valeurs « Helm », vous pouvez exécuter la commande suivante. Utilisez --set pour définir toutes les variables.

helm install sysdig-agent sysdig/sysdig-deploy --namespace ibm-observe --create-namespace \
    --set agent.ebpf.enabled=true \
    --set agent.ebpf.kind=universal_ebpf \
    --set global.sysdig.accessKey=<SERVICE_ACCESS_KEY> \
    --set global.sysdig.apiHost=<API_ENDPOINT> \
    --set agent.collectorSettings.collectorHost=<INGESTION_SATELLITE_ENDPOINT> \
    --set agent.collectorSettings.collectorPort=<INGESTION_SATELLITE_ENDPOINT_PORT> \
    --set nodeAnalyzer.natsUrl=wss://<API_ENDPOINT> \
    --set nodeAnalyzer.nodeAnalyzer.runtimeScanner.deploy=false \
    --set nodeAnalyzer.nodeAnalyzer.hostScanner.deploy=false \
    --set nodeAnalyzer.nodeAnalyzer.benchmarkRunner.deploy=false \
    --set nodeAnalyzer.nodeAnalyzer.sslVerifyCertificate=false \
    --set nodeAnalyzer.secure.vulnerabilityManagement.newEngineOnly=true \
    --set global.kspm.deploy=true \
    --set global.clusterConfig.name=<CLUSTER_NAME> \
    --set kspmCollector.natsUrl=wss://<API_ENDPOINT> \
    --set kspmCollector.sslVerifyCertificate=false \
    --set clusterScanner.enabled=true \
    --set clusterScanner.eveEnabled=true \
    --set clusterScanner.sslVerifyCertificate=true

Où :

CLUSTER_NAME
Le nom du cluster sur lequel vous déployez l'agent.
SERVICE_ACCESS_KEY
La clé d'accès à l'instance d' Workload Protection.
INGESTION_SATELLITE_ENDPOINT
Le point de terminaison Satellite, extrait précédemment, qui renvoie vers le point de terminaison ingest. Par exemple, c1bcda0323e0ef4b83aba-6b64a6ccc9c596bf59a86625d8fa2202-c111.us-east.satellite.appdomain.cloud.
INGESTION_SATELLITE_ENDPOINT_PORT
Le port de l'endpoint Satellite, extrait précédemment, qui pointe vers l'endpoint ingest. Par exemple, 30771.
API_ENDPOINT
Le point de terminaison « Satellite », extrait précédemment, qui renvoie vers le point de terminaison de l'API privée « Workload Protection ». Par exemple, c1bcda0323e0ef4b83aba-6b64a6ccc9c596bf59a86625d8fa2202-c111.us-east.satellite.appdomain.cloud:31924. Dans ce cas, le nom d'hôte et le port sont définis ensemble.

Mise à jour d'un agent

Mettez à jour l'agent « Workload Protection » au moins une fois tous les deux mois.

Pour mettre à jour la version de l'agent à l'aide de Helm, procédez comme suit:

  1. Mettez à jour le dépôt Helm.

    helm repo update
    
  2. Mettez à niveau l'agent.

    helm upgrade -n ibm-observe sysdig-agent sysdig/sysdig-deploy -f agent-values-monitor-secure.yaml
    

suppression d'un agent

Pour supprimer l'agent à l'aide d' Helm, désinstallez le graphique.

  1. Affichez la liste des cartes installées.

    helm list -n ibm-observe
    

    La sortie affiche la liste des graphiques installés :

    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.37.10
    
  2. Désinstallez la charte.

    helm delete sysdig-agent -n ibm-observe
    

    Dans Helm, « sysdig-agent » est le nom de la version.