Gestione dell'agente Workload Protection in un cluster Satellite tramite un grafico Helm

È possibile utilizzare un grafico di Helm per installare, aggiornare ed eliminare un agente Workload Protection sui propri cluster Satellite.

Prima di iniziare

  • Installare la CLI di IBM Cloud, il plug-in Kubernetes Service, il plug-in IBM Cloud Container Registry e le CLI Red Hat OpenShift e Kubernetes. Per ulteriori informazioni, consulta la sezione " Installazione della CLI ".

  • Installa l'ultima versione della CLI di Helm sul tuo computer locale. Helm È richiesta la versione 3.6 o successiva.

    Helm è un gestore di pacchetti di tipo " Kubernetes " che utilizza i chart di Helm per definire, installare e aggiornare applicazioni complesse di tipo " Kubernetes " nel proprio cluster. I grafici Helm comprimono le specifiche per generare file YAML per le risorse Kubernetes che creano la tua applicazione. Queste risorse di Kubernetes vengono applicate automaticamente al tuo cluster e assegnate a una versione tramite Helm. Puoi anche utilizzare Helm per specificare e comprimere la tua applicazione e permettere a Helm di generare i file YAML per le tue risorse Kubernetes.

  • Ottieni il tuo endpoint Workload Protection ingest. Accedere all'ubicazione Satellite, quindi selezionare Endpoint di link e Endpoint di sistema. Copia l'endpoint system, che inizia con satellite-sysdig- e rimanda a ingest.private.<region>.monitoring.cloud.ibm.com. È possibile utilizzare questo endpoint in seguito all'indirizzo INGESTION_SATELLITE_ENDPOINT.

  • Il traffico in uscita dal cluster verso gli endpoint Workload Protection deve passare per le porte 443 e 6443.

  • Verifica di disporre dell'accesso e delle autorizzazioni necessarie per distribuire l'agente Workload Protection sul cluster.

  • Verificare che lo spazio dei nomi ibm-observe sia disponibile nel proprio cluster. L'agente è distribuito in questo spazio dei nomi.

    Per creare lo spazio dei nomi, eseguire il comando oc adm new-project --node-selector='' ibm-observe``.

  • Ottieni il tuo endpoint Workload Protection ingest. Accedere all'ubicazione Satellite, quindi selezionare Endpoint di link e Endpoint di sistema. Copia l'endpoint system, che inizia con satellite-sysdig- e rimanda a ingest.private.<region>.monitoring.cloud.ibm.com. È possibile utilizzare questo endpoint in seguito all'indirizzo INGESTION_SATELLITE_ENDPOINT.

  • Verifica che il traffico in uscita dal tuo cluster verso gli endpoint Workload Protection sia consentito sulle porte 443 e 6443.

Installazione di un agente

Seguire la procedura riportata di seguito per distribuire un agente utilizzando Helm.

Configurare il contesto del cluster

  1. Accedi al tuo account. Se hai un account federato, includi l'opzione --sso.

    ibmcloud login [-g <resource_group>] [--sso]
    
  2. Scarica il file di configurazione kubeconfig per il tuo cluster e aggiungilo al tuo file kubeconfig esistente in ~/.kube/config o all'ultimo file nella variabile di ambiente KUBECONFIG.

    ibmcloud oc cluster config --cluster <cluster_name_or_ID>
    
  3. Nel browser, digita l'indirizzo del controller del cluster URL e aggiungi /console alla fine. Ad esempio, https://c0.containers.cloud.ibm.com:23652/console.

  4. Dalla barra dei menu della console web di Red Hat OpenShift, clicca sul tuo profilo IAM#user.name@email.com > Copia comando di accesso. Visualizza e copia il comando " oc login " nella riga di comando per effettuare l'autenticazione dalla CLI.

  5. Verifica che i comandi oc vengano eseguiti correttamente con il tuo cluster controllando la versione.

    oc version
    

    Output di esempio:

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

Configurare il repository Sysdig Helm

