Installationsanleitung
Diese Seite ist die Ablaufkarte für die Installation von Codesphere auf eigener
Infrastruktur. Jeder Abschnitt unten fasst einen Schritt zusammen und verlinkt
zur vollständigen Seite für diesen Schritt. Falls du über einen Link zu einem
bestimmten Schritt hierher gelangt bist (zum Beispiel #configure-dns),
verlinkt die Zusammenfassung dieses Schritts direkt zur detaillierten Seite.
Was die Installation aufbaut
Die Installation verwendet eine Jumpbox als einzigen Einstiegspunkt in ein privates Netzwerk. Von dort aus installiert und konfiguriert OMS PostgreSQL, Ceph, k0s und die Codesphere-Plattform.
Administrator
|
| SSH
v
Jumpbox
|
+-- PostgreSQL-Knoten
+-- 3 oder mehr Ceph-Knoten
`-- 3 oder mehr k0s-Knoten
Internet
|
+-- Platform-Gateway-IP -> <base-domain> und <dc-id>.<base-domain>
+-- Workspace-Gateway-IP -> *.<dc-id>.<base-domain>
`-- Workspace-SSH-Proxy-IP -> <dc-id>.ssh.<base-domain>
Der Installer kann PostgreSQL, Ceph und Kubernetes auf diesen Maschinen verwalten. Eine externe PostgreSQL-Datenbank kann ebenfalls in der Installationskonfiguration beschrieben werden, diese Alternative liegt jedoch außerhalb der in dieser Anleitung behandelten Topologie. Ein bestehender Kubernetes-Cluster kann anstelle des Codesphere-verwalteten k0s-Clusters verwendet werden; siehe Einen bestehenden Kubernetes-Cluster verwenden. Siehe Architektur für die dabei installierten Komponenten im Detail und Installationsoptionen für die Entscheidungen, die vor der Bereitstellung zu treffen sind.
Die Maschinen bereitstellen
Entscheide dich, bevor du irgendetwas bereitstellst, für Domain, Data-Center-Identität, IP-Adressen, Registry-Zugangsdaten und Zugriffsdetails — siehe Anforderungen und Dimensionierung — und wähle eine Topologie (Mindestversionen und die POC-/Produktions-Dimensionierungstabellen stehen ebenfalls in Anforderungen und Dimensionierung).
Für jeden Host dann:
- Platziere ihn in einem privaten, gerouteten Netzwerk ohne CIDR-Überlappung mit den Kubernetes-Pod-/Service-Netzwerken; reserviere die drei externen Adressen und wende die Boundary-Firewall-Regeln an — siehe Netzwerk, Firewalls und DNS.
- Gib der Jumpbox administrativen SSH-Zugriff darauf.
- Wende das erforderliche Kernel-Tuning an.
Siehe Hosts bereitstellen für die konkreten Schritte.
Die Jumpbox vorbereiten
Installiere OMS, sops und age auf der Jumpbox und lege das
Secrets-Verzeichnis an. Siehe
Jumpbox vorbereiten und Konfiguration erzeugen.
Zugriff auf die GitHub Container Registry vorbereiten
Fordere GHCR-Zugangsdaten bei Codesphere an, bevor du die Installationskonfiguration erzeugst. Siehe Jumpbox vorbereiten und Konfiguration erzeugen.
Die Installationskonfiguration und Secrets erzeugen
Führe oms init install-config aus, um config.yaml und prod.vault.yaml zu
erzeugen, wähle ein Profil und verweise optional auf einen bestehenden
Kubernetes-Cluster. Siehe
Jumpbox vorbereiten und Konfiguration erzeugen.
Ein Installationskonfigurationsprofil wählen
Siehe Jumpbox vorbereiten und Konfiguration erzeugen und Installationsschritte und Profile.
Einen bestehenden Kubernetes-Cluster verwenden
Siehe Jumpbox vorbereiten und Konfiguration erzeugen.
Die Secrets verschlüsseln und ablegen
Verschlüssele prod.vault.yaml mit SOPS und age, bevor die Datei deine
Arbeitsstation verlässt. Siehe
Secrets verschlüsseln und DNS konfigurieren.
DNS konfigurieren
Lege die DNS-Einträge für Platform-Gateway, Workspace-Gateway und Workspace-SSH-Proxy an. Siehe Secrets verschlüsseln und DNS konfigurieren.
Codesphere installieren
Lade das Installer-Paket vom Codesphere-Paketportal herunter und führe dann
oms install codesphere von der Jumpbox aus aus. Einzelne Schritte können mit
--skip-steps übersprungen werden; die vollständige Referenz findest du unter
Installationsschritte und Profile.
Siehe Den Installer ausführen
für die konkreten Schritte.
Die Installation verifizieren
Bestätige, dass die Services für Platform-Gateway, Workspace-Gateway und Workspace-SSH-Proxy ihre reservierten Adressen erhalten haben, und anschließend, dass Knoten, Ceph, das Zertifikat und ein Workspace durchgängig funktionieren. Siehe Den Installer ausführen und Die Installation verifizieren.
Wie es weitergeht
Für den laufenden Betrieb siehe Upgrades und Wartung und Cluster-Monitoring. Für installationsspezifische Konfiguration wie Zertifikate, Gateways und Git-Provider siehe Die Plattform konfigurieren. Für das Konfigurationsschema, Vault-Secrets und Installationsschritte siehe Referenz.