Den Installer ausführen
Bevor du beginnst
config.yaml und die verschlüsselte prod.vault.yaml sollten auf der Jumpbox
abgelegt sein, und DNS-Einträge sollten angelegt oder ausdrücklich
zurückgestellt sein (siehe
Secrets verschlüsseln und DNS konfigurieren).
Das Installer-Paket beziehen
Durchsuche die verfügbaren Codesphere-Pakete und lade das gewählte Installer-Build auf der Jumpbox herunter:
oms list packages
oms download package --version <version>
Codesphere installieren
Codesphere benötigt ein Secrets-Verzeichnis, aber oms install codesphere
hat kein separates Flag --secrets-dir. Setze das Verzeichnis in
/etc/codesphere/config.yaml:
secrets:
baseDir: /etc/codesphere/secrets
Das konfigurierte Verzeichnis sollte dem Verzeichnis entsprechen, das die
über --vault übergebene Datei enthält. Bestätige vor der Installation, dass
das Verzeichnis und die erforderlichen Dateien vorhanden und nur für Root
lesbar sind:
install -d -m 0700 /etc/codesphere/secrets
chmod 0600 /etc/codesphere/secrets/age_key.txt
chmod 0600 /etc/codesphere/secrets/prod.vault.yaml
test -r /etc/codesphere/secrets/age_key.txt
test -r /etc/codesphere/secrets/prod.vault.yaml
Führe die Installation von der Jumpbox aus. Das Lite-Paket enthält nicht die
Plattform-Container-Images, überspringe daher load-container-images; der
Cluster bezieht sie direkt von GHCR mit den Zugangsdaten aus dem Vault:
oms install codesphere \
--config /etc/codesphere/config.yaml \
--priv-key /etc/codesphere/secrets/age_key.txt \
--vault /etc/codesphere/secrets/prod.vault.yaml \
--package <downloaded-installer-lite-package>.tar.gz \
--skip-steps load-container-images
Für die Installation in dieser Anleitung wird nur load-container-images
übersprungen, da installer-lite.tar.gz keine Plattform-Images enthält.
Siehe Installationsschritte und Profile
für die vollständige Liste der Schritte, was jeder --skip-steps-Name
umgeht, und wie Skips in config.yaml dauerhaft gemacht werden. Übernimm
keine anderen Skip-Steps in einen erneuten Lauf, ohne zu prüfen, welche
Voraussetzungen bereits vorhanden sind.
Der kombinierte Befehl installiert in dieser Reihenfolge:
- Kopiert und extrahiert Abhängigkeiten.
- Überspringt das Laden gebündelter Container-Images, da die Knoten sie von GHCR beziehen.
- Installiert SOPS und die Container-Laufzeitabhängigkeiten.
- Installiert oder konfiguriert PostgreSQL.
- Installiert und konfiguriert Ceph.
- Installiert und konfiguriert k0s, wenn Kubernetes Codesphere-verwaltet ist.
- Installiert Argo CD, Cluster-Abhängigkeiten und Managed-Service-Backends.
- Installiert die Codesphere-Plattform.
Die Installation kann auch als separate Phasen infra, dependencies und
platform ausgeführt werden, wenn die betriebliche Änderungskontrolle
eigenständige Prüfpunkte erfordert.
Die Infrastrukturintegration abschließen
Falls die gewählte Infrastruktur einen Kubernetes-Cloud-Controller benötigt, installiere und konfiguriere dessen unterstützte Provider-Integration und aktiviere den externen Cloud-Provider-Modus auf dem k0s-Controller und den Workern. Verwende nur Manifeste und Service-Annotationen, die für diese Infrastruktur vorgesehen sind.
Bestätige, dass die drei Services ihre reservierten Adressen erhalten:
alias kubectl='/etc/codesphere/deps/kubernetes/files/k0s kubectl'
kubectl get services -n codesphere -o wide | grep LoadBalancer
Die Services gateway-controller, public-gateway-controller und
ssh-workspace-proxy müssen ihre beabsichtigten Adressen behalten. Falls die
Lastverteilungs-Implementierung sie nicht aus config.yaml zuweist, patche
oder annotiere die Services über den unterstützten Mechanismus dieser
Implementierung und mache die Änderung anschließend in der
Installationskonfiguration dauerhaft. Siehe
Gateway und Lastverteilung.
Falls die DNS-Konfiguration zurückgestellt wurde, weil diese externen Adressen noch nicht verfügbar waren, lege jetzt die in DNS konfigurieren beschriebenen Einträge an und verifiziere sie.
Die Installation verifizieren
Führe diese Prüfungen durch, bevor du die Umgebung übergibst:
- Alle k0s-Knoten sind
Ready. - Ceph meldet einen gesunden Zustand, und alle erwarteten OSDs sind auf allen drei POC-Hosts oder mindestens vier Produktions-Hosts vorhanden.
- Die drei Lastverteilungs-Services haben die reservierten externen Adressen.
https://<base-domain>präsentiert ein vertrauenswürdiges Zertifikat und lädt Codesphere.- Ein Workspace kann erstellt, über HTTPS erreicht und über den Workspace-SSH-Proxy erreicht werden.
Führe den Codesphere-Smoketest aus, wenn ein API-Key für die Umgebung verfügbar ist:
oms smoketest codesphere --help
Was du jetzt haben solltest
- Codesphere installiert, wobei alle obigen Verifizierungsprüfungen erfolgreich sind.
- Das Platform-Gateway, das Workspace-Gateway und der Workspace-SSH-Proxy unter ihren beabsichtigten DNS-Namen erreichbar.
Weiter geht's
Für den laufenden Betrieb siehe Upgrades und Wartung und Cluster-Monitoring. Um Codesphere auf einer einzelnen Maschine statt in dieser Mehr-Host-Topologie zu evaluieren, siehe Single-Node-Evaluierungsinstallation.