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'endpointsystem, che inizia consatellite-sysdig-e rimanda aingest.private.<region>.monitoring.cloud.ibm.com. È possibile utilizzare questo endpoint in seguito all'indirizzoINGESTION_SATELLITE_ENDPOINT. -
Il traffico in uscita dal cluster verso gli endpoint Workload Protection deve passare per le porte
443e6443. -
Verifica di disporre dell'accesso e delle autorizzazioni necessarie per distribuire l'agente Workload Protection sul cluster.
-
Verificare che lo spazio dei nomi
ibm-observesia 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'endpointsystem, che inizia consatellite-sysdig-e rimanda aingest.private.<region>.monitoring.cloud.ibm.com. È possibile utilizzare questo endpoint in seguito all'indirizzoINGESTION_SATELLITE_ENDPOINT. -
Verifica che il traffico in uscita dal tuo cluster verso gli endpoint Workload Protection sia consentito sulle porte
443e6443.
Creazione di un endpoint di collegamento Workload Protection Satellite
Creare un'istanza di HTTPS Satellite Link utilizzando la console o la CLI per connettersi in modo sicuro agli endpoint privati di Workload Protection.
- Ottieni il endpoint privato Workload Protection. Ad esempio, se la tua istanza di Workload Protection si trova all'indirizzo
us-east, il tuo endpoint èprivate.us-east.security-compliance-secure.cloud.ibm.com. - Accedi alla dashboard " Satellite ". Fare clic su " Endpoint di collegamento ", quindi su " Crea un endpoint ".
- Seleziona Cloud per creare un endpoint per un servizio, un server o un'applicazione che viene eseguito al di fuori dell'ubicazione.
- Inserire un nome di endpoint, il nome di dominio di destinazione (FQDN), ovvero l'endpoint privato Workload Protection definito nel passaggio 1, e la porta di destinazione
443. - Selezionare il protocollo " HTTPS ".
- Fai clic su Crea. Attendi qualche minuto affinché il Satellite Link componente di connessione assegni una porta al tuo endpoint.
- Nella riga della tabella corrispondente al tuo endpoint, copia il nome host del tuo Satellite Link connettore e la porta del tuo endpoint nel campo Indirizzo. Dovrai utilizzarlo come
API_ENDPOINTnei passaggi seguenti.
Installazione di un agente
Seguire la procedura riportata di seguito per distribuire un agente utilizzando Helm.
Configurare il contesto del cluster
-
Accedi al tuo account. Se hai un account federato, includi l'opzione
--sso.ibmcloud login [-g <resource_group>] [--sso] -
Scarica il file di configurazione
kubeconfigper il tuo cluster e aggiungilo al tuo filekubeconfigesistente in~/.kube/configo all'ultimo file nella variabile di ambienteKUBECONFIG.ibmcloud oc cluster config --cluster <cluster_name_or_ID> -
Nel browser, digita l'indirizzo del controller del cluster URL e aggiungi
/consolealla fine. Ad esempio,https://c0.containers.cloud.ibm.com:23652/console. -
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. -
Verifica che i comandi
ocvengano eseguiti correttamente con il tuo cluster controllando la versione.oc versionOutput 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.
-
Imposta il contesto del cluster.
ibmcloud ks cluster config --cluster <CLUSTER_NAME> -
Aggiungi il repository Helm.
helm repo add sysdig https://charts.sysdig.com -
Aggiorna il repository per scaricare le ultime versioni di tutti i grafici Helm.
helm repo update -
Elenca i grafici " Helm " attualmente disponibili per il repository Sysdig.
helm search repo sysdig -
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:
-
Aggiorna il repository Helm.
helm repo update -
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.
-
Elencare i grafici installati.
helm list -n ibm-observeL'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 -
Disinstallare il grafico.
helm delete sysdig-agent -n ibm-observeIn Helm, "
sysdig-agent" è il nome della versione.