Gestione dell'agente " Workload Protection " in " Red Hat OpenShift " tramite un grafico " Helm "
È possibile utilizzare un grafico Helm per installare, aggiornare ed eliminare un agente Workload Protection su un cluster Red Hat OpenShift.
È inoltre possibile utilizzare la console per collegare un cluster esistente di Red Hat OpenShift o Kubernetes alla propria istanza di Workload Protection. Nella console di IBM Cloud, vai su Containers > Clusters per accedere al cluster esistente. Quindi, fai clic su "Connetti " nel widget " Workload Protection " per collegare il tuo cluster a Workload Protection.
Prima di iniziare
-
Installa l'ultima versione della CLI di Helm sul tuo computer locale. Helm È richiesta la versione 3.6 o successiva.
-
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 ".
-
Verifica di disporre dell'accesso e delle autorizzazioni necessarie per distribuire l'agente Workload Protection sul cluster.
-
Verifica che il progetto "
ibm-observe" sia disponibile nel tuo cluster. L'agent è distribuito in questo progetto.Un progetto è uno spazio dei nomi in un cluster.
Per creare il progetto, eseguire il comando
oc adm new-project --node-selector='' ibm-observe``. -
Verifica che il traffico in uscita dal tuo cluster verso gli endpoint Workload Protection sia consentito sulle porte
443e6443. Se si collegano gli agenti tramite un Virtual Private Endpoint (VPE), entrambe le porte devono essere autorizzate per il traffico in uscita dal cluster.
Installazione di un agente
Seguire i passaggi riportati 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.2Se non è possibile eseguire operazioni che richiedono autorizzazioni di amministratore, come l'elenco di tutti i nodi di lavoro o dei pod in un cluster, scaricare i certificati e i file di autorizzazione TLS per l'amministratore del cluster eseguendo il comando
ibmcloud oc cluster config --cluster <cluster_name_or_ID> --admin.
Configurare il repository Sysdig Helm
Aggiungi il repository Helm Workload Protection alla tua istanza Helm.
-
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 ).
Creare i valori nel file YAML
Definire un file YAML e includere i valori necessari per l'installazione dell'agente Workload Protection e dei componenti Secure 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 l'agente Workload Protection e i componenti Secure. È possibile personalizzare il file rimuovendo o commentando con # le sezioni non necessarie
per il proprio agente.
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:
imageRegistry: icr.io/ext
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
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_ENDPOINT- L'endpoint di acquisizione dell'istanza. Ad esempio,
ingest.us-east.security-compliance-secure.cloud.ibm.com. API_ENDPOINT- L'endpoint API dell'istanza. Ad esempio,
us-east.security-compliance-secure.cloud.ibm.com.
Installa il grafico " Helm "
Per distribuire l'agente, i componenti Secure o entrambi, installa il grafico " 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
L'esempio seguente mostra un file di valori di esempio per l' Helm, relativo alla regione us-east:
agent:
ebpf:
enabled: true
kind: universal_ebpf
collectorSettings:
collectorHost: ingest.private.us-east.security-compliance-secure.cloud.ibm.com
sysdig:
settings:
host_scanner:
enabled: true
kspm_analyzer:
enabled: true
sysdig_api_endpoint: private.us-east.security-compliance-secure.cloud.ibm.com
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:
imageRegistry: icr.io/ext
clusterConfig:
name: my-cluster
sysdig:
accessKey: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx
apiHost: private.us-east.security-compliance-secure.cloud.ibm.com
nodeAnalyzer:
enabled: false
clusterShield:
enabled: true
cluster_shield:
sysdig_endpoint:
region: custom
collector: ingest.private.us-east.security-compliance-secure.cloud.ibm.com: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
Aggiornamento di un agente
Per aggiornare la versione dell'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
Questi passaggi consentono di aggiornare gli agenti alla versione più recente disponibile.
Rimozione di un agente
È inoltre possibile utilizzare la console per rimuovere l'agente dal proprio cluster. Nella console di IBM Cloud, vai su Containers > Clusters per accedere al cluster esistente. A questo punto, apri il menu Opzioni nel widget " Workload Protection " e seleziona "Disconnetti".
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.6.3 -
Disinstallare il grafico.
helm delete sysdig-agent -n ibm-observeIn Helm, "
sysdig-agent" è il nome della versione.