Installation von SUSE® Observability im Air-Gapped-Modus
Dieses Dokument bietet eine Schritt-für-Schritt-Anleitung zur Installation von SUSE® Observability mit Helm-Charts in einer Air-Gapped-Umgebung. Der Prozess umfasst die Vorbereitung der erforderlichen Docker-Images und Helm-Charts auf einem Host mit Internetzugang, das Übertragen dieser auf einen Host innerhalb eines privaten Netzwerks, das Kopieren der Docker-Images in eine private Registry und anschließend das Bereitstellen der Helm-Charts.
Voraussetzungen
Auf dem lokalen Host (Internet-Zugriff)
-
Betriebssystem: Linux oder MacOS
-
Installierte Tools:
-
Skripte zum Herunterladen von Docker-Images aus dem Quell-Registry (Links werden später in diesem Handbuch bereitgestellt).
-
Internet-Zugriff: Erforderlich, um Docker-Images von Quay.io und Helm-Charts von ChartMuseum abzurufen.
Auf dem Host im privaten Netzwerk
-
Zugriff: SSH-Zugriff auf den Host.
-
Installierte Tools:
-
Skripte zum Herunterladen von Docker-Images aus dem Quell-Registry (Links werden später in diesem Handbuch bereitgestellt).
-
Netzwerkzugang und Anmeldeinformationen zum Hochladen von Images in ein privates Repository.
-
Eine konfigurierte Kubeconfig zur Installation der Helm-Charts auf den Ziel-Clustern.
Vorbereitung der Docker-Images und Helm-Charts
Führen Sie die folgenden Befehle auf dem lokalen Host aus, um die erforderlichen Docker-Images und Helm-Charts zu erhalten:
Hinzufügen von Helm-Repositories zum lokalen Helm-Cache:
# Adding the Helm repository for {stackstate-product-name}
helm repo add suse-observability https://charts.rancher.com/server-charts/prime/suse-observability
helm repo update
Abrufen der neuesten Versionen der Charts. Diese Befehle laden TGZ-Archive der Charts herunter:
# Downloading the chart for {stackstate-product-name}
# The file will be named suse-observability-k8s-A.B.C.tgz
helm fetch suse-observability/suse-observability
# Downloading the helper chart that generates values for {stackstate-product-name}
# The file will be named suse-observability-values-L.M.N.tgz
helm fetch suse-observability/suse-observability-values
Herunterladen der Bash-Skripte zum Speichern von Docker-Images:
# o11y-get-images.sh
curl -LO https://raw.githubusercontent.com/StackVista/helm-charts/master/stable/suse-observability/installation/o11y-get-images.sh
# o11y-save-images.sh
curl -LO https://raw.githubusercontent.com/StackVista/helm-charts/master/stable/suse-observability/installation/o11y-save-images.sh
# Make the scripts executable
chmod a+x o11y-get-images.sh o11y-save-images.sh
Extrahieren und Speichern von Docker-Images:
# Extract the list of images from the Helm chart and save it to a file.
./o11y-get-images.sh -f suse-observability-A.B.C.tgz > o11y-images.txt
|
Ersetzen Sie |
# Save Docker images to an archive.
# The script expects the file o11y-images.txt to contain the list of images used by {stackstate-product-name}.
# The Docker images will be saved to o11y-images.tar.gz.
./o11y-save-images.sh -i o11y-images.txt -f o11y-images.tar.gz
Kopieren der erforderlichen Dateien auf den Remote-Host
Kopieren Sie die folgenden Dateien vom lokalen Host auf den Host im privaten Netzwerk:
-
o11y-images.txt (Liste der von dem SUSE® Observability-Chart benötigten Images)
-
o11y-images.tar.gz (Ein Archiv mit den Docker-Images von SUSE® Observability)
-
o11y-load-images.sh (Bash-Skript zum Hochladen von Docker-Images in eine Registry)
-
Früher heruntergeladene Helm-Charts:
-
suse-observability-A.B.C.tgz
-
suse-observability-values-L.M.N.tgz
-
Wiederherstellen von Docker-Images aus dem Archiv in das private Repository
Hochladen der Images in die private Registry:
# Load Docker images from the archive and push them to the private registry.
# Replace <private-registry> with your private registry's URL.
export DST_REGISTRY_USERNAME="..."
export DST_REGISTRY_PASSWORD="..."
./o11y-load-images.sh -d registry.example.com:5043 -i o11y-images.txt -f o11y-images.tar.gz
|
Wenn die Ziel-Registry keine Authentifizierung verwendet, dürfen die Umgebungsvariablen |
Installieren von SUSE® Observability
Die Installation der SUSE® Observability Helm-Charts in einer Air-Gapped-Umgebung erfordert das Überschreiben der in den Docker-Image-URLs verwendeten Registries. Dieses Handbuch folgt dem Installations Setup, verwendet jedoch vorab heruntergeladene Helm-Archive und private Docker-Registries.
-
Empfohlene Methode
-
Legacy-Methode (Veraltet)
|
Die |
Erstellen Sie eine values.yaml Datei mit Ihrer Konfiguration, einschließlich der privaten Registry:
global:
# Required: Your private registry URL
imageRegistry: "registry.example.com:5043"
suseObservability:
# Required: Your {stackstate-product-name} license key
license: "YOUR-LICENSE-KEY"
# Required: Base URL for {stackstate-product-name}
baseUrl: "https://observability.example.com"
# Required: Sizing profile
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: Pull secret for private registry authentication
pullSecret:
username: "registry-user"
password: "registry-pass"
Bereitstellen mit dem heruntergeladenen Chart-Archiv:
helm upgrade --install \
--namespace suse-observability \
--create-namespace \
--values values.yaml \
suse-observability \
suse-observability-A.B.C.tgz
|
Mit der empfohlenen Methode müssen Sie nur das |
|
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. |
Erstellen Sie eine private-registry.yaml Datei mit folgendem Inhalt:
global:
imageRegistry: registry.example.com:5043
Befehl zum Generieren der Helm-Chart-Werte-Datei:
export VALUES_DIR=.
helm template \
--set license='<licenseKey>' \
--set baseUrl='<baseURL>' \
--set rancherUrl='<rancherURL>' \
--set sizing.profile='<sizing.profile>' \
suse-observability-values suse-observability-values-L.M.N.tgz \
--output-dir $VALUES_DIR
Wenn die private Registry eine Authentifizierung erfordert, fügen Sie den Benutzernamen und das Passwort für das Pull-Secret hinzu:
export VALUES_DIR=.
helm template \
--set license='<licenseKey>' \
--set baseUrl='<baseURL>' \
--set rancherUrl='<rancherURL>' \
--set sizing.profile='<sizing.profile>' \
--set pullSecret.username='registry-user' \
--set pullSecret.password='registry-pass' \
suse-observability-values suse-observability-values-L.M.N.tgz \
--output-dir $VALUES_DIR
Bereitstellung des SUSE® Observability Helm-Charts:
helm upgrade --install \
--namespace suse-observability \
--create-namespace \
--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 private-registry.yaml \
suse-observability \
suse-observability-A.B.C.tgz
Validierung der Bereitstellung:
kubectl get pod -n suse-observability