OpenShift-Cluster erfordern eine sorgfältig geplante und konfigurierte Netzwerkinfrastruktur, die weit über grundlegende Internetkonnektivität hinausgeht. Die Netzwerkarchitektur muss verschiedene Kommunikationsebenen zwischen Cluster-Komponenten, Container-Anwendungen und externen Systemen ermöglichen, während gleichzeitig Sicherheit und Performance gewährleistet werden.
Die Komplexität der Netzwerkanforderungen steigt erheblich bei Multi-Node-Clustern, wo zusätzlich Load Balancer, erweiterte DNS-Konfigurationen und komplexe Firewall-Regeln berücksichtigt werden müssen. Single-Node-Installationen haben vereinfachte Netzwerkanforderungen, benötigen jedoch weiterhin korrekte DNS-Auflösung und Internetkonnektivität.
DNS-Services bilden das Fundament jeder OpenShift-Installation, da sowohl interne Cluster-Kommunikation als auch externe Service-Zugriffe auf korrekte Namensauflösung angewiesen sind. Fehlkonfigurierte DNS-Einstellungen führen zu Cluster-Instabilitäten und Service-Ausfällen.
Forward-DNS-Auflösung muss für alle Cluster-Nodes und externe Services funktionieren. Jeder Node benötigt einen vollqualifizierten Domainnamen (FQDN), der von allen anderen Cluster-Nodes aufgelöst werden kann. Kurze Hostnamen sind nicht ausreichend und können zu Kommunikationsfehlern führen.
Reverse-DNS-Lookups sind ebenso kritisch und müssen für alle Node-IP-Adressen konfiguriert werden. OpenShift-Komponenten nutzen Reverse-Lookups für Authentifizierung und Autorisierung, weshalb fehlende oder inkorrekte PTR-Records zu Service-Problemen führen können.
Wildcard-DNS-Einträge ermöglichen die dynamische Erstellung von
Application-Routes ohne manuelle DNS-Konfiguration für jede Anwendung.
Ein Wildcard-Record der Form *.apps.cluster.example.com
leitet alle Subdomain-Anfragen an den OpenShift-Router weiter, der die
Anfragen an die entsprechenden Container-Services weiterleitet.
Beispiel-DNS-Konfiguration:
master1.cluster.example.com A 192.168.1.10
master2.cluster.example.com A 192.168.1.11
master3.cluster.example.com A 192.168.1.12
api.cluster.example.com A 192.168.1.100 (Load Balancer VIP)
*.apps.cluster.example.com A 192.168.1.101 (Ingress VIP)
Interne DNS-Services innerhalb des Clusters werden automatisch von OpenShift verwaltet, erfordern jedoch korrekte Upstream-DNS-Server-Konfiguration. Die Cluster-DNS verwendet CoreDNS und muss externe Domains auflösen können, während interne Service-Namen automatisch verwaltet werden.
DNS-Caching und TTL-Werte beeinflussen die Performance und das Verhalten bei Node-Änderungen. Niedrige TTL-Werte (300-600 Sekunden) ermöglichen schnelle Updates bei Cluster-Änderungen, können jedoch die DNS-Last erhöhen.
OpenShift verwendet mehrere überlappende Netzwerkebenen, die sorgfältig geplant werden müssen, um IP-Adresskonflikte zu vermeiden. Die verschiedenen Netzwerkbereiche dienen unterschiedlichen Zwecken und müssen eindeutig voneinander getrennt sein.
| Netzwerktyp | Standard-CIDR | Zweck | Erreichbarkeit |
|---|---|---|---|
| Machine Network | 192.168.1.0/24 | Node-IP-Adressen | Extern erreichbar |
| Pod Network | 10.128.0.0/14 | Container-IPs | Nur clusterintern |
| Service Network | 172.30.0.0/16 | Service-VIPs | Nur clusterintern |
| Host Network | Node-abhängig | Host-Prozesse | Extern erreichbar |
Host-Netzwerke umfassen die IP-Adressen der physischen oder virtuellen Nodes, auf denen OpenShift-Komponenten ausgeführt werden. Diese Adressen müssen aus dem regulären Unternehmens- oder Data-Center-Netzwerk stammen und für alle Cluster-Nodes erreichbar sein.
Machine-CIDR definiert den IP-Adressbereich für die Cluster-Nodes und muss aus dem verfügbaren Unternehmens-IP-Bereich stammen. Dieser Bereich muss ausreichend groß sein, um alle geplanten Cluster-Nodes zu umfassen und zukünftige Erweiterungen zu ermöglichen.
Pod-Netzwerke verwenden interne IP-Adressbereiche für die Container-zu-Container-Kommunikation innerhalb des Clusters. Standardkonfigurationen nutzen 10.128.0.0/14, wodurch etwa 262.000 Pod-IP-Adressen verfügbar werden. Diese Bereiche müssen sich nicht mit externen Netzwerken überschneiden, da sie nur clusterintern genutzt werden.
Service-Netzwerke stellen virtuelle IP-Adressen für Kubernetes-Services bereit und verwenden typischerweise 172.30.0.0/16. Service-IPs sind cluster-intern und werden nie extern geroutet, müssen jedoch eindeutig sein, um Konflikte mit anderen internen Netzwerkbereichen zu vermeiden.
Ingress-VIP und API-VIP sind spezielle IP-Adressen für Load Balancer-Funktionen in Multi-Node-Clustern. Diese Adressen müssen aus dem Machine-CIDR-Bereich stammen, dürfen jedoch nicht durch DHCP vergeben werden, da sie statisch konfiguriert werden müssen.
OpenShift-Cluster benötigen umfangreiche Firewall-Konfigurationen für die Kommunikation zwischen verschiedenen Cluster-Komponenten. Die Vielzahl erforderlicher Ports und Protokolle erfordert systematische Firewall-Planung und -Implementierung.
Master-Node-Kommunikation:
| Port | Protokoll | Zweck | Zugriff von |
|---|---|---|---|
| 6443 | TCP | Kubernetes API Server | Alle Nodes, Clients |
| 2379-2380 | TCP | etcd Server/Client API | Nur Master-Nodes |
| 10250 | TCP | Kubelet API | Master-Nodes |
| 10251 | TCP | kube-scheduler | Localhost |
| 10252 | TCP | kube-controller-manager | Localhost |
Worker-Node-Kommunikation:
| Port | Protokoll | Zweck | Zugriff von |
|---|---|---|---|
| 10250 | TCP | Kubelet API | Master-Nodes |
| 10256 | TCP | kube-proxy Health Check | Localhost |
| 30000-32767 | TCP/UDP | NodePort Services | Extern (optional) |
Container-Netzwerk-Ports variieren je nach gewählter Container Network Interface (CNI):
OpenShift SDN: - 4789/UDP: VXLAN-Tunneling zwischen Nodes
OVN-Kubernetes: - 6081/UDP: Geneve-Tunnels - 6641/TCP: OVN Southbound DB - 6642/TCP: OVN Northbound DB
Application-Traffic-Ports hängen von den bereitgestellten Services ab:
Multi-Node-OpenShift-Cluster erfordern Load Balancer für die Verteilung von API-Traffic und Application-Traffic auf mehrere Nodes. Load Balancer-Konfigurationen beeinflussen sowohl Verfügbarkeit als auch Performance des gesamten Clusters.
Der API-Load Balancer verteilt Kubernetes-API-Traffic auf alle verfügbaren Master-Nodes und stellt einen einzigen Endpunkt für Cluster-Management bereit.
Konfigurationsanforderungen: - Port: 6443/TCP - Protokoll: TCP (keine SSL-Terminierung) - Backend-Pool: Alle Master-Nodes - Health Check: GET /healthz auf Port 6443
Application-Load Balancer verteilen eingehenden Application-Traffic auf OpenShift-Router-Pods, die auf Infrastructure- oder Worker-Nodes ausgeführt werden.
Konfigurationsanforderungen: - Ports: 80/TCP, 443/TCP - Backend-Pool: Router-Nodes - SSL-Terminierung: Optional (kann in Router-Pods erfolgen) - Health Check: GET /stats auf Router-Stats-Port
Hardware-Load Balancer: - F5 BIG-IP: Enterprise-Features, SSL-Offloading - Citrix ADC: Application-aware Load Balancing - A10 Thunder: High-Performance Load Balancing
Software-Load Balancer: - HAProxy: Open Source, weit verbreitet - NGINX Plus: Commercial mit erweiterten Features - Keepalived + HAProxy: High-Availability-Setup
OpenShift-Installationen benötigen typischerweise Internetkonnektivität für verschiedene Zwecke, von Container-Image-Downloads bis hin zu Operator-Updates. Hochsicherheitsumgebungen können jedoch vollständig offline installiert und betrieben werden.
Container-Image-Repositories sind die häufigste Quelle für Internettraffic in OpenShift-Clustern:
Offizielle Repositories: -
registry.redhat.io: Red Hat-zertifizierte Images -
quay.io: Red Hat Quay Container Registry -
registry.access.redhat.com: Legacy Red Hat Registry
Community-Repositories: - docker.io:
Docker Hub (Standard Docker Registry) - gcr.io: Google
Container Registry - ghcr.io: GitHub Container Registry
Operator-Hub-Zugriffe ermöglichen die Installation zusätzlicher Cluster-Operatoren aus dem Red Hat Operator Hub. Diese Funktionalität erfordert Internetkonnektivität zu Red Hat-Services:
marketplace.redhat.com: Red Hat Marketplacecatalog.redhat.com: Operator-Catalogsquay.io/openshift-release-dev: Release-ImagesRed Hat Telemetry sammelt anonymisierte Cluster-Metriken für Support- und Entwicklungszwecke:
console.redhat.com: Red Hat Hybrid Cloud Consoleapi.openshift.com: OpenShift Cluster Managercert-api.access.redhat.com: Certificate ServicesAir-Gapped-Installationen erfordern umfangreiche Vorbereitung durch das Erstellen lokaler Mirrors aller benötigten Container-Images und Update-Repositories.
Erforderliche Komponenten: - Mirror Registry: Lokale Container-Registry mit allen benötigten Images - Update Service: Lokaler Mirror der OpenShift-Update-Services - Operator Catalog: Lokale Kopien der Operator-Catalogs - Certificate Authority: Interne CA für Registry-Zertifikate
Vorbereitung: 1. Mirror alle benötigten Container-Images in lokale Registry 2. Konfiguriere Cluster für Nutzung der Mirror-Registry 3. Synchronisiere regelmäßig Updates von Upstream-Repositories 4. Teste Image-Pull-Vorgänge vor Production-Deployment
Proxy-Konfigurationen ermöglichen Internetkonnektivität in Umgebungen mit eingeschränktem direkten Internetzugang. OpenShift unterstützt HTTP- und HTTPS-Proxies für ausgehenden Traffic.
Unterstützte Proxy-Typen: - HTTP Proxy: Für unverschlüsselten Traffic - HTTPS Proxy: Für verschlüsselten Traffic - SOCKS Proxy: Für TCP-basierte Verbindungen
Konfiguration:
# Cluster-weite Proxy-Konfiguration
oc edit proxy/cluster
# Pod-spezifische Proxy-Einstellungen
HTTP_PROXY=http://proxy.example.com:8080
HTTPS_PROXY=http://proxy.example.com:8080
NO_PROXY=localhost,127.0.0.1,.local,.svcOpenShift-Netzwerk-Performance hängt von verschiedenen Faktoren ab, die bei der Infrastruktur-Planung berücksichtigt werden müssen.
Inter-Node-Kommunikation: - Minimum: 1 Gbit zwischen allen Nodes - Empfohlen: 10 Gbit für größere Cluster (>50 Nodes) - Storage-Traffic: Zusätzliche Bandbreite für NFS/iSCSI
Latenz-Anforderungen: - etcd-Kommunikation: < 10ms zwischen Master-Nodes - Pod-zu-Pod: < 5ms innerhalb des gleichen Racks - External Load Balancer: < 2ms zu Frontend-Services
Netzwerk-QoS kann für kritische OpenShift-Traffic konfiguriert werden:
Prioritäts-Klassen: 1. Höchste Priorität: etcd-Kommunikation, API-Server-Traffic 2. Hohe Priorität: System-Pods, Monitoring-Services 3. Standard-Priorität: Application-Pods 4. Niedrige Priorität: Batch-Jobs, Backup-Traffic
OpenShift bietet integrierte Netzwerk-Monitoring-Funktionen, die bei der Diagnose von Netzwerkproblemen helfen.
Wichtige Metriken: - Netzwerk-Latenz zwischen Nodes - Paketloss-Raten im Overlay-Network - DNS-Auflösungszeiten und -Fehlerrate - Load Balancer-Response-Zeiten
Troubleshooting-Tools: -
oc debug node/<node-name>: Node-Netzwerk-Debugging -
oc get network.operator: CNI-Status überprüfen -
oc get dns.operator: DNS-Operator-Status - Network
Policy-Analyzer für Connectivity-Tests