Dieses Dokument wurde mithilfe automatisierter maschineller Übersetzungstechnologie übersetzt. Wir bemühen uns um korrekte Übersetzungen, übernehmen jedoch keine Gewähr für die Vollständigkeit, Richtigkeit oder Zuverlässigkeit der übersetzten Inhalte. Im Falle von Abweichungen ist die englische Originalversion maßgebend und stellt den verbindlichen Text dar.

OpenShift-Installation

Bevor Sie beginnen

Zusätzliche Hinweise zur Installation auf:

Bevor Sie mit der Installation von SUSE® Observability beginnen:

  • Überprüfen Sie, ob Ihre OpenShift-Umgebung die Anforderungen erfüllt.

  • Stellen Sie sicher, dass die OpenShift-Befehlszeilenwerkzeuge installiert sind (oc).

  • Fügen Sie das SUSE® Observability Helm-Repository zum lokalen Helm-Client hinzu:

helm repo add suse-observability https://charts.rancher.com/server-charts/prime/suse-observability
helm repo update

Installieren Sie SUSE® Observability

Für Umgebungen ohne Internetzugang, auch bekannt als Air-Gapped-Umgebungen, folgen Sie zunächst diesen zusätzlichen Anweisungen.

Stellen Sie außerdem sicher, dass Sie die Anweisungen zur Air-Gapped-Installation befolgen, wann immer diese für einen Schritt vorhanden sind.

Projekt erstellen

Beginnen Sie mit der Erstellung des Projekts, in dem Sie SUSE® Observability installieren möchten. In unserem Leitfaden verwenden wir den Namespace suse-observability:

oc new-project suse-observability

Der Projektname wird in den helm und kubectl Befehlen als Namespace-Name im --namespace Flag verwendet.

Erstellen Sie die values.yaml Konfigurationsdatei

Die values.yaml Datei enthält alle Konfiguration, die erforderlich sind, um SUSE® Observability bereitzustellen, einschließlich Ihres Lizenzschlüssels, der Basis-URL, des Administratorkennworts und des Größenprofils.

Bevor Sie fortfahren: Stellen Sie sicher, dass Sie die neueste Version der Helm-Charts mit helm repo update haben.

  • Empfohlene Methode

  • Veraltete Methode (Ausgelaufen)

Die global.suseObservability Konfiguration ist ab Version 2.8.0 verfügbar. Für frühere Versionen verwenden Sie die veraltete Methode.

Erstellen Sie eine values.yaml Datei mit der global.suseObservability Konfigurationsstruktur:

global:
  # Optional: Override image registry (defaults to registry.rancher.com)
  # Only needed for air-gapped environments or custom registries
  # imageRegistry: "your-private-registry.example.com"

  # Optional: Override storage class (uses cluster default if not set)
  # storageClass: "your-storage-class"

  suseObservability:
    # Required: Your {stackstate-product-name} license key
    license: "YOUR-LICENSE-KEY"

    # Required: Base URL for {stackstate-product-name}
    # Use http://localhost:8080 if ingress is not configured yet
    baseUrl: "https://observability.example.com"

    # Required: Sizing profile
    # Available: trial, 10-nonha, 20-nonha, 50-nonha, 100-nonha,
    #            150-ha, 250-ha, 500-ha, 4000-ha
    sizing:
      profile: "150-ha"

    # Required: Plain text Admin password
    adminPassword: "your-password"
    # Instead of adminPassword you can provide a bcrypt hashed password with adminPasswordBcrypt
    # Generate with: htpasswd -bnBC 10 "" "your-password" | tr -d ':\n'
    # adminPasswordBcrypt: "$2a$10$..."

    # Optional: Receiver API key (auto-generated if not provided)
    # receiverApiKey: "your-receiver-api-key"

    # Optional: Pull secret for private registry
    # pullSecret:
    #   username: "registry-user"
    #   password: "registry-pass"
Um einen bcrypt-Passworthash zu generieren, verwenden Sie: htpasswd -bnBC 10 "" "your-password" | tr -d ':\n'

Für weitere Konfigurationsoptionen, einschließlich Affinitäts-Einstellungen, siehe Konfigurieren von Kubernetes-Affinitäten.

Diese Methode ist ausgelaufen. Für neue Installationen verwenden Sie die oben empfohlene Methode. Für bestehende Installationen, die diese Methode verwenden, siehe den Migrationsleitfaden, um zum neuen Konfigurationsformat zu wechseln.

Sie können die SUSE® Observability baseConfig_values.yaml, sizing_values.yaml und affinity_values.yaml Dateien generieren, indem Sie ein separates Helm-Chart ausführen. Das suse-observability/suse-observability-values Chart. Ein Beispiel für eine Befehlszeile ist:

export VALUES_DIR=.
helm template \
  --set license='<your license>' \
  --set baseUrl='<suse-observability-base-url>' \
  --set sizing.profile='<sizing.profile>' \
  suse-observability-values \
  suse-observability/suse-observability-values --output-dir $VALUES_DIR

Dieser Befehl generiert die Dateien $VALUES_DIR/suse-observability-values/templates/baseConfig_values.yaml, $VALUES_DIR/suse-observability-values/templates/sizing_values.yaml und $VALUES_DIR/suse-observability-values/templates/affinity_values.yaml, die die erforderliche Konfiguration für die Installation des SUSE® Observability Helm-Charts enthalten.

Die Administratorpasswörter für SUSE® Observability werden durch den obigen Befehl automatisch generiert und als Kommentare in der generierten basicConfig.yaml Datei ausgegeben. Die tatsächlichen Werte enthalten die bcrypt Hashes dieser Passwörter, sodass sie sicher im Helm-Release im Cluster gespeichert sind.

Die Werte, die an dieses Chart übergeben werden können, sind:

Konfiguration Wert Beschreibung

Basis-Konfiguration generieren

basicConfig.generate

Aktivieren oder deaktivieren Sie die Generierung der basicConfig_values.yaml Datei.

Empfänger-API-Schlüssel

receiverApiKey

Der API-Schlüssel, der von SUSE® Observability verwendet wird, um Daten von Agenten zu empfangen. Dies ist ein geheimer Schlüssel, der privat gehalten werden sollte. Wenn Sie dies weglassen, wird ein zufälliger Schlüssel für Sie generiert.

Basis-URL

baseUrl

Der Punkt <STACKSTATE_BASE_URL>. Die externe URL für SUSE® Observability, die Benutzer und Agenten verwenden, um sich zu verbinden. Beispiel https://suse-observability.internal. Wenn Sie sich noch nicht für eine Ingress-Konfiguration entschieden haben, verwenden Sie http://localhost:8080. Dies kann später in der generierten Datei aktualisiert werden.

Benutzername und Passwort**

-u -p

Der Benutzername und das Passwort, die von SUSE® Observability verwendet werden, um Bilder abzurufen. Für Air-Gapped-Umgebungen müssen dies der Benutzername und das Passwort für das lokale Docker-Registry sein.

Lizenzschlüssel

license

Der SUSE® Observability Lizenzschlüssel.

Standardkennwort

adminPassword

Das Passwort für den Standardbenutzer (admin), um auf die UI von SUSE® Observability zuzugreifen. Alternativ können Sie ein bcrypt-hashiertes Passwort mit adminPasswordBcrypt bereitstellen. Nur eine der beiden Optionen kann gleichzeitig verwendet werden.

Bild-Registry

imageRegistry

Die Registry, in der die SUSE® Observability Bilder gehostet werden. Wenn nicht angegeben, ist der Standardwert 'quay.io'

Pull Secret Benutzername

pullSecret.username

Der Benutzername, der verwendet wird, um Bilder aus der Docker-Registry abzurufen, in der die SUSE® Observability Bilder gehostet werden.

Pull Secret Passwort

pullSecret.password

Das Passwort, das verwendet wird, um Bilder aus der Docker-Registry abzurufen, in der die SUSE® Observability Bilder gehostet werden.

Größen generieren

sizing.generate

Aktivieren oder deaktivieren Sie die Generierung der sizing_values.yaml Datei.

Größenprofil

sizing.profile

OneOf-Test, 10-nonha, 20-nonha, 50-nonha, 100-nonha, 150-ha, 250-ha, 500-ha. Basierend auf diesen Profilen können Sie die sizing_values.yaml Datei generieren, die Standardgrößen für die SUSE® Observability Ressourcen und Konfiguration enthält, die im HA- oder Non-HA-Modus bereitgestellt werden soll. Zum Beispiel erzeugt 10-nonha eine sizing_values.yaml, um eine Non-HA SUSE® Observability Instanz bereitzustellen, um einen 10-Knoten-Cluster im Non-High-Availability-Modus zu beobachten. Derzeit ist es nicht möglich, von einer Non-HA-Umgebung in eine HA-Umgebung zu wechseln. Wenn Sie erwarten, dass Ihre Umgebung etwa 150 Knoten erfordert, ist es besser, sofort auf HA zu gehen.

Pod AntiAffinity

affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution

Durchsetzen, dass die Replikate der gleichen Datenservices auf verschiedenen Kubernetes-Knoten geplant werden. Nur anwendbar für HA Profile. Entweder true oder false. Der Standard ist true - die Planung auf verschiedene Knoten wird durchgesetzt.

Speichern Sie die generierten basicConfig.yaml und sizing_values.yaml Dateien sicher. Sie können diese Dateien für Upgrades wiederverwenden, was Zeit spart und sicherstellt, dass SUSE® Observability weiterhin denselben API-Schlüssel verwendet. Dies ist wünschenswert, da es bedeutet, dass Agenten und andere Datenanbieter für SUSE® Observability nicht aktualisiert werden müssen. Sie können die Dateien unabhängig regenerieren, indem Sie die Schalter basicConfig.generate=false und sizing.generate=false verwenden, um einen von ihnen zu deaktivieren, während Sie die zuvor generierte Version der Datei im output-dir behalten.

Das SUSE® Observability Werte-Diagramm generiert Affinitätskonfigurationen, die Sie mit dem Haupt-SUSE® Observability Diagramm verwenden können, um das Planungsverhalten von Pods zu steuern. Siehe die Konfigurieren von Kubernetes-Affinitäten Dokumentation für weitere Informationen.

Erstellen Sie openshift-values.yaml

Da OpenShift ein strengeres Sicherheitsmodell als reines Kubernetes hat, müssen alle standardmäßigen Sicherheitskontexte in der Implementierung deaktiviert werden.

Erstellen Sie eine Helm-Werte-Datei openshift-values.yaml mit folgendem Inhalt und speichern Sie sie neben der generierten values.yaml-Datei. Diese enthält die Werte, die für eine OpenShift-Implementierung benötigt werden.

elasticsearch:
  prometheus-elasticsearch-exporter:
    podSecurityContext: ""
  sysctlInitContainer:
    enabled: false
scc:
  enabled: true

Bereitstellen von SUSE® Observability mit Helm

Die empfohlene Implementierung von SUSE® Observability ist ein produktionsbereites Setup mit hoher Verfügbarkeit, bei dem viele Dienste redundant ausgeführt werden. Falls erforderlich, ist es auch möglich, SUSE® Observability in einer nicht-redundanten Konfiguration auszuführen, bei der jeder Dienst nur eine einzige Instanz hat. Dieses Setup wird nur für eine Testumgebung empfohlen.

Für Air-Gapped-Umgebungen folgen Sie den Anweisungen für die Air-Gapped-Installationen.

  • Empfohlene Methode

  • Empfohlene Methode (Air-Gapped)

  • Veraltete Methode (Ausgelaufen)

  • Veraltete Methode (Air-Gapped)

Um SUSE® Observability in einem hochverfügbaren Setup auf OpenShift bereitzustellen:

  1. Bevor Sie bereitstellen:

  2. Stellen Sie die neueste SUSE® Observability-Version im suse-observability-Namespace mit folgendem Befehl bereit:

helm upgrade \
  --install \
  --namespace suse-observability \
  --values values.yaml \
  --values openshift-values.yaml \
  --set "clickhouse.sidecars[0].securityContext.runAsUser=null" \
suse-observability \
suse-observability/suse-observability

Um SUSE® Observability in einem Air-Gapped-Setup auf OpenShift bereitzustellen:

helm upgrade \
  --install \
  --namespace suse-observability \
  --values local-docker-registry.yaml \
  --values values.yaml \
  --values openshift-values.yaml \
  --set "clickhouse.sidecars[0].securityContext.runAsUser=null" \
suse-observability \
suse-observability/suse-observability

Diese Methode ist ausgelaufen. Für neue Installationen verwenden Sie die oben empfohlene Methode. Für bestehende Installationen, die diese Methode verwenden, siehe den Migrationsleitfaden, um zum neuen Konfigurationsformat zu wechseln.

Um SUSE® Observability in einer Implementierung mit hoher Verfügbarkeit auf OpenShift bereitzustellen:

  1. Bevor Sie bereitstellen:

  2. Stellen Sie die neueste SUSE® Observability-Version im suse-observability-Namespace mit folgendem Befehl bereit:

helm upgrade \
  --install \
  --namespace suse-observability \
  --values $VALUES_DIR/suse-observability-values/templates/baseConfig_values.yaml \
  --values $VALUES_DIR/suse-observability-values/templates/sizing_values.yaml \
  --values $VALUES_DIR/suse-observability-values/templates/affinity_values.yaml \
  --values openshift-values.yaml \
suse-observability \
suse-observability/suse-observability

Diese Methode ist ausgelaufen. Für neue Installationen verwenden Sie die oben empfohlene Methode. Für bestehende Installationen, die diese Methode verwenden, siehe den Migrationsleitfaden, um zum neuen Konfigurationsformat zu wechseln.

Um SUSE® Observability in einem Air-Gapped-Setup auf OpenShift bereitzustellen:

helm upgrade \
  --install \
  --namespace suse-observability \
  --values local-docker-registry.yaml \
  --values $VALUES_DIR/suse-observability-values/templates/baseConfig_values.yaml \
  --values $VALUES_DIR/suse-observability-values/templates/sizing_values.yaml \
  --values $VALUES_DIR/suse-observability-values/templates/affinity_values.yaml \
  --values openshift-values.yaml \
  --set "clickhouse.sidecars[0].securityContext.runAsUser=null" \
suse-observability \
suse-observability-A.B.C.tgz

Nach der Installation sollte die SUSE® Observability-Version im SUSE® Observability-Namespace aufgeführt sein und alle Pods sollten laufen:

# Check the release is listed
helm list --namespace suse-observability

# Check pods are running
# It may take some time for all pods to be installed or available
kubectl get pods --namespace suse-observability

Greifen Sie auf die SUSE® Observability UI zu.

Nachdem SUSE® Observability bereitgestellt wurde, können Sie überprüfen, ob alle Pods laufen:

kubectl get pods --namespace suse-observability

Wenn alle Pods aktiv sind, können Sie ein Port-Forward aktivieren:

kubectl port-forward service/suse-observability-router 8080:8080 --namespace suse-observability

SUSE® Observability wird jetzt in Ihrem Browser unter https://localhost:8080 verfügbar sein. Melden Sie sich mit dem Benutzernamen admin und dem standardmäßigen Passwort, das in der values.yaml Datei angegeben ist, an.

Die nächsten Schritte sind

Erstellen Sie manuell SecurityContextConfiguration-Objekte.

Wenn Sie kein Administratorkonto verwenden können, um SUSE® Observability auf OpenShift zu installieren, bitten Sie Ihren Administrator, die untenstehenden SecurityContextConfiguration-Objekte anzuwenden.

apiVersion: security.openshift.io/v1
kind: SecurityContextConstraints
metadata:
  name: {{ template "common.fullname.short" . }}-{{ .Release.Namespace }}
  labels:
    {{- include "common.labels.standard" . | nindent 4 }}
  annotations:
    helm.sh/hook: pre-install
    suse-observability.io/note: "Ignored by helm uninstall, has to be deleted manually"
fsGroup:
  type: RunAsAny
groups:
- system:serviceaccounts:{{ .Release.Namespace }}
runAsUser:
  type: RunAsAny
seLinuxContext:
  type: MustRunAs
supplementalGroups:
  type: RunAsAny
volumes:
- configMap
- downwardAPI
- emptyDir
- ephemeral
- persistentVolumeClaim
- projected
- secret
allowHostDirVolumePlugin: false
allowHostIPC: false
allowHostNetwork: false
allowHostPID: false
allowHostPorts: false
allowPrivilegeEscalation: true
allowPrivilegedContainer: false
readOnlyRootFilesystem: false
seccompProfiles:
  - runtime/default

Siehe auch