Verwaltung des „ Workload Protection “-Agenten in einem „ Kubernetes “-Cluster mithilfe eines „ Helm “-Charts

Sie können ein Helm Diagramm verwenden, um einen Workload Protection Agent auf einem Kubernetes 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 CLI „ IBM Cloud “, das Plug-in „ Kubernetes Service “ und das Plug-in „ IBM Cloud Container Registry “. Weitere Informationen finden Sie unter „ Installation der CLI “.

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

    Helm ist ein Paketmanager für „ Kubernetes “, der „ Helm “-Charts nutzt, um komplexe „ Kubernetes “-Anwendungen in Ihrem Cluster zu definieren, zu installieren und zu aktualisieren. Helm-Charts verpacken die Spezifikationen zum Generieren von YAML-Dateien für Kubernetes-Ressourcen, die Ihre App erstellen. Diese Ressourcen unter Kubernetes werden automatisch in Ihrem Cluster bereitgestellt und von Helm einer Version zugewiesen. Sie können Helm auch verwenden, um Ihre eigene App zu spezifizieren und zu packen und von Helm die YAML-Dateien für Ihre Kubernetes-Ressourcen generieren zu lassen.

  • 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 der Namespace „ ibm-observe “ in Ihrem Cluster verfügbar ist. Der Agent wird in diesem Namespace bereitgestellt.

    Um den Namespace zu erstellen, führen Sie den Befehl „ kubectl create namespace 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.

Sysdig- Helm-Repository einrichten

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

  1. Legen Sie den Clusterkontext fest.

    ibmcloud ks cluster config --cluster <CLUSTER_NAME>
    
  2. Fügen Sie das Repository „ Helm “ hinzu.

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

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

    helm search repo sysdig
    
  5. 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, die Sie zur Konfiguration des „ Workload Protection “-Agenten und der Secure-Komponenten verwenden 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: 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

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 „ sysdig/sysdig-deploy “-Chart. Sie können das Diagramm mithilfe einer Variablen YAML sdatei installieren, wie Sie sie im vorherigen Schritt konfiguriert haben, oder Sie können die Variablen direkt konfigurieren.

Führen Sie den folgenden Befehl aus, um den Agenten mithilfe des Charts „ Helm “ und der Variablendatei „ YAML “ 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
      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

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