Bereitstellung des Agenten in einem externen Kubernetes- oder Red Hat OpenShift-Cluster

Neben der Möglichkeit, in „ IBM Cloud “ ausgeführt zu werden, lässt sich das zentralisierte Sicherheits- und Compliance-Framework, das IBM Cloud® Security and Compliance Center Workload Protection bereitstellt, auch in anderen Clouds und vor Ort nutzen, indem mithilfe von Helm-Charts der Workload Protection-Agent auf Kubernetes- oder Red Hat OpenShift-Clustern installiert wird.

Vorbereitende Schritte

  • 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 zugeordnet. 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. Auf einem „ Kubernetes “-Cluster müssen Sie über die Berechtigung verfügen, „ kubectl “-Befehle auf dem Cluster auszuführen. Auf einem „ Red Hat OpenShift “-Cluster müssen Sie über die Berechtigung zum Ausführen von „ oc “-Befehlen verfügen. Lesen Sie in der Dokumentation Ihres Clusters nach, um mehr darüber zu erfahren, wie Sie die erforderlichen Berechtigungen erhalten und Ihren lokalen Rechner so einrichten, dass Sie Befehle an den Cluster senden können.

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

Einen Agenten bereitstellen

Sobald Sie über eine geeignete Version von „ Helm “ sowie die Berechtigung zum Ausführen von Befehlen auf dem Cluster verfügen, können Sie den „ Workload Protection “-Agenten über Helm auf Kubernetes oder Red Hat OpenShift installieren, aktualisieren und löschen.

  1. Fügen Sie Sysdig als Repository für „ Helm “-Diagramme auf Ihrem lokalen Rechner hinzu.

    helm repo add sysdig https://charts.sysdig.com
    

    Angenommen, der folgende Fehler wird angezeigt:

  2. Aktualisieren Sie die Repository-Verweise.

    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.

  5. Installieren Sie den „ Workload Protection “-Agenten. Sie können die Installation durchführen, indem Sie eine Werte-Datei unter YAML Helm erstellen, in der die Werte aufgeführt sind, und anschließend einen Befehl ausführen, der auf diese Datei verweist.

    Um die Installation mithilfe einer „ Helm “-Wertedatei durchzuführen, erstellen Sie zunächst eine Datei mit dem Namen „ agent-values-monitor-secure.yaml “. Die folgende Datei „ YAML “ ist eine Vorlage, die Sie zur Konfiguration des „ Workload Protection “-Agenten 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:
      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.
  6. Führen Sie anschließend den Installationsbefehl aus, der auf die erstellte Wertedatei „ Helm “ verweist:

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

Einen Agenten aktualisieren

Um den Agenten auf die neueste verfügbare Version zu aktualisieren, führen Sie die folgenden Schritte aus:

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

    helm delete sysdig-agent -n ibm-observe
    

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