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: Von Codesphere verwaltete Cluster laufen mit k0s (festgelegt auf eine unterstützte 1.31.x-Version) mit Calico als CNI. Alternativ kann ein bestehender Kubernetes-Cluster verwendet werden; siehe Einen bestehenden Kubernetes-Cluster verwenden.
- Storage: Ceph, installiert und verwaltet über
cephadmauf dedizierten Hosts — nicht von 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 verwenden. - PostgreSQL: entweder vom Installer installiert und verwaltet (
postgres.mode: install) oder eine externe Datenbank, die selbst betrieben wird (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 Implementierung der Kubernetes Gateway API) zusammen mit ingress-nginx. Siehe Gateway und Lastverteilung. - Zertifikate:
cert-managerundtrust-managerstellen die TLS-Zertifikate des Clusters aus und verteilen sie; siehe Optionen für die Cluster-Ingress-CA. - Lastverteilung: die Kubernetes-Load-Balancer-Integration eines Cloud-Anbieters oder MetalLB, falls keine vorhanden ist; siehe Gateway und Lastverteilung.
- Monitoring: Prometheus, Grafana, Loki und Grafana Alloy, bereitgestellt in einem
monitoring-Namespace und konfiguriert wie beschrieben in Cluster-Monitoring.
Codesphere-Plattformdienste
Die Codesphere-Plattform selbst besteht aus einer Reihe von Diensten, die im
codesphere-Namespace bereitgestellt werden: frontend-gateway (die Edge, die eingehende
Anfragen routet), ide-frontend (die Web-IDE-Benutzeroberfläche), ide-service
(IDE-Backend), auth-service (Authentifizierung und Autorisierung), team-service
(Resource Groups und Organisationen), workspace-service (Workspace-Lebenszyklus),
workspace-proxy (leitet Datenverkehr an 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 workspaces-Namespace als
workspace-agent-Container, die von workspace-service verwaltet werden.
SSH-Zugriff auf Workspaces
ssh-workspace-proxy ist ein separater Dienst, der SSH-Verbindungen in laufende
Workspaces authentifiziert und routet. Er ist unter der Workspace-SSH-Proxy-Adresse
erreichbar, die in Anforderungen und Dimensionierung
beschrieben ist.
Bereitstellung
Das Installationspaket (heruntergeladen über oms download package) enthält die
Abhängigkeiten, die OMS direkt installiert, sowie ein Argo CD-Bootstrap, das
zusätzliche Clusterkomponenten (einschließlich ssh-workspace-proxy) als Argo CD
Applications installiert. Siehe Installer ausführen für
den Installationsablauf und Installationsschritte und Profile
für die beteiligten Phasen.