Architektur
Host-Topologie
Die Jumpbox ist der einzige administrative Zugangspunkt. Von dort aus installiert und konfiguriert OMS PostgreSQL, Ceph, Kubernetes und die Codesphere-Plattform. Siehe Anforderungen und Dimensionierung für Maschinenanzahl und Dimensionierung.
Infrastrukturkomponenten
- Kubernetes: Codesphere-verwaltete Cluster laufen auf k0s (fixiert auf eine unterstützte 1.31.x-Version) mit Calico als CNI. Es kann stattdessen auch ein bestehender Kubernetes-Cluster verwendet werden; siehe Einen bestehenden Kubernetes-Cluster verwenden.
- Storage: Ceph, installiert und verwaltet über
cephadmauf dedizierten Hosts — nicht Rook-verwaltetes Ceph. Innerhalb des Clusters verbindet sich Rook mit diesem Ceph-Cluster als externer Cluster, um die CSI-Treiber bereitzustellen, die Workloads für persistenten Storage nutzen. - PostgreSQL: entweder vom Installer installiert und verwaltet
(
postgres.mode: install) oder eine externe Datenbank, die du selbst betreibst (postgres.mode: external). - Ingress und Gateways: zwei Kubernetes-
Services stellen Codesphere bereit — das Platform-Gateway (gateway-controller) und das Workspace-Gateway (public-gateway-controller) — geroutet über Envoy Gateway (die Kubernetes-Gateway-API-Implementierung) neben ingress-nginx. Siehe Gateway und Lastverteilung. - Zertifikate:
cert-managerundtrust-managerstellen die TLS-Zertifikate des Clusters aus und verteilen sie; siehe Cluster-Ingress-CA-Optionen. - Lastverteilung: die Kubernetes-Lastverteilungs-Integration eines Cloud-Anbieters oder MetalLB, wo keine existiert; siehe Gateway und Lastverteilung.
- Monitoring: Prometheus, Grafana, Loki und Grafana Alloy, bereitgestellt und konfiguriert wie in Cluster-Monitoring beschrieben.
Codesphere-Plattformdienste
Die Codesphere-Plattform selbst besteht aus einer Reihe von Diensten, die im
Namespace codesphere bereitgestellt werden: frontend-gateway (der
Eingangspunkt, der eingehende Anfragen routet), ide-frontend (die
Web-IDE-Oberfläche), ide-service (IDE-Backend), auth-service (Authentifizierung
und Autorisierung), team-service (Teams und Organisationen), workspace-service
(Workspace-Lebenszyklus), workspace-proxy (leitet Traffic in einen laufenden
Workspace weiter), deployment-service (Deployments und CI/CD),
public-api-service (die öffentliche REST-API), marketplace,
payment-service, error-page-server und otel-collector.
Workspaces selbst laufen in einem separaten Namespace workspaces als
Workspace-Agent-Container, verwaltet von workspace-service.
SSH-Zugriff auf Workspaces
ssh-workspace-proxy ist ein separater Dienst, der SSH-Verbindungen in laufende
Workspaces authentifiziert und routet, bereitgestellt unter der in
Anforderungen und Dimensionierung
beschriebenen Workspace-SSH-Proxy-Adresse.
Bereitstellung
Das Installer-Paket (heruntergeladen über oms download package) enthält die
Abhängigkeiten, die OMS direkt installiert, sowie ein Argo-CD-Bootstrap, das
zusätzliche Cluster-Komponenten (einschließlich ssh-workspace-proxy) als
Argo-CD-Applications installiert. Siehe Den Installer ausführen
für den Installationsablauf und
Installationsschritte und Profile
für die beteiligten Phasen.