Gestión del agente « Workload Protection » en un clúster « Satellite » mediante un gráfico « Helm »
Puedes utilizar un gráfico de Helm para instalar, actualizar y eliminar un agente de Workload Protection en tus clústeres de Satellite.
Antes de empezar
-
Instala la CLI de IBM Cloud, el complemento de Kubernetes Service, el complemento de IBM Cloud Container Registry y las CLI de Red Hat OpenShift y Kubernetes. Para obtener más información, consulta la sección « Instalación de la CLI ».
-
Instala la última versión de la CLI de Helm en tu ordenador local. Helm Se requiere la versión 3.6 o posterior.
Helm Es un gestor de paquetes de tipo « Kubernetes » que utiliza los catálogos de Helm para definir, instalar y actualizar aplicaciones complejas de Kubernetes en tu clúster. Los diagramas de Helm empaquetan las especificaciones para generar archivos YAML para los recursos de Kubernetes que crean la app. Estos recursos de Kubernetes se aplican automáticamente en tu clúster y se asignan a una versión mediante Helm. También puede utilizar Helm para especificar y empaquetar su propia app y dejar que Helm genere los archivos YAML para los recursos de Kubernetes.
-
Obtenga el punto final Workload Protection
ingest. Acceda a la ubicación de Satellite y, a continuación, seleccione Enlazar puntos finales y Puntos finales del sistema. Copia el punto final «system», que comienza porsatellite-sysdig-y que apunta aingest.private.<region>.monitoring.cloud.ibm.com. Puedes utilizar este punto final más adelante comoINGESTION_SATELLITE_ENDPOINT. -
El tráfico saliente de su clúster a los puntos finales de Workload Protection debe dirigirse a los puertos
443y6443. -
Comprueba que dispones del acceso y los permisos necesarios para implementar el agente de Workload Protection en el clúster.
-
Comprueba que el espacio de nombres
ibm-observeesté disponible en tu clúster. El agente está implementado en este espacio de nombres.Para crear el espacio de nombres, ejecuta el comando «
oc adm new-project --node-selector='' ibm-observe». -
Obtenga el punto final Workload Protection
ingest. Acceda a la ubicación de Satellite y, a continuación, seleccione Enlazar puntos finales y Puntos finales del sistema. Copia el punto final «system», que comienza porsatellite-sysdig-y apunta aingest.private.<region>.monitoring.cloud.ibm.com. Puedes utilizar este punto final más adelante comoINGESTION_SATELLITE_ENDPOINT. -
Comprueba que el tráfico saliente desde tu clúster hacia los puntos de fin Workload Protection es esté permitido en los puertos
443y6443.
Creación de un punto final de enlace « Workload Protection » Satellite
Crea un HTTPS Satellite Link utilizando la consola o la CLI para conectarte de forma segura a los puntos de conexión privados de Workload Protection.
- Obtenga el punto final privado Workload Protection. Por ejemplo, si tu instancia de « Workload Protection » se encuentra en
us-east, tu punto de acceso esprivate.us-east.security-compliance-secure.cloud.ibm.com. - Accede al panel de control de « Satellite Locations ». Haz clic en « Puntos finales de Link » y, a continuación, haz clic en « Crear un punto final ».
- Seleccione Nube para crear un punto final para un servicio, servidor o app que se ejecute fuera de la ubicación.
- Introduce un nombre de punto final, el nombre de dominio de destino (FQDN) —que es el punto final privado de Workload Protection definido en el paso 1— y el puerto de destino
443. - Selecciona el protocolo « HTTPS ».
- Pulse Crear. Espera unos minutos a que el Satellite Link componente conector asigne un puerto a tu punto final.
- En la fila de la tabla correspondiente a tu punto final, copia el nombre de host de tu Satellite Link conector y el puerto de su punto final en el campo « Dirección ». Debes utilizarlo como «
API_ENDPOINT» en los siguientes pasos.
Implementación de un agente
Sigue los siguientes pasos para implementar un agente mediante Helm.
Configurar el contexto del clúster
-
Inicie una sesión en la cuenta. Si tiene una cuenta federada, incluya la opción
--sso.ibmcloud login [-g <resource_group>] [--sso] -
Descargue y añada el archivo de configuración
kubeconfigcorrespondiente a su clúster akubeconfigen~/.kube/configo al último archivo de la variable de entornoKUBECONFIG.ibmcloud oc cluster config --cluster <cluster_name_or_ID> -
En tu navegador, ve a la dirección del controlador de tu clúster URL y añade
/consoleal final. Por ejemplo,https://c0.containers.cloud.ibm.com:23652/console. -
En la barra de menús de la consola web de Red Hat OpenShift, haz clic en tu perfil IAM#user.name@email.com > Copiar comando de inicio de sesión. Muestra y copia el comando «
oc login» en la línea comando para autenticarte desde la CLI. -
Compruebe que los mandatos
ocse ejecutan correctamente con el clúster comprobando la versión.oc versionSalida de ejemplo:
Client Version: v4.11.0 Kubernetes Version: v1.25.8.2
Configure el repositorio Helm de Sysdig
Añada el repositorio de Helm de Workload Protection a la instancia de Helm.
-
Establezca el contexto del clúster.
ibmcloud ks cluster config --cluster <CLUSTER_NAME> -
Añade el repositorio Helm.
helm repo add sysdig https://charts.sysdig.com -
Actualiza el repositorio para obtener las últimas versiones de todos los gráficos de Helm.
helm repo update -
Enumera los gráficos de « Helm » que están disponibles actualmente en el repositorio de Sysdig.
helm search repo sysdig -
Comprueba que aparezca la tabla «
sysdig/sysdig-deploy» ( Helm ).
Cree el archivo de valores Helm
Define un archivo « YAML » e incluye los valores necesarios para implementar los componentes de « Workload Protection » que tengas previsto implementar. Por ejemplo, llama al archivo « agent-values-monitor-secure.yaml ».
El siguiente archivo « YAML » es una plantilla que puedes utilizar para configurar los componentes de « Workload Protection ». Puedes personalizar el archivo eliminando o comentando con « # » las secciones que no
sean necesarias para la implementación de tu 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
Donde:
CLUSTER_NAME- El nombre del clúster en el que se está implementando el agente.
SERVICE_ACCESS_KEY- La clave de acceso de la instancia de « Workload Protection ».
INGESTION_SATELLITE_ENDPOINT- El punto final « Satellite », extraído anteriormente, que apunta al punto final de ingesta. Por ejemplo,
c1bcda0323e0ef4b83aba-6b64a6ccc9c596bf59a86625d8fa2202-c111.us-east.satellite.appdomain.cloud. INGESTION_SATELLITE_ENDPOINT_PORT- El puerto del punto final Satellite, extraído anteriormente, que apunta al punto final
ingest. Por ejemplo,30771. API_ENDPOINT- El punto final Satellite, extraído anteriormente, que apunta al punto final de la API privada Workload Protection. Por ejemplo,
c1bcda0323e0ef4b83aba-6b64a6ccc9c596bf59a86625d8fa2202-c111.us-east.satellite.appdomain.cloud:31924. En este caso, tanto el nombre de host como el puerto se definen juntos.
Instala el gráfico « Helm »
Para implementar el agente, los componentes de Workload Protection o ambos, instala el gráfico « sysdig/sysdig-deploy » y utiliza el archivo de variables « YAML » que has configurado en el paso anterior.
Ejecute el mandato siguiente para instalar el agente utilizando el diagrama de Helm:
helm install -n ibm-observe sysdig-agent sysdig/sysdig-deploy -f agent-values-monitor-secure.yaml
Si quieres instalar directamente los componentes de Workload Protection sin un archivo de valores de Helm, puedes ejecutar el siguiente comando. Utiliza --set para configurar todas las variables.
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
Donde:
CLUSTER_NAME- El nombre del clúster en el que se está implementando el agente.
SERVICE_ACCESS_KEY- La clave de acceso de la instancia de « Workload Protection ».
INGESTION_SATELLITE_ENDPOINT- El punto final Satellite, extraído anteriormente, que apunta al punto final
ingest. Por ejemplo,c1bcda0323e0ef4b83aba-6b64a6ccc9c596bf59a86625d8fa2202-c111.us-east.satellite.appdomain.cloud. INGESTION_SATELLITE_ENDPOINT_PORT- El puerto del punto final Satellite, extraído anteriormente, que apunta al punto final
ingest. Por ejemplo,30771. API_ENDPOINT- El punto final Satellite, extraído anteriormente, que apunta al punto final de la API privada Workload Protection. Por ejemplo,
c1bcda0323e0ef4b83aba-6b64a6ccc9c596bf59a86625d8fa2202-c111.us-east.satellite.appdomain.cloud:31924. En este caso, tanto el nombre de host como el puerto se definen juntos.
Actualización de un agente
Actualiza el agente de « Workload Protection » al menos una vez cada dos meses.
Para actualizar la versión del agente utilizando Helm, realice los pasos siguientes:
-
Actualiza el repositorio « Helm ».
helm repo update -
Actualice el agente.
helm upgrade -n ibm-observe sysdig-agent sysdig/sysdig-deploy -f agent-values-monitor-secure.yaml
eliminar un agente
Para eliminar el agente mediante Helm, desinstala el gráfico.
-
Muestra la lista de gráficos que están instalados.
helm list -n ibm-observeEl resultado muestra la lista de gráficos instalados:
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 -
Desinstale el gráfico.
helm delete sysdig-agent -n ibm-observeEn Helm, «
sysdig-agent» es el nombre de la versión.