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.

Installieren SUSE® Observability

Bevor Sie beginnen

Zusätzliche Hinweise zur Installation auf:

Bevor Sie mit der Installation von SUSE® Observability beginnen:

  • Überprüfen Sie die Anforderungen, um sicherzustellen, dass Ihre Kubernetes-Umgebung zu dem Setup passt, das Sie verwenden werden (empfohlen, minimal oder keine hohe Verfügbarkeit).

  • Überprüfen Sie, ob Sie die erforderlichen Berechtigungen haben.

  • 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 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 Installation in Air-Gapped-Umgebungen befolgen, wann immer diese für einen Schritt vorhanden sind.

Namespace erstellen

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

kubectl create namespace suse-observability

Erstellen Sie die values.yaml-Konfigurationsdatei

Die values.yaml-Konfigurationsdatei enthält alle Konfigurationen, die erforderlich sind, um SUSE® Observability bereitzustellen, einschließlich Ihres Lizenzschlüssels, der Basis-URL, des Administratorpassworts 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

  • Legacy-Methode (Veraltet)

Die global.suseObservability-Konfigurationsmethode ist ab Version 2.8.0 verfügbar. Für frühere Versionen verwenden Sie die Legacy-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"

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

Diese Methode ist veraltet. 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-Konfigurationsdateien generieren, indem Sie ein separates Helm-Chart ausführen. Dies ist das suse-observability/suse-observability-values-Chart:

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 SUSE® Observability Administrator-Passwörter 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, damit sie sicher im Helm-Release im Cluster gespeichert werden.

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

Konfiguration Wert Beschreibung

Basis-Konfiguration generieren

basicConfig.generate

Aktivieren oder Deaktivieren der Generierung der basicConfig_values.yaml Datei.

Empfänger-API-Schlüssel

receiverApiKey

Der von SUSE® Observability verwendete API-Schlüssel, 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 Images abzurufen. Für Air-Gapped-Umgebungen müssen dies der Benutzername und das Passwort für die lokale Container-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.

Image-Registry

imageRegistry

Die Registry, in der die SUSE® Observability Images gehostet werden. Wenn nicht angegeben, wird der Standardwert 'registry.rancher.com' sein. Nur erforderlich für Air-Gapped-Umgebungen oder benutzerdefinierte Registries.

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. Nur erforderlich für benutzerdefinierte Registries.

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. Nur erforderlich für benutzerdefinierte Registries.

Größen generieren

sizing.generate

Aktivieren oder Deaktivieren der Generierung der sizing_values.yaml Datei.

Größenprofil

sizing.profile

OneOf trial, 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 die Konfiguration zum Bereitstellen im HA- oder Non-HA-Modus enthält. 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 Standardwert ist true - die Planung auf verschiedene Knoten wird durchgesetzt.

Bewahren Sie die generierten basicConfig.yaml und sizing_values.yaml Dateien sicher auf. Sie können diese Dateien für Upgrades wiederverwenden, um Zeit zu sparen und sicherzustellen, dass SUSE® Observability denselben API-Schlüssel weiterhin 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 Verhalten der Pod-Planung zu steuern. Siehe Konfigurieren von Kubernetes-Affinitäten für weitere Informationen.

Speicherklasse konfigurieren (Optional)

SUSE® Observability verwendet die Standard-Speicherklasse des Clusters, wenn nicht angegeben. Sie können dies optional überschreiben, indem Sie global.storageClass in Ihrer values.yaml Datei festlegen.

  • Empfohlene Methode

  • Legacy-Methode (Veraltet)

Wenn Sie eine bestimmte Speicherklasse verwenden müssen, fügen Sie sie in Ihre values.yaml Datei unter global.storageClass hinzu:

global:
  storageClass: "your-storage-class"  # e.g., "local-path" for Rancher local-path provisioner
  suseObservability:
    # ... other configuration

Bearbeiten Sie die Datei $VALUES_DIR/suse-observability-values/templates/baseConfig_values.yaml, um die "storageClass" Konfiguration hinzuzufügen:

# Source suse-observability-values/templates/baseConfig_values.yaml
global:
  storageClass: "your-storage-class" # Optional: override default storage class

Bereitstellen SUSE® Observability mit Helm

Die empfohlene Bereitstellung von SUSE® Observability ist eine produktionsbereite, hochverfügbare Konfiguration mit vielen redundanten Diensten. 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. Diese Konfiguration 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)

  • Legacy-Methode (Veraltet)

  • Legacy-Methode (Air-Gapped)

Um SUSE® Observability auf Kubernetes bereitzustellen:

  1. Bevor Sie bereitstellen:

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

helm upgrade \
  --install \
  --namespace suse-observability \
  --values values.yaml \
suse-observability \
suse-observability/suse-observability

Alternativ können Sie direkt mit --set Flags ohne eine Werte-Datei bereitstellen:

helm upgrade \
  --install \
  --namespace suse-observability \
  --set global.suseObservability.license="YOUR-LICENSE-KEY" \
  --set global.suseObservability.baseUrl="https://observability.example.com" \
  --set global.suseObservability.sizing.profile="150-ha" \
  --set global.suseObservability.adminPassword='$2a$10$...' \
suse-observability \
suse-observability/suse-observability

Um SUSE® Observability in einer Air-Gapped-Umgebung auf Kubernetes bereitzustellen:

  1. Bevor Sie bereitstellen:

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

helm upgrade \
  --install \
  --namespace suse-observability \
  --values local-docker-registry.yaml \
  --values values.yaml \
suse-observability \
suse-observability/suse-observability

Diese Methode ist veraltet. 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 auf Kubernetes bereitzustellen:

  1. Bevor Sie bereitstellen:

  2. Stellen Sie die neueste SUSE® Observability Version im suse-observability Namespace mit dem folgenden 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 \
suse-observability \
suse-observability/suse-observability

Diese Methode ist veraltet. 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 Kubernetes bereitzustellen:

  1. Bevor Sie bereitstellen:

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

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 \
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

Zugriff auf die SUSE® Observability Benutzeroberfläche

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

kubectl get pods --namespace suse-observability

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

kubectl port-forward service/<helm-release-name>-suse-observability-router 8080:8080 --namespace suse-observability

Für die Ingress-Konfiguration erstellen Sie eine ingress_values.yaml Datei und fügen Sie den folgenden Code hinzu.

Denken Sie daran, ein Secret für die TLS-Konfiguration festzulegen. Für Details, wie das geht, konsultieren Sie die kubectl-Dokumentation.

ingress:
  enabled: true
  class: ""
  annotations:
    nginx.ingress.kubernetes.io/proxy-body-size: "50m"
    nginx.ingress.kubernetes.io/ssl-redirect: "true"
    #if external dns (cloudflare and similars) configure:
    #external-dns.alpha.kubernetes.io/target: <INGRESS_FQDN>
    #external-dns.alpha.kubernetes.io/ttl: "60"
    #end if
  hosts:
  - host: <SUSE_OBSERVABILITY_HOST>
  tls:
  - hosts:
    - <SUSE_OBSERVABILITY_HOST>
    secretName: suse-private-ai-tls
  existingSecret: suse-private-ai-tls
  # Set up your secrets in whichever way feels fit. Check k8s docs for details: https://kubernetes.io/docs/reference/kubectl/generated/kubectl_create/kubectl_create_secret_tls/

Fahren Sie fort, ein Upgrade durchzuführen, um die Ingress-Konfiguration anzuwenden:

  • Aufrüsten

  • Air-Gapped Upgrade

helm upgrade --namespace suse-observability --reuse-values --values ingress_values.yaml suse-observability suse-observability/suse-observability
helm upgrade --namespace suse-observability --reuse-values --values suse-observability-values/templates/ingress_values.yaml suse-observability suse-observability-A.B.C.tgz

Wenn Sie keinen externen DNS verwenden, fügen Sie auf Ihrem lokalen Rechner /etc/hosts hinzu: <CLUSTER_IP> <SUSE_OBSERVABILITY_HOST>.

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

Die nächsten Schritte sind: