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
ingestab. 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 unterINGESTION_SATELLITE_ENDPOINTnutzen. -
Ausgehender Verkehr von Ihrem Cluster zu Workload Protection Endpunkten muss über die Ports
443und6443erfolgen. -
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
ingestab. 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 unterINGESTION_SATELLITE_ENDPOINTnutzen. -
Stellen Sie sicher, dass ausgehender Datenverkehr von Ihrem Cluster zu den Endpunkten von „ Workload Protection “ auf den Ports
443und6443zugelassen ist.
Erstellen eines Endpunkts für den Link „ Workload Protection “ Satellite
Erstellen Sie eine „ HTTPS “ ( Satellite Link), indem Sie die Konsole oder die CLI verwenden, um eine sichere Verbindung zu privaten Endpunkten von „ Workload Protection “ herzustellen.
- Rufen Sie Ihren privaten Workload Protection-Endpunkt ab. Befindet sich Ihre „ Workload Protection “-Instanz beispielsweise unter
us-east, lautet Ihr Endpunktprivate.us-east.security-compliance-secure.cloud.ibm.com. - Rufen Sie das Dashboard „ Satellite-Standorte“ auf. Klicken Sie auf „ Link-Endpunkte “ und anschließend auf „ Endpunkt erstellen “.
- Wählen Sie Cloud aus, um einen Endpunkt für einen Service, einen Server oder eine App zu erstellen, der bzw. die außerhalb des Standorts ausgeführt wird.
- Geben Sie einen Endpunktnamen, den Ziel-Domänennamen (FQDN) – dabei handelt es sich um den in Schritt 1 definierten privaten Endpunkt „ Workload Protection “ – sowie den Zielport
443ein. - Wählen Sie das Protokoll „ HTTPS “ aus.
- Klicken Sie auf Erstellen. Warten Sie einige Minuten, bis die Satellite Link Connector-Komponente Ihrem Endpunkt einen Port zuweist.
- Kopieren Sie in der Tabellenzeile für Ihren Endpunkt den Hostnamen für Ihren Satellite Link Konnektors und den Port Ihres Endpunkts in das Feld „Adresse“ ein. Sie müssen es in den folgenden Schritten als „
API_ENDPOINT“ verwenden.
Einen Agenten bereitstellen
Führen Sie die folgenden Schritte aus, um einen Agenten mithilfe von „ Helm “ bereitzustellen.
Clusterkontext einrichten
-
Melden Sie sich an Ihrem Konto an. Wenn Sie über ein föderiertes Konto verfügen, schließen Sie die Option
--ssoein.ibmcloud login [-g <resource_group>] [--sso] -
Laden Sie die Konfigurationsdatei
kubeconfigfür Ihren Cluster herunter und fügen Sie sie zu Ihrer vorhandenen Dateikubeconfigin~/.kube/configoder zur letzten Datei in der UmgebungsvariablenKUBECONFIGhinzu.ibmcloud oc cluster config --cluster <cluster_name_or_ID> -
Rufen Sie in Ihrem Browser die Adresse Ihres Cluster-Controllers URL auf und fügen Sie
/consolean. Beispiel:https://c0.containers.cloud.ibm.com:23652/console. -
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. -
Stellen Sie sicher, dass die
oc-Befehle mit Ihrem Cluster ordnungsgemäß ausgeführt werden, indem Sie die Version überprüfen.oc versionBeispielausgabe:
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.
-
Legen Sie den Clusterkontext fest.
ibmcloud ks cluster config --cluster <CLUSTER_NAME> -
Fügen Sie das Repository „ Helm “ hinzu.
helm repo add sysdig https://charts.sysdig.com -
Aktualisieren Sie das Repository, um die neuesten Versionen aller „ Helm “-Diagramme abzurufen.
helm repo update -
Listen Sie die „ Helm “-Diagramme auf, die derzeit für das Sysdig-Repository verfügbar sind.
helm search repo sysdig -
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 Beispiel30771. 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 Beispielc1bcda0323e0ef4b83aba-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 Beispiel30771. 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:
-
Aktualisieren Sie das Repository „ Helm “.
helm repo update -
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.
-
Liste der installierten Diagramme anzeigen.
helm list -n ibm-observeDie 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 -
Deinstallieren Sie das Diagramm.
helm delete sysdig-agent -n ibm-observeIn „ Helm “ lautet der Name der Veröffentlichung „
sysdig-agent“.