Netzwerk, Firewalls und DNS
Privates Netzwerk und CIDR-Regeln
Platziere alle Maschinen in einem privaten, gerouteten Netzwerk, zum Beispiel
10.10.0.0/20. Jedes nicht überlappende private CIDR ist geeignet, sofern
dasselbe CIDR als ceph.nodesSubnet in der Installationskonfiguration
hinterlegt wird.
Stelle uneingeschränkte Kommunikation zwischen Codesphere-Hosts im privaten Netzwerk sicher. Kubernetes-, Ceph-, PostgreSQL-, Container-Registry- und SSH-Traffic durchqueren alle dieses Netzwerk. Falls interne Firewalls restriktiv sein müssen, leite eine explizite Port-Matrix für die gewählten Kubernetes- und Ceph-Versionen ab und teste sie vor der Installation.
Hosts ohne öffentliche Adressen benötigen ausgehenden Zugriff über NAT oder einen HTTP-Proxy. Sie müssen Paket-Repositories, die gewählte Container-Registry, Zertifikats-Endpunkte und alle vom Installer referenzierten Quell-URLs erreichen können.
Vermeide CIDR-Überlappungen zwischen dem Host-Netzwerk, dem Kubernetes-Pod-Netzwerk, dem Kubernetes-Service-Netzwerk, verbundenen Unternehmensnetzwerken und VPNs.
Externen Zugriff und Firewalls konfigurieren
Reserviere drei stabile externe Adressen und verbinde sie mit
Kubernetes-LoadBalancer-Services über die Lastverteilungs-Implementierung
der Infrastruktur:
- Das Platform-Gateway bedient HTTP und HTTPS.
- Das öffentliche Workspace-Gateway bedient Workspace-HTTP- und HTTPS-Traffic.
- Der Workspace-SSH-Proxy bedient SSH-Traffic für Workspaces.
Installiere und konfiguriere in einer Public Cloud den Kubernetes-Cloud-Controller bzw. die Lastverteilungs-Integration des jeweiligen Anbieters. Konfiguriere auf Bare Metal oder anderer Infrastruktur ohne native Implementierung MetalLB mit einem Adresspool, der die reservierten Adressen enthält. Siehe Gateway und Lastverteilung. Die Adressen müssen über Service- und Node-Neustarts hinweg stabil bleiben. Falls die Integration erst nach dem Start von Kubernetes abgeschlossen werden kann, schließe sie in Die Infrastrukturintegration abschließen ab.
Wende diese Boundary-Firewall-Regeln an:
| Quelle | Ziel | Ports | Zweck |
|---|---|---|---|
| Vertrauenswürdige Administrationsnetzwerke | Jumpbox | TCP 22 | Administration |
| Internet | Platform-Gateway | TCP 80, 443 | Codesphere-UI und -API; ACME HTTP-01 bei Verwendung |
| Internet | Workspace-Gateway | TCP 80, 443 | Gehostete Workspaces und benutzerdefinierte Domains |
| Internet | Workspace-SSH-Proxy | TCP 22 | Workspace-SSH |
| Codesphere-privates Netzwerk | Alle Codesphere-Hosts | Gesamter erforderlicher interner Traffic | Kubernetes, Ceph, PostgreSQL, Registry und SSH |
| Codesphere-Hosts | Internet oder genehmigte Proxys | Erforderlicher ausgehender Traffic | Pakete, Images, Zertifikate und Integrationen |
Exponiere SSH oder PostgreSQL nicht gegenüber 0.0.0.0/0. PostgreSQL TCP 5432
muss normalerweise nur von Codesphere-Hosts und genehmigten
Administrations- oder Monitoring-Netzwerken erreichbar sein.
DNS-Einträge
Drei stabile externe Adressen werden auf vier DNS-Einträge abgebildet. Das Platform-Gateway bedient sowohl die reine Basisdomain als auch die Data-Center-spezifische Domain; nur die Wildcard unter der Data-Center-spezifischen Domain routet zum Workspace-Gateway:
| Eintrag | Kubernetes-Service | Ziel |
|---|---|---|
<base-domain> | gateway-controller | Platform-Gateway-IP |
<dc-id>.<base-domain> | gateway-controller | Platform-Gateway-IP |
*.<dc-id>.<base-domain> | public-gateway-controller | Workspace-Gateway-IP |
<dc-id>.ssh.<base-domain> | ssh-workspace-proxy | Workspace-SSH-Proxy-IP |
Diese Einträge werden im Rahmen von Die Secrets verschlüsseln und DNS konfigurieren angelegt, sobald die Adressen bekannt sind. Plane die DNS-Zone und Delegation bereits jetzt, damit dieser Schritt später nicht blockiert wird.
Zertifikatsoptionen
Wähle einen Zertifikats-Issuer für die Plattform: eine selbstsignierte CA, eine
Organisations-CA oder ACME (DNS-01 oder HTTP-01). Siehe
Cluster-Ingress-CA-Optionen für
die unterstützten certIssuer-Typen und ihre Vault-Anforderungen. Stelle bei
Verwendung von ACME sicher, dass die DNS-Zone den gewählten Solver
unterstützt, oder dass TCP 80 das Platform-Gateway für HTTP-01 erreicht.
Weiter geht's
Weiter geht es mit Hosts bereitstellen.