Aggiungi il repository Helm Workload Protection alla tua istanza Helm.

  1. Imposta il contesto del cluster.

    ibmcloud ks cluster config --cluster <CLUSTER_NAME>
    
  2. Aggiungi il repository Helm.

    helm repo add sysdig https://charts.sysdig.com
    
  3. Aggiorna il repository per scaricare le ultime versioni di tutti i grafici Helm.

    helm repo update
    
  4. Elenca i grafici " Helm " attualmente disponibili per il repository Sysdig.

    helm search repo sysdig
    
  5. Verificare che sia presente il grafico " sysdig/sysdig-deploy " ( Helm ).

Crea il file di valori Helm

Definire un file YAML e inserire i valori necessari per l'implementazione dei componenti Workload Protection che si intende implementare. Ad esempio, assegna al file il nome “ agent-values-monitor-secure.yaml ”.

Il seguente file YAML è un modello che è possibile utilizzare per configurare i componenti Workload Protection. È possibile personalizzare il file rimuovendo o commentando con # le sezioni non necessarie per l'implementazione dell'agente.

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

Dove:

CLUSTER_NAME
Il nome del cluster in cui si sta effettuando la distribuzione dell'agente.
SERVICE_ACCESS_KEY
La chiave di accesso all'istanza di Workload Protection.
INGESTION_SATELLITE_ENDPOINT
L'endpoint Satellite, estratto in precedenza, che rimanda all'endpoint di acquisizione. Ad esempio, c1bcda0323e0ef4b83aba-6b64a6ccc9c596bf59a86625d8fa2202-c111.us-east.satellite.appdomain.cloud.
INGESTION_SATELLITE_ENDPOINT_PORT
La porta dell'endpoint Satellite, estratta in precedenza, che rimanda all'endpoint ingest. Ad esempio, 30771.
API_ENDPOINT
L'endpoint Satellite estratto in precedenza che rimanda all'endpoint API privato Workload Protection. Ad esempio, c1bcda0323e0ef4b83aba-6b64a6ccc9c596bf59a86625d8fa2202-c111.us-east.satellite.appdomain.cloud:31924. In questo caso, il nome host e la porta vengono definiti insieme.

Installa il grafico " Helm "

Per distribuire l'agente, i componenti di Workload Protection o entrambi, installa il chart sysdig/sysdig-deploy e utilizza il file delle variabili YAML che hai configurato nel passaggio precedente.

Eseguire il seguente comando per installare l'agent utilizzando il diagramma Helm:

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

Se desideri installare direttamente i componenti Workload Protection senza il file dei valori Helm, puoi eseguire il seguente comando. Utilizza il file --set per impostare tutte le variabili.

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

Dove:

CLUSTER_NAME
Il nome del cluster in cui si sta effettuando la distribuzione dell'agente.
SERVICE_ACCESS_KEY
La chiave di accesso all'istanza di Workload Protection.
INGESTION_SATELLITE_ENDPOINT
L'endpoint Satellite, estratto in precedenza, che rimanda all'endpoint ingest. Ad esempio, c1bcda0323e0ef4b83aba-6b64a6ccc9c596bf59a86625d8fa2202-c111.us-east.satellite.appdomain.cloud.
INGESTION_SATELLITE_ENDPOINT_PORT
La porta dell'endpoint Satellite, estratta in precedenza, che rimanda all'endpoint ingest. Ad esempio, 30771.
API_ENDPOINT
L'endpoint Satellite estratto in precedenza che rimanda all'endpoint API privato Workload Protection. Ad esempio, c1bcda0323e0ef4b83aba-6b64a6ccc9c596bf59a86625d8fa2202-c111.us-east.satellite.appdomain.cloud:31924. In questo caso, il nome host e la porta vengono definiti insieme.

Aggiornamento di un agente

Aggiornare l'agente Workload Protection almeno una volta ogni 2 mesi.

Per aggiornare la versione agent utilizzando Helm, completa la seguente procedura:

  1. Aggiorna il repository Helm.

    helm repo update
    
  2. Aggiornare l'agent.

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

Rimozione di un agente

Per eliminare l'agente utilizzando Helm, disinstallare il grafico.

  1. Elencare i grafici installati.

    helm list -n ibm-observe
    

    L'output elenca i grafici installati:

    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. Disinstallare il grafico.

    helm delete sysdig-agent -n ibm-observe
    

    In Helm, " sysdig-agent " è il nome della versione.