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

Mithilfe eines „ Helm “-Diagramms können Sie einen „ Workload Protection “-Agenten auf Ihren „ Satellite “-Clustern installieren, aktualisieren und entfernen.

Vorbereitende Schritte

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

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

  • Rufen Sie Ihren Endpunkt Workload Protection ingest ab. Greifen Sie auf Ihren Satellite-Standort zu und wählen Sie anschließend Linkendpunkte und Systemendpunkte aus. Kopieren Sie den Endpunkt „ system “, der mit „ satellite-sysdig- “ beginnt und auf „ ingest.private.<region>.monitoring.cloud.ibm.com “ verweist. Sie können diesen Endpunkt später unter INGESTION_SATELLITE_ENDPOINT nutzen.

  • Ausgehender Verkehr von Ihrem Cluster zu Workload Protection Endpunkten muss über die Ports 443 und 6443 erfolgen.

  • 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 „ oc adm new-project --node-selector='' ibm-observe “ aus.

  • Rufen Sie Ihren Endpunkt Workload Protection ingest ab. Greifen Sie auf Ihren Satellite-Standort zu und wählen Sie anschließend Linkendpunkte und Systemendpunkte aus. Kopieren Sie den Endpunkt „ system “, der mit „ satellite-sysdig- “ beginnt und auf „ ingest.private.<region>.monitoring.cloud.ibm.com “ verweist. Sie können diesen Endpunkt später unter INGESTION_SATELLITE_ENDPOINT nutzen.

  • Stellen Sie sicher, dass ausgehender Datenverkehr von Ihrem Cluster zu den Endpunkten von „ Workload Protection “ auf den Ports 443 und 6443 zugelassen ist.

Einen Agenten bereitstellen

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

Clusterkontext 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 Webkonsole von „ Red Hat OpenShift “ 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
    

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.

Helm-Wertedatei erstellen

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

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

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

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_SATELLITE_ENDPOINT
Der zuvor extrahierte Endpunkt „ Satellite “, der auf den Ingest-Endpunkt verweist. Beispiel: c1bcda0323e0ef4b83aba-6b64a6ccc9c596bf59a86625d8fa2202-c111.us-east.satellite.appdomain.cloud.
INGESTION_SATELLITE_ENDPOINT_PORT
Der Port der „ Satellite zuvor extrahierter Endpunkt “, der auf den Endpunkt „ ingest “ verweist. Zum Beispiel 30771.
API_ENDPOINT
Der zuvor extrahierte Endpunkt „ Satellite “, der auf den privaten API-Endpunkt „ Workload Protection “ verweist. Beispiel: c1bcda0323e0ef4b83aba-6b64a6ccc9c596bf59a86625d8fa2202-c111.us-east.satellite.appdomain.cloud:31924. In diesem Fall werden Hostname und Port zusammen definiert.

Installieren Sie die „ Helm “-Tabelle

Um den Agenten, die „ Workload Protection “-Komponenten oder beides bereitzustellen, installieren Sie das „ sysdig/sysdig-deploy “-Chart 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

Wenn Sie die Komponenten von „ Workload Protection “ direkt ohne eine „ Helm “-Wertedatei installieren möchten, können Sie den folgenden Befehl ausführen. Verwenden Sie „ --set “, um alle Variablen festzulegen.

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

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_SATELLITE_ENDPOINT
Der zuvor extrahierte Endpunkt „ Satellite “, der auf den Endpunkt „ ingest “ verweist. Zum Beispiel c1bcda0323e0ef4b83aba-6b64a6ccc9c596bf59a86625d8fa2202-c111.us-east.satellite.appdomain.cloud.
INGESTION_SATELLITE_ENDPOINT_PORT
Der Port der „ Satellite zuvor extrahierter Endpunkt “, der auf den Endpunkt „ ingest “ verweist. Zum Beispiel 30771.
API_ENDPOINT
Der zuvor extrahierte Endpunkt „ Satellite “, der auf den privaten API-Endpunkt „ Workload Protection “ verweist. Beispiel: c1bcda0323e0ef4b83aba-6b64a6ccc9c596bf59a86625d8fa2202-c111.us-east.satellite.appdomain.cloud:31924. In diesem Fall werden Hostname und Port zusammen definiert.

Einen Agenten aktualisieren

Aktualisieren Sie den „ Workload Protection “-Agenten mindestens einmal alle zwei Monate.

Führen Sie die folgenden Schritte aus, um die Agentenversion mithilfe von Helmzu aktualisieren:

  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
    

Agenten entfernen

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

    helm delete sysdig-agent -n ibm-observe
    

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