Zum Hauptinhalt springen
Version: Weekly Build

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.