Gestion de l'agent « Workload Protection » dans « Red Hat OpenShift » à 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 Red Hat OpenShift.

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

  • 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 en ligne de commande ».

  • 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 le projet « ibm-observe » est disponible dans votre cluster. L'agent est déployé dans ce projet.

    Un projet est un espace de nom d'un cluster.

    Pour créer le projet, exécutez la commande « oc adm new-project --node-selector='' 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.

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. Par exemple, https://c0.containers.cloud.ibm.com:23652/console.

  4. A partir de la console Web Red Hat OpenShift, cliquez sur votre profil IAM#user.name@email.com > Copy Login Command. 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
    

    Si vous ne pouvez pas effectuer les opérations qui nécessitent des autorisations d'administrateur, telles que la liste de tous les nœuds worker ou pods d'un cluster, téléchargez les certificats TLS et les fichiers d'autorisation pour l'administrateur du cluster en exécutant la commande ibmcloud oc cluster config --cluster <cluster_name_or_ID> --admin.

Configurer le référentiel « Helm » de Sysdig

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

  1. Ajoutez le dépôt Helm.

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

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

    helm search repo sysdig
    
  4. 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: INGESTION_ENDPOINT: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 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

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

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.