Monitoring-Agenten in Red Hat OpenShift mithilfe eines HELM-Diagramms verwalten

Sie können ein Helm Diagramm verwenden, um einen Monitoring Agent auf einem Kubernetes Cluster zu installieren, zu aktualisieren und zu löschen.

Vorbereitende Schritte

  • Installieren Sie die neueste Version der CLI „ Helm “ (Version 3) auf Ihrem lokalen Rechner.

    Helm ist ein Paketmanager für „ Kubernetes “, der „ Helm “-Charts nutzt, um komplexe „ Kubernetes “-Anwendungen in Ihrem Cluster zu definieren, zu installieren und zu aktualisieren. Helm-Charts verpacken die Spezifikationen zum Generieren von YAML-Dateien für Kubernetes-Ressourcen, die Ihre App erstellen. Diese Kubernetes-Ressourcen werden automatisch in Ihrem Cluster angewendet und Helm ordnet ihnen eine Version zu. Sie können Helm auch verwenden, um Ihre eigene App zu spezifizieren und zu packen und von Helm die YAML-Dateien für Ihre Kubernetes-Ressourcen generieren zu lassen.

  • Überprüfen Sie, ob Sie Zugriff und Berechtigungen zum Bereitstellen des Monitoring-Agenten im Cluster haben.

  • Stellen Sie sicher, dass der Namensbereich ibm-observe in Ihrem Cluster verfügbar ist. Der Agent wird in diesem Namespace bereitgestellt.

Agenten implementieren

Führen Sie die folgenden Schritte aus, um einen Agenten mithilfe von Helmbereitzustellen:

Schritt 1. Einrichtung des Sysdig Helm

Fügen Sie das Monitoring-Helm-Repository zu Ihrer Helm-Instanz hinzu.

Führen Sie die folgenden Schritte aus:

  1. Legen Sie den Clusterkontext fest.

    obmcloud ks cluster config --cluster <CLUSTER_NAME>
    
  2. Fügen Sie das Repository „ Helm “ hinzu.

    helm repo add sysdig https://charts.sysdig.com
    
  3. Aktualisieren Sie die Repositorys, um die neuesten Versionen aller Helm-Charts abzurufen.

    helm repo update
    
  4. Listen Sie die „ Helm “-Diagramme auf, die derzeit für das Sysdig-Repo verfügbar sind.

    helm search repo sysdig
    
  5. Überprüfen Sie, ob das Helm-Diagramm sysdig/sysdig-deploy aufgelistet ist.

Angenommen, der folgende Fehler wird angezeigt:

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

Führen Sie den folgenden Befehl aus und versuchen Sie es erneut.

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

Schritt 2. Erstellen Sie die YAML-Datei mit den Werten

Definieren Sie eine YAML-Datei und schließen Sie die Werte ein, um den Monitoring-Agenten und die Workload Protection-Komponenten, die Sie bereitstellen möchten, bereitzustellen. Nennen Sie die Datei beispielsweise agent-values-monitor-secure.yaml.

Die folgende YAML-Datei ist eine Vorlage, mit der Sie den Monitoring-Agenten und die Workload Protection-Komponenten konfigurieren können. Sie können die Datei anpassen, indem Sie mit # die Abschnitte entfernen oder kommentieren, die für Ihre Agentenimplementierung nicht erforderlich sind.

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

Wo

  • CLUSTER_NAME ist der Name des Clusters, in dem Sie den Agenten implementieren.
  • MONITORING_INSTANCE_ACCESS_KEY ist der Zugriffsschlüssel für die Monitoring-Instanz.
  • SECURE_TOKEN ist das Secure API-Token.
  • AGENT_TAG ist die Version des Agenten, die Sie bereitstellen möchten.
  • INGESTION_ENDPOINT ist der Aufnahmeendpunkt der Instanz.
  • API_ENDPOINT ist der API-Endpunkt der Inance.
  • WEB_UI_ENDPOINT ist der Endpunkt der Webbenutzerschnittstelle der Instanz.

Beispiel einer YAML-Datei mit Werten für die Implementierung des Agenten

Sehen Sie sich zum Beispiel das folgende Beispiel einer Wertedatei an, die nur den Monitoring-Agenten bereitstellt:

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

Beispiel einer YAML-Datei mit Werten für die Implementierung des Agenten und von Node Analyzer

Sehen Sie sich zum Beispiel das folgende Beispiel einer Wertedatei an, die den Monitoring-Agenten und die Komponente Node Analyzer bereitstellt:

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

Schritt 3. Helm-Diagramm installieren

Zum Bereitstellen des Agenten, der Workload Protection-Komponenten oder beider Komponenten müssen Sie das Diagramm sysdig/sysdig-deploy installieren und die YAML-Datei für Variablen verwenden, die Sie im vorherigen Schritt konfiguriert haben.

Führen Sie den folgenden Befehl aus, um den Agenten mithilfe des Helm-Diagramms zu installieren:

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

Wenn der Fehler Error: INSTALLATION FAILED: Kubernetes cluster unreachable: xxxxxx failed to refresh token: oauth2: cannot fetch token: 400 Bad Request auftritt, legen Sie Ihren Clusterkontext fest und versuchen Sie es erneut.

Agenten aktualisieren

Führen Sie die folgenden Schritte aus, wenn Sie die Agentenversion mithilfe von Helmaktualisieren wollen:

  1. Aktualisieren Sie das Diagramm.

    helm repo update
    
  2. Suchen Sie die YAML-Wertedatei, die Sie zum Implementieren des Agenten verwendet haben, und ändern Sie agent.image.tag mit der Version des Agenten, den Sie implementieren möchten.

  3. Führen Sie ein Upgrade des Agenten durch.

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

Agenten entfernen

Zum Löschen des Agenten mithilfe von Helmmüssen Sie das Chart deinstallieren.

Führen Sie die folgenden Schritte aus:

  1. Liste der installierten Diagramme anzeigen.

    helm list -n ibm-observe
    

    Die Ausgabe des Befehls listet die Diagramme wie folgt auf:

    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. Deinstallieren Sie das Diagramm.

    helm delete sysdig-agent  -n ibm-observe
    

    Unter Helm ist sysdig-agent der Name der Veröffentlichung.

    Wenn Sie vergessen, den Namespace in den Befehl aufzunehmen, erhalten Sie folgende Fehlermeldung: Error: uninstall: Release not loaded: sysdig-agent: release: not found.