|
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. |
Wechseln Sie in den globalen Konfigurationsmodus.
Übersicht
Dieser Leitfaden erklärt, wie man von der veralteten zweistufigen Installation mit dem suse-observability-values Chart zur vereinfachten Einzel-Chart-Installation mit der global.suseObservability Konfiguration migriert.
|
Die |
Veraltete Installation (Ausgelaufen)
Die alte Installationsmethode erforderte zwei Schritte:
-
Werte-Dateien mit dem
suse-observability-valuesChart generieren -
Installieren Sie das
suse-observabilityChart mit den generierten Werten
# Step 1: Generate values
helm template suse-observability-values suse-observability/suse-observability-values \
--set license="YOUR-LICENSE-KEY" \
--set baseUrl="https://observability.example.com" \
--set sizing.profile="150-ha" \
--set adminPassword="your-password" \
--set pullSecret.username="registry-user" \
--set pullSecret.password="registry-pass" \
> generated-values.yaml
# Step 2: Install with generated values
helm install suse-observability suse-observability/suse-observability \
-f generated-values.yaml \
-n suse-observability
Vor der Installation konvertieren
Wenn Sie Parameter für das veraltete suse-observability-values Chart vorbereitet haben, aber noch nicht installiert haben, können Sie direkt zur neuen Methode konvertieren, ohne Zwischenwerte-Dateien zu erstellen.
Direkte Parameterkonvertierung
Konvertieren Sie Ihren helm template Befehl in einen helm upgrade --install Befehl, indem Sie die Parameter zuordnen:
| Alter Parameter | Neuer Parameter |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Beispiel: Vor und nach
|
Stellen Sie vor dem Ausführen von Helm-Befehlen sicher, dass Sie die neueste Chart-Version haben:
|
export VALUES_DIR=.
helm template \
--set license="YOUR-LICENSE-KEY" \
--set baseUrl="https://observability.example.com" \
--set sizing.profile="10-nonha" \
--set receiverApiKey="YOUR-API-KEY" \
suse-observability-values \
suse-observability/suse-observability-values --output-dir $VALUES_DIR
# Then: helm install with generated files...
helm upgrade --install \
--namespace suse-observability \
--create-namespace \
--set global.suseObservability.license="YOUR-LICENSE-KEY" \
--set global.suseObservability.baseUrl="https://observability.example.com" \
--set global.suseObservability.sizing.profile="10-nonha" \
--set global.suseObservability.receiverApiKey="YOUR-API-KEY" \
--set global.suseObservability.adminPassword='your-password' \
suse-observability suse-observability/suse-observability
|
Stattdessen eine Werte-Datei verwenden
Wenn Sie eine Werte-Datei bevorzugen, erstellen Sie values.yaml mit der in [_step_3_create_new_values_file] gezeigten Konfiguration, stellen Sie sicher, dass Sie das neueste Chart mit helm repo update haben, und führen Sie dann Folgendes aus:
helm upgrade --install \
--namespace suse-observability \
--create-namespace \
--values values.yaml \
suse-observability suse-observability/suse-observability
Bevor Sie migrieren
Bei der Ausführung einer Migration von der alten Installationsmethode beachten Sie Folgendes:
|
Dieser Migrationsleitfaden richtet sich an Benutzer, die derzeit die |
|
Migrationsschritte
Schritt 1: Aktuelle Konfiguration sichern
Bevor Sie mit der Migration beginnen, speichern Sie Ihre vorhandenen Helm-Werte und alle Anpassungen:
# Save current Helm values
helm get values suse-observability -n suse-observability > backup-values.yaml
# Save your original suse-observability-values input (if available)
# This is typically your values file used with helm template
# Backup important resources
kubectl get secrets -n suse-observability -o yaml > backup-secrets.yaml
2. Schritt: Identifizieren Sie Ihre aktuelle Konfiguration
Überprüfen Sie Ihre vorhandene Konfiguration, um die folgenden Einstellungen zu identifizieren:
-
Größenprofil: Überprüfen Sie
sizing.profilein Ihren suse-observability-values Eingaben -
Lizenzschlüssel: Ihre SUSE® Observability Lizenz
-
Basis-URL: Die URL, unter der SUSE® Observability erreichbar ist
-
Admin-Passwort: Das Admin-Passwort (Sie können auch den bcrypt-Hash des Passworts verwenden, der Wert dafür ist
adminPasswordBcrypt) -
Pull-Secret-Anmeldeinformationen: Benutzername und Passwort für die Registry (falls verwendet)
-
Benutzerdefinierte Affinitätseinstellungen: Alle Anpassungen der Knotenaffinität oder Pod-Anti-Affinität
Einige dieser Informationen können Sie aus Ihrer aktuellen Installation extrahieren:
# Check current values
helm get values suse-observability -n suse-observability
# The sizing profile is visible in resource configurations
# Look for patterns like replica counts, resource limits, etc.
Verständnis von automatisch generierten vs. benutzerdefinierten Werten
Wenn Sie helm get values ausführen, sehen Sie möglicherweise Hunderte von Zeilen der Konfiguration. Die meisten davon sind jedoch automatisch generiert durch das Größenprofil und müssen nicht manuell in Ihrer Migrationswertdatei erhalten bleiben.
Was das Größenprofil automatisch bereitstellt
Wenn Sie global.suseObservability.sizing.profile festlegen, konfiguriert das Chart automatisch:
-
Ressourcenanforderungen und -limits für alle Komponenten (Elasticsearch, Kafka, ClickHouse, Server, Empfänger usw.)
-
Replikazahlen für zustandsbehaftete Dienste
-
Speichergrößen für persistente Volumes
-
HBase-Implementierungsmodus (Mono für nicht-HA, Distributed für HA)
-
Aufteilung der Server- und Empfängerkonfiguration
-
Victoria Metrics HA-Einstellungen
-
Umgebungsvariablen (
extraEnv) einschließlichCONFIG_FORCE_*Einstellungen zur Leistungsoptimierung
Was Sie bewahren müssen
Bewahren Sie nur Werte, die wirklich benutzerdefiniert sind - Konfigurationen, die Sie hinzugefügt oder geändert haben, über das hinaus, was das Größenprofil bietet:
| Bewahren (Benutzerdefiniert) | Nicht bewahren (Automatisch generiert) |
|---|---|
Kernel-Einstellungen (Lizenz, Basis-URL, Admin-Passwort, Empfänger-API-Schlüssel) |
Ressourcengrenzen und -anforderungen |
Ingress-Konfiguration (Hosts, TLS, Annotationen) |
Replikazahlen |
Benutzerdefinierte Umgebungsvariablen, die Sie hinzugefügt haben |
Speichergrößen |
Authentifizierungseinstellungen (LDAP, OIDC) |
|
Benutzerdefiniert |
Kafka/Zookeeper-Replikationsfaktoren |
OpenTelemetry-Collector benutzerdefinierter Ingress |
HBase-Implementierungsmodus |
Beispiel: Minimale Migrationswerte-Datei
Ihre Migrationswerte-Datei sollte viel kleiner sein als helm get values Ausgabe:
global:
suseObservability:
license: "YOUR-LICENSE"
baseUrl: "https://your-url.example.com"
sizing:
profile: "10-nonha" # This handles all resource configuration!
adminPassword: "your-password"
receiverApiKey: "your-api-key"
# Only include truly custom configurations below
ingress:
enabled: true
ingressClassName: your-ingress-class
annotations:
# your custom annotations
hosts:
- host: your-url.example.com
tls:
- hosts:
- your-url.example.com
secretName: your-tls-secret
|
Wenn Sie sich nicht sicher sind, ob ein Wert benutzerdefiniert oder automatisch generiert ist, vergleichen Sie ihn mit den Standardwerten des Größenprofils. Werte wie |
Schritt 3: Neue Werte-Datei erstellen
Erstellen Sie ein neues values.yaml mit der global.suseObservability Struktur:
global:
suseObservability:
# Required: Your license key
license: "YOUR-LICENSE-KEY"
# Required: Base URL for {stackstate-product-name}
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"
adminPassword: "your-password"
# Instead of adminPassword you can provide a bcrypt hashed password
# 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: Affinity configuration
# These settings apply to all infrastructure components (Elasticsearch,
# Kafka, ClickHouse, etc.) automatically - no need to configure per-component
affinity:
# Node affinity for all components
nodeAffinity: null
# Pod anti-affinity for HA profiles (infrastructure components)
podAntiAffinity:
requiredDuringSchedulingIgnoredDuringExecution: true
topologyKey: "kubernetes.io/hostname"
# For air-gapped or custom registry configurations, see:
# xref:/k8s-suse-rancher-prime-air-gapped.adoc[Air-Gapped Installation Guide]
4. Schritt: Referenz zur Konfigurationszuordnung
Verwenden Sie diese Tabelle, um Ihre alte Konfiguration in das neue Format zuzuordnen:
| Alte Konfiguration (suse-observability-values) | Neue Konfiguration (global.suseObservability) |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Für Air-Gapped-Umgebungen oder benutzerdefinierte Registries, die |
5. Schritt: Benutzerdefinierte Überschreibungen verwalten
Wenn Sie benutzerdefinierte Überschreibungen in Ihrer generierten Werte-Datei hatten, können Sie diese weiterhin verwenden. Der neue globale Modus bietet sinnvolle Standardwerte, die auf Komponentenbasis überschrieben werden können:
global:
suseObservability:
sizing:
profile: "150-ha"
license: "YOUR-LICENSE-KEY"
baseUrl: "https://observability.example.com"
adminPassword: "your-password"
# Global affinity - applied to all components by default
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: topology.kubernetes.io/zone
operator: In
values:
- us-west-2a
# Custom per-component overrides still work - they take precedence over global defaults
stackstate:
components:
api:
resources:
requests:
memory: 16Gi # Override default from sizing profile
limits:
memory: 20Gi
elasticsearch:
volumeClaimTemplate:
resources:
requests:
storage: 500Gi # Override default storage size
# Override affinity for Elasticsearch specifically
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: node-type
operator: In
values:
- storage-optimized
6. Schritt: Führen Sie das Upgrade durch
Stellen Sie zunächst sicher, dass Sie die neueste Chart-Version haben:
helm repo update
Führen Sie dann das Upgrade durch:
# Dry-run first to see what will change
helm upgrade suse-observability suse-observability/suse-observability \
-n suse-observability \
-f values.yaml \
--dry-run
# If everything looks good, perform the actual upgrade
helm upgrade suse-observability suse-observability/suse-observability \
-n suse-observability \
-f values.yaml
7. Schritt: Überprüfen Sie das Upgrade
# Check all pods are running
kubectl get pods -n suse-observability
# Check for any errors in events
kubectl get events -n suse-observability --sort-by='.lastTimestamp' | tail -20
# Verify the Helm release
helm status suse-observability -n suse-observability
# Check the applied values
helm get values suse-observability -n suse-observability
Admin-Passwort
Für die alte Methode wurde das adminPassword als Klartext an das suse-observability-values Chart übergeben, das es in einen bcrypt-Hash umgewandelt hat. Bei der neuen Methode können Sie den Klartext adminPassword an das suse-observability Chart übergeben oder den bcrypt-Hash direkt an das suse-observability Chart unter Verwendung von adminPasswordBcrypt bereitstellen.
Wenn Sie einen neuen bcrypt-Hash generieren müssen:
htpasswd -bnBC 10 "" "your-password" | tr -d ':\n'
Fehlerbehebung
Pods, die im Status "Pending" feststecken
Dies deutet normalerweise auf ein Planungsproblem mit Anti-Affinitätsregeln hin. Für Cluster mit begrenzten Knoten verwenden Sie weiche Anti-Affinität:
global:
suseObservability:
affinity:
podAntiAffinity:
requiredDuringSchedulingIgnoredDuringExecution: false # Use soft anti-affinity
Ressourcen unterscheiden sich von der vorherigen Installation
Größenprofile können aktualisierte Ressourcenvorschläge enthalten. Um Ihre vorherigen Einstellungen beizubehalten, fügen Sie explizite Überschreibungen hinzu:
global:
suseObservability:
sizing:
profile: "150-ha"
# Override with your previous resource values
stackstate:
components:
api:
resources:
requests:
memory: 8Gi # Your previous value
Konfigurationsstilkonflikte
Mischen Sie nicht alte und neue Konfigurationsstile. Verwenden Sie entweder:
-
global.suseObservability.*(neuer Stil), ODER -
stackstate.license.key,stackstate.baseUrl, usw. (alter Stil)
# Check for conflicting values
helm get values suse-observability -n suse-observability | grep -E "license|baseUrl"
Wesentliche Unterschiede
| Aspekt | Legacy (suse-observability-values) | Neu (global.suseObservability) |
|---|---|---|
Installationsschritte |
2 (Vorlage + Installation) |
1 (Installation) |
Werteverwaltung |
Generiert, muss gespeichert werden |
Einzige Quelle der Wahrheit |
Profilaktualisierungen |
Manuelle Regeneration erforderlich |
Automatisch mit Chart-Upgrades |
Pull-Secret |
Getrennter Subchart |
Integriert, automatisch konfiguriert |
Victoria Metrics HA |
Manuell |
Automatisch konfiguriert pro Profil |
Affinitätskonfiguration |
Pro-Komponente generiert (getrennte Einstellungen für jeden Dienst) |
Zentralisierte globale Einstellungen (können bei Bedarf pro Komponente überschrieben werden) |
|
Die globale Affinitätskonfiguration bietet Standardeinstellungen für alle Infrastrukturkomponenten. Sie können die Affinität für spezifische Komponenten (wie Elasticsearch oder Kafka) bei Bedarf weiterhin überschreiben, indem Sie Affinitätswerte auf Komponentenebene festlegen. Einstellungen auf Komponentenebene haben Vorrang vor globalen Standardeinstellungen. |
Löschoptionen
Nach erfolgreicher Migration können Sie:
-
Entfernen Sie die generierten Werte-Dateien (sie werden nicht mehr benötigt)
-
Aktualisieren Sie Ihre Implementierungsskripte, um die neue Ein-Schritt-Installation zu verwenden
-
Entfernen Sie alle Verweise auf
suse-observability-valuesChart in Ihren CI/CD-Pipelines