Gestion de l'agent « Workload Protection » dans un cluster « Kubernetes » à l'aide d'un graphique « Helm »

Vous pouvez utiliser une carte Helm pour installer, mettre à niveau et supprimer un agent Workload Protection sur un cluster Kubernetes.

Vous pouvez également utiliser la console pour connecter un cluster existant de type « Red Hat OpenShift » ou « Kubernetes » à votre instance de « Workload Protection ». Dans la console d' IBM Cloud, accédez à « Containers > Clusters » pour accéder au cluster existant. Cliquez ensuite sur « Connect » dans le widget « Workload Protection » pour connecter votre cluster à Workload Protection.

Avant de commencer

  • Installez l'interface de ligne de commande (CLI) d' IBM Cloud, le plug-in Kubernetes Service et le plug-in IBM Cloud Container Registry. Pour plus d'informations, consultez la section « Installation de l'interface en ligne de commande ».

  • 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.

  • 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 « kubectl create namespace ibm-observe ».

  • Vérifiez que le trafic sortant de votre cluster vers les points de terminai Workload Protection s est autorisé sur les ports 443 et 6443. Si vous connectez les agents via un point de terminaison privé virtuel (VPE), les deux ports doivent être autorisés pour le trafic sortant du cluster.

Déploiement d'un agent

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

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 de l' 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éer le fichier de valeurs « YAML »

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

Le fichier « YAML » ci-dessous est un modèle que vous pouvez utiliser pour configurer l'agent « Workload Protection » et les composants Secure. Vous pouvez personnaliser le fichier en supprimant ou en mettant en commentaire ( # ) les sections qui ne sont pas nécessaires pour votre agent.

agent:
  ebpf:
    enabled: true
    kind: universal_ebpf
  collectorSettings:
    collectorHost: INGESTION_ENDPOINT
  sysdig:
    settings:
      host_scanner:
        enabled: true
      kspm_analyzer:
        enabled: true
      sysdig_api_endpoint: API_ENDPOINT
  extraVolumes:
    volumes:
    - name: root-vol
      hostPath:
        path: /
    - name: tmp-vol
      hostPath:
        path: /tmp
    mounts:
    - mountPath: /host
      name: root-vol
      readOnly: true
    - mountPath: /host/tmp
      name: tmp-vol
global:
  imageRegistry: icr.io/ext
  clusterConfig:
    name: CLUSTER_NAME
  sysdig:
    accessKey: SERVICE_ACCESS_KEY
    apiHost: API_ENDPOINT
nodeAnalyzer:
  enabled: false
clusterShield:
  enabled: true
  cluster_shield:
    sysdig_endpoint:
      region: custom
      collector: ingest.private.us-east.security-compliance-secure.cloud.ibm.com:6443
    log_level: info
    features:
      admission_control:
        enabled: true
        container_vulnerability_management:
          enabled: true
        dry_run: false
      container_vulnerability_management:
        enabled: true
      audit:
        enabled: true
      posture:
        enabled: 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_ENDPOINT
Le point de terminaison d'ingestion de l'instance. Par exemple, ingest.us-east.security-compliance-secure.cloud.ibm.com.
API_ENDPOINT
Le point de terminaison de l'API de l'instance. Par exemple, us-east.security-compliance-secure.cloud.ibm.com.

Installez le graphique « Helm »

Pour déployer l'agent, les composants Secure ou les deux, installez le graphique « sysdig/sysdig-deploy ». Vous pouvez installer le graphique à l'aide d'un fichier d' YAML s de variables comme celui que vous avez configuré à l'étape précédente, ou bien configurer les variables directement.

Exécutez la commande suivante pour installer l'agent à l'aide du chart « Helm » et du fichier de variables « YAML » :

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

L'exemple suivant présente un fichier type contenant les valeurs d' Helm s pour la région d' us-east:

agent:
  ebpf:
    enabled: true
    kind: universal_ebpf
  collectorSettings:
    collectorHost: ingest.private.us-east.security-compliance-secure.cloud.ibm.com
  sysdig:
    settings:
      host_scanner:
        enabled: true
      kspm_analyzer:
        enabled: true
      sysdig_api_endpoint: private.us-east.security-compliance-secure.cloud.ibm.com
  extraVolumes:
    volumes:
    - name: root-vol
      hostPath:
        path: /
    - name: tmp-vol
      hostPath:
        path: /tmp
    mounts:
    - mountPath: /host
      name: root-vol
      readOnly: true
    - mountPath: /host/tmp
      name: tmp-vol
global:
  imageRegistry: icr.io/ext
  clusterConfig:
    name: my-cluster
  sysdig:
    accessKey: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx
    apiHost: private.us-east.security-compliance-secure.cloud.ibm.com
nodeAnalyzer:
  enabled: false
clusterShield:
  enabled: true
  cluster_shield:
    sysdig_endpoint:
      region: custom
      api_url: https://private.us-east.security-compliance-secure.cloud.ibm.com
    log_level: info
    features:
      admission_control:
        enabled: true
        container_vulnerability_management:
          enabled: true
        dry_run: false
      container_vulnerability_management:
        enabled: true
      audit:
        enabled: true
      posture:
        enabled: true

Mise à jour d'un agent

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
    

Ces étapes permettent de mettre à jour vos agents vers la dernière version disponible.

suppression d'un agent

Vous pouvez également utiliser la console pour supprimer l'agent de votre cluster. Dans la console d' IBM Cloud, accédez à « Containers > Clusters » pour accéder au cluster existant. Ensuite, ouvrez le menu « Options » dans le widget « Workload Protection » et sélectionnez « Déconnecter ».

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

    helm delete sysdig-agent -n ibm-observe
    

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