Zum Hauptinhalt springen
Version: Weekly Build

Gateway und Lastverteilung

Codesphere exponiert zwei Gateway-Services, jeweils unterlegt von einem Kubernetes-Service:

  • gateway-controller — das Platform-Gateway, bedient <base-domain> und <dc-id>.<base-domain>.
  • public-gateway-controller — das Workspace-Gateway, bedient *.<dc-id>.<base-domain>.

Ein dritter Service, ssh-workspace-proxy, bedient SSH-Traffic zu Workspaces unter <dc-id>.ssh.<base-domain>. Siehe Anforderungen und Dimensionierung und Netzwerk, Firewalls und DNS dazu, wie diese drei Adressen in die Gesamttopologie passen.

cluster.gateway und cluster.publicGateway

Beide werden unabhängig voneinander in config.yaml unter cluster.gateway (Platform-Gateway) und cluster.publicGateway (Workspace-Gateway) konfiguriert:

cluster:
gateway:
serviceType: LoadBalancer # oder ExternalIP
ipAddresses:
- <reserved-platform-gateway-ip>
annotations: {}
publicGateway:
serviceType: LoadBalancer # oder ExternalIP
ipAddresses:
- <reserved-workspace-gateway-ip>
annotations: {}

serviceType ist standardmäßig LoadBalancer. Verwende ExternalIP, wenn die Infrastruktur über keine native Kubernetes-Lastverteilungs-Integration verfügt und Adressen stattdessen direkt Knoten zugewiesen werden. Verwende nur Annotationen, die von der gewählten Lastverteilungs-Implementierung unterstützt werden, oder lasse Annotationen weg, wenn die Implementierung ipAddresses direkt berücksichtigt.

MetalLB

Aktiviere auf Bare Metal oder anderer Infrastruktur ohne native Cloud-Lastverteilungs-Integration MetalLB und definiere einen Adresspool mit den reservierten Adressen:

metallb:
enabled: true
pools:
- name: codesphere-pool
ipAddresses:
- <reserved-platform-gateway-ip>/32
- <reserved-workspace-gateway-ip>/32
l2:
- name: codesphere-l2
pools:
- codesphere-pool

MetalLB unterstützt außerdem BGP-Advertisement (bgp, mit myASN/peerASN/peerAddress pro Pool) anstelle von oder zusätzlich zu Layer-2-Advertisement (l2). MetalLB ist standardmäßig deaktiviert; aktiviere es nur, wenn keine Cloud-Provider-Lastverteilungs-Integration existiert.

Weiter geht's

Siehe Cluster-Ingress-CA-Optionen für die über diese Gateways bereitgestellten Zertifikate und Die Infrastrukturintegration abschließen für die Bestätigung, dass die Services nach der Installation ihre Adressen erhalten.