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-observein 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:
-
Legen Sie den Clusterkontext fest.
obmcloud ks cluster config --cluster <CLUSTER_NAME> -
Fügen Sie das Repository „ Helm “ hinzu.
helm repo add sysdig https://charts.sysdig.com -
Aktualisieren Sie die Repositorys, um die neuesten Versionen aller Helm-Charts abzurufen.
helm repo update -
Listen Sie die „ Helm “-Diagramme auf, die derzeit für das Sysdig-Repo verfügbar sind.
helm search repo sysdig -
Überprüfen Sie, ob das Helm-Diagramm
sysdig/sysdig-deployaufgelistet 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_NAMEist der Name des Clusters, in dem Sie den Agenten implementieren.MONITORING_INSTANCE_ACCESS_KEYist der Zugriffsschlüssel für die Monitoring-Instanz.SECURE_TOKENist das Secure API-Token.AGENT_TAGist die Version des Agenten, die Sie bereitstellen möchten.INGESTION_ENDPOINTist der Aufnahmeendpunkt der Instanz.API_ENDPOINTist der API-Endpunkt der Inance.WEB_UI_ENDPOINTist 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:
-
Aktualisieren Sie das Diagramm.
helm repo update -
Suchen Sie die YAML-Wertedatei, die Sie zum Implementieren des Agenten verwendet haben, und ändern Sie
agent.image.tagmit der Version des Agenten, den Sie implementieren möchten. -
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:
-
Liste der installierten Diagramme anzeigen.
helm list -n ibm-observeDie 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 -
Deinstallieren Sie das Diagramm.
helm delete sysdig-agent -n ibm-observeUnter Helm ist
sysdig-agentder 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.