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.