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 |
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 |
-
Empfohlene Methode
-
Veraltete Methode (Ausgelaufen)
|
Die |
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 |
Die Werte, die an dieses Chart übergeben werden können, sind:
| Konfiguration | Wert | Beschreibung |
|---|---|---|
Basis-Konfiguration generieren |
|
Aktivieren oder deaktivieren Sie die Generierung der |
Empfänger-API-Schlüssel |
|
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 |
|
Der Punkt |
Benutzername und Passwort** |
|
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 |
|
Der SUSE® Observability Lizenzschlüssel. |
Standardkennwort |
|
Das Passwort für den Standardbenutzer ( |
Bild-Registry |
|
Die Registry, in der die SUSE® Observability Bilder gehostet werden. Wenn nicht angegeben, ist der Standardwert 'quay.io' |
Pull Secret Benutzername |
|
Der Benutzername, der verwendet wird, um Bilder aus der Docker-Registry abzurufen, in der die SUSE® Observability Bilder gehostet werden. |
Pull Secret Passwort |
|
Das Passwort, das verwendet wird, um Bilder aus der Docker-Registry abzurufen, in der die SUSE® Observability Bilder gehostet werden. |
Größen generieren |
|
Aktivieren oder deaktivieren Sie die Generierung der |
Größenprofil |
|
OneOf-Test, 10-nonha, 20-nonha, 50-nonha, 100-nonha, 150-ha, 250-ha, 500-ha. Basierend auf diesen Profilen können Sie die |
Pod AntiAffinity |
|
Durchsetzen, dass die Replikate der gleichen Datenservices auf verschiedenen Kubernetes-Knoten geplant werden. Nur anwendbar für |
|
Speichern Sie die generierten |
|
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:
-
Bevor Sie bereitstellen:
-
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:
-
Bevor Sie bereitstellen:
-
Stellen Sie die neueste SUSE® Observability-Version im
suse-observability-Namespace mit folgendem Befehl bereit:
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:
-
Bevor Sie bereitstellen:
-
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:
-
Bevor Sie bereitstellen:
-
Stellen Sie die neueste SUSE® Observability-Version im
suse-observability-Namespace mit folgendem 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 \
--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
-
Für weitere Konfigurations- und Verwaltungsoptionen konsultieren Sie die Kubernetes-Dokumentation - Verwalten Sie eine SUSE® Observability Kubernetes-Installation