Gestión del agente Monitoring en Red Hat OpenShift utilizando un gráfico HELM

Puede utilizar un gráfico Helm para instalar, actualizar y eliminar un agente Monitoring en un clúster Kubernetes.

Antes de empezar

  • Instala la última versión de la CLI de Helm (versión 3) en tu ordenador local.

    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 el clúster y Helm les asigna una versión. 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.

  • Compruebe que tiene acceso y permisos para desplegar el agente Monitoring en el clúster.

  • Verifique que el espacio de nombres de ibm-observe esté disponible en el clúster. El agente está implementado en este espacio de nombres.

Desplegar un agente

Realice los pasos siguientes para desplegar un agente utilizando Helm:

Paso 1. Configurar el repositorio Sysdig Helm

Añada el repositorio de Helm de Monitoring a la instancia de Helm.

Complete los pasossiguientes:

  1. Establezca el contexto del clúster.

    obmcloud ks cluster config --cluster <CLUSTER_NAME>
    
  2. Añade el repositorio Helm.

    helm repo add sysdig https://charts.sysdig.com
    
  3. Actualice los repositorios para recuperar las versiones más recientes de todos los diagramas de Helm.

    helm repo update
    
  4. Enumera los gráficos de « Helm » que están disponibles actualmente en el repositorio de Sysdig.

    helm search repo sysdig
    
  5. Verifique que se lista el Helm sysdig/sysdig-deploy.

si obtiene el siguiente error:

helm repo add sysdig https://charts.sysdig.com    --debug
Error: context deadline exceeded
helm.go:84: [debug] context deadline exceeded

Ejecute el mandato siguiente e inténtelo de nuevo.

rm $HOME/Library/Preferences/helm/repositories.lock

Paso 2. Crea el archivo YAML de valores

Defina un archivo yaml e incluya los valores para desplegar el agente Monitoring y los componentes Workload Protection que tiene previsto desplegar. Por ejemplo, asigne el nombre agent-values-monitor-secure.yaml al archivo.

El siguiente yaml es una plantilla que puede utilizar para configurar el agente Monitoring y los componentes Workload Protection. Puede personalizar el archivo eliminando o comentando con # las secciones que no son necesarias para el despliegue del agente.

global:
  clusterConfig:
    name: CLUSTER_NAME
  sysdig:
    accessKey: MONITORING_INSTANCE_ACCESS_KEY
    secureAPIToken: SECURE_TOKEN
  kspm:
    deploy: true
agent:
  image:
    tag: AGENT_TAG
    registry: icr.io
  slim:
    enabled: true
    image:
      repository: ext/sysdig/agent-slim
    kmoduleImage:
      repository: ext/sysdig/agent-kmodule
  collectorSettings:
    collectorHost: INGESTION_ENDPOINT    # for example, ingest.eu-gb.monitoring.cloud.ibm.com
nodeAnalyzer:
  nodeAnalyzer:
    deploy: true
    apiEndpoint: API_ENDPOINT   # for example, eu-gb.monitoring.cloud.ibm.com
    benchmarkRunner:
      deploy: false
kspmCollector:
  apiEndpoint: API_ENDPOINT    # for example, eu-gb.monitoring.cloud.ibm.com
admissionController:
  enabled: true
  sysdig:
    url: WEB_UI_ENDPOINT    # for example, https://ingest.eu-gb.monitoring.cloud.ibm.com
  clusterName: CLUSTER_NAME

Donde

  • CLUSTER_NAME es el nombre del clúster donde está desplegando el agente.
  • MONITORING_INSTANCE_ACCESS_KEY es la clave de acceso de instancia de Monitoring.
  • SECURE_TOKEN es la señal de API segura.
  • AGENT_TAG es la versión del agente que tienes previsto implementar.
  • INGESTION_ENDPOINT es el punto final de ingestión de la instancia.
  • API_ENDPOINT es el punto final de API de intance.
  • WEB_UI_ENDPOINT es el punto final de interfaz de usuario web de la instancia.

Ejemplo de archivo yaml de valores para desplegar el agente

Por ejemplo, consulte el ejemplo siguiente de un archivo de valores que despliega solo el agente Monitoring:

global:
  clusterConfig:
    name: mycluster-au-syd
  sysdig:
    accessKey: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
    secureAPIToken: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
  kspm:
    deploy: true
agent:
  image:
    registry: icr.io
  slim:
    enabled: true
    image:
      repository: ext/sysdig/agent-slim
    kmoduleImage:
      repository: ext/sysdig/agent-kmodule
  collectorSettings:
    collectorHost: ingest.au-syd.monitoring.cloud.ibm.com

Ejemplo de archivo yaml de valores para desplegar el agente y Node Analyzer

Por ejemplo, consulte el ejemplo siguiente de un archivo de valores que despliega el agente Monitoring y el componente Node Analyzer:

global:
  clusterConfig:
    name: mycluster-au-syd
  sysdig:
    accessKey: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
    secureAPIToken: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
  kspm:
    deploy: true
agent:
  image:
    registry: icr.io
  slim:
    enabled: true
    image:
      repository: ext/sysdig/agent-slim
    kmoduleImage:
      repository: ext/sysdig/agent-kmodule
  collectorSettings:
    collectorHost: ingest.au-syd.monitoring.cloud.ibm.com
nodeAnalyzer:
  nodeAnalyzer:
    deploy: true
    apiEndpoint: API_ENDPOINT   # for example, eu-gb.monitoring.cloud.ibm.com
    benchmarkRunner:
      deploy: false

Paso 3. Instalar la gráfica de Helm

Para desplegar el agente, los componentes Workload Protection, o ambos, debe instalar el gráfico sysdig/sysdig-deploy y utilizar el archivo yaml de variables que ha 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 encuentra el siguiente error: Error: INSTALLATION FAILED: Kubernetes cluster unreachable: xxxxxx failed to refresh token: oauth2: cannot fetch token: 400 Bad Request, establezca el contexto de clúster e inténtelo de nuevo.

Actualizar un agente

Para actualizar la versión del agente utilizando Helm, realice los pasos siguientes:

  1. Actualice el gráfico.

    helm repo update
    
  2. Busque el archivo yaml de valores que ha utilizado para desplegar el agente y modifique agent.image.tag con la versión del agente que desea desplegar.

  3. Actualice el agente.

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

Eliminar un agente

Para suprimir el agente utilizando Helm, debe desinstalar el diagrama.

Complete los pasossiguientes:

  1. Muestra la lista de gráficos que están instalados.

    helm list -n ibm-observe
    

    El resultado del comando muestra los gráficos de la siguiente manera:

    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
    
  2. Desinstale el gráfico.

    helm delete sysdig-agent  -n ibm-observe
    

    En términos de Helm, sysdig-agent es el nombre del lanzamiento.

    Si olvida incluir el espacio de nombres en el comando, obtendrá el siguiente error: Error: uninstall: Release not loaded: sysdig-agent: release: not found.