Verwaltung des „ Workload Protection “-Agenten in „ Red Hat OpenShift “ mithilfe eines „ Helm “-Diagramms

Sie können ein Helm Diagramm verwenden, um einen Workload Protection Agent auf einem Red Hat OpenShift Cluster zu installieren, zu aktualisieren und zu löschen.

Sie können die Konsole auch verwenden, um einen bestehenden Cluster unter Red Hat OpenShift oder Kubernetes mit Ihrer Instanz unter Workload Protection zu verbinden. Wechseln Sie in der „ IBM Cloud “-Konsole zu „Containers > Clusters“, um auf den vorhandenen Cluster zuzugreifen. Klicken Sie anschließend im Widget „ Workload Protection “ auf „Verbinden“, um Ihren Cluster mit Workload Protection zu verbinden.

Vorbereitende Schritte

  • Installieren Sie die neueste Version der „ Helm “-CLI auf Ihrem lokalen Rechner. Helm Es ist Version 3.6 oder höher erforderlich.

  • Installieren Sie die CLI „ IBM Cloud “, das Plug-in „ Kubernetes Service “, das Plug-in „ IBM Cloud Container Registry “ sowie die CLIs „ Red Hat OpenShift “ und „ Kubernetes “. Weitere Informationen finden Sie unter „ Installation der CLI “.

  • Stellen Sie sicher, dass Sie über die erforderlichen Zugriffsrechte und Berechtigungen verfügen, um den „ Workload Protection “-Agenten auf dem Cluster bereitzustellen.

  • Stellen Sie sicher, dass das Projekt „ ibm-observe “ in Ihrem Cluster verfügbar ist. Der Agent wird in diesem Projekt implementiert.

    Ein Projekt ist ein Namensbereich in einem Cluster.

    Um das Projekt zu erstellen, führen Sie den Befehl „ oc adm new-project --node-selector='' ibm-observe “ aus.

  • Stellen Sie sicher, dass ausgehender Datenverkehr von Ihrem Cluster zu den Endpunkten von „ Workload Protection “ auf den Ports 443 und 6443 zugelassen ist. Wenn Sie die Agenten über einen Virtual Private Endpoint (VPE) verbinden, müssen beide Ports für den ausgehenden Datenverkehr aus dem Cluster freigegeben sein.

Einen Agenten bereitstellen

Führen Sie die folgenden Schritte aus, um einen Agenten mithilfe von „ Helm “ bereitzustellen.

Cluster-Kontext einrichten

  1. Melden Sie sich an Ihrem Konto an. Wenn Sie über ein föderiertes Konto verfügen, schließen Sie die Option --sso ein.

    ibmcloud login [-g <resource_group>] [--sso]
    
  2. Laden Sie die Konfigurationsdatei kubeconfig für Ihren Cluster herunter und fügen Sie sie zu Ihrer vorhandenen Datei kubeconfig in ~/.kube/config oder zur letzten Datei in der Umgebungsvariablen KUBECONFIG hinzu.

    ibmcloud oc cluster config --cluster <cluster_name_or_ID>
    
  3. Rufen Sie in Ihrem Browser die Adresse Ihres Cluster-Controllers URL auf und fügen Sie /console an. Beispiel: https://c0.containers.cloud.ibm.com:23652/console.

  4. Klicken Sie in der Menüleiste der Red Hat OpenShift-Webkonsole auf Ihr Profil IAM#user.name@email.com > Anmeldebefehl kopieren. Zeigen Sie den Befehl „ oc login-Token“ an und kopieren Sie ihn in Ihre Befehlszeile, um sich über die CLI zu authentifizieren.

  5. Stellen Sie sicher, dass die oc-Befehle mit Ihrem Cluster ordnungsgemäß ausgeführt werden, indem Sie die Version überprüfen.

    oc version
    

    Beispielausgabe:

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

    Wenn Sie keine Operationen ausführen können, die Administratorberechtigungen erfordern, z. B. das Auflisten aller Workerknoten oder Pods in einem Cluster, laden Sie die TLS-Zertifikate und Berechtigungsdateien für den Clusteradministrator herunter, indem Sie den Befehl ibmcloud oc cluster config --cluster <cluster_name_or_ID> --admin ausführen.

Richten Sie das Sysdig-Repository „ Helm “ ein

Fügen Sie das Workload Protection-Helm-Repository zu Ihrer Helm-Instanz hinzu.

  1. Fügen Sie das Repository „ Helm “ hinzu.

    helm repo add sysdig https://charts.sysdig.com
    
  2. Aktualisieren Sie das Repository, um die neuesten Versionen aller „ Helm “-Diagramme abzurufen.

    helm repo update
    
  3. Listen Sie die „ Helm “-Diagramme auf, die derzeit für das Sysdig-Repository verfügbar sind.

    helm search repo sysdig
    
  4. Vergewissern Sie sich, dass die Tabelle „ sysdig/sysdig-deploy “ ( Helm ) aufgeführt ist.

Erstellen Sie die Datei „ YAML “ mit den Werten

Definieren Sie eine „ YAML “-Datei und fügen Sie die Werte ein, um den „ Workload Protection “-Agenten und die Secure-Komponenten bereitzustellen, die Sie einsetzen möchten. Benennen Sie die Datei beispielsweise „ agent-values-monitor-secure.yaml “.

Die folgende Datei „ YAML “ ist eine Vorlage, mit der Sie den „ Workload Protection “-Agenten und die Secure-Komponenten konfigurieren können. Sie können die Datei anpassen, indem Sie die Abschnitte, die für Ihren Agenten nicht erforderlich sind, entfernen oder mit „ # “ auskommentieren.

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

Dabei gilt:

CLUSTER_NAME
Der Name des Clusters, in dem Sie den Agenten bereitstellen.
SERVICE_ACCESS_KEY
Der Zugriffsschlüssel für die „ Workload Protection “-Instanz.
INGESTION_ENDPOINT
Der Erfassungs-Endpunkt der Instanz. Beispiel: ingest.us-east.security-compliance-secure.cloud.ibm.com.
API_ENDPOINT
Der API-Endpunkt der Instanz. Beispiel: us-east.security-compliance-secure.cloud.ibm.com.

Installieren Sie die „ Helm “-Tabelle

Um den Agenten, die Secure-Komponenten oder beides bereitzustellen, installieren Sie das Chart „ sysdig/sysdig-deploy “ und verwenden Sie die Variablendatei „ YAML “, die Sie im vorherigen Schritt konfiguriert haben.

Führen Sie den folgenden Befehl aus, um den Agenten mithilfe des Helm-Diagramms zu installieren:

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

Das folgende Beispiel zeigt eine Musterdatei mit Werten für „ Helm “ für die Region „ 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

Einen Agenten aktualisieren

Führen Sie die folgenden Schritte aus, wenn Sie die Agentenversion mithilfe von Helmaktualisieren wollen:

  1. Aktualisieren Sie das Repository „ Helm “.

    helm repo update
    
  2. Führen Sie ein Upgrade des Agenten durch.

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

Mit diesen Schritten aktualisieren Sie Ihre Agenten auf die neueste verfügbare Version.

Agenten entfernen

Sie können den Agenten auch über die Konsole aus Ihrem Cluster entfernen. Wechseln Sie in der „ IBM Cloud “-Konsole zu „Containers > Clusters“, um auf den vorhandenen Cluster zuzugreifen. Öffnen Sie anschließend das Menü „Optionen“ im Widget „ Workload Protection “ und wählen Sie „Trennen“ aus.

Um den Agenten über „ Helm “ zu löschen, deinstallieren Sie das Diagramm.

  1. Liste der installierten Diagramme anzeigen.

    helm list -n ibm-observe
    

    Die Ausgabe listet die installierten Diagramme auf:

    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. Deinstallieren Sie das Diagramm.

    helm delete sysdig-agent -n ibm-observe
    

    In „ Helm “ lautet der Name der Veröffentlichung „ sysdig-agent “.