In einem von Kubespray bereitgestellten Cluster ist beim Testen der IPV-Konfiguration mit der Dateikonfigurationsoption in inventory/group_vars/k8s-cluster/k8s-cluster.yml der Proxy-Modus eingestellt
kube_proxy_mode: ipvs
Auf dem IPvs-Cluster läuft kube-proxy auf Port 80 und 443
netstat -tunlp|grep proxy
tcp 0 0 10.144.104.83:80 0.0.0.0:* LISTEN 19455/kube-proxy
tcp 0 0 10.144.104.83:443 0.0.0.0:* LISTEN 19455/kube-proxy
tcp 0 0 127.0.0.1:10249 0.0.0.0:* LISTEN 19455/kube-proxy
Nginx Ingress stürzt ständig ab
bind() to 0.0.0.0:443 failed (98: Address already in use)
Auf einem Cluster, der auf die gleiche Weise bereitgestellt wird, außer dass der Proxy-Modus == iptables ist
netstat -tunlp|grep 443
tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN 5367/nginx: master
tcp6 0 0 :::443 :::* LISTEN 5367/nginx: master
netstat -tunlp|grep proxy
tcp 0 0 127.0.0.1:10249 0.0.0.0:* LISTEN 28827/kube-proxy
Gibt es eine Option, die ich übersehen habe, um den Kube-Proxy so zu ändern, dass er die Ports 80 und 443 erhält, oder gibt es eine Option, die ich übersehen habe, um die Ausführung eines Ingress mit IPVs zu unterstützen?
Antwort1
Hinweis: Die Installation von nginx-ingress erfolgt über ein Helm-Chart
Auflösung:
IPvs-Modus mit externer IP öffnete einen Kube-Proxy-Listener
Das Entfernen des Arrays der externen IPs, d. h. controller.service.externalIPs[0], deaktiviert diesen Modus