В развернутом кластере kubespray для тестирования конфигурации ipvs с параметром конфигурации файла inventory/group_vars/k8s-cluster/k8s-cluster.yml установлен режим прокси-сервера
kube_proxy_mode: ipvs
В кластере ipvs kube-proxy работает на портах 80 и 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 зацикливается на сбоях
bind() to 0.0.0.0:443 failed (98: Address already in use)
На кластере, развернутом таким же образом, за исключением режима прокси == iptables
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
Есть ли какая-то опция, которую я упустил, чтобы изменить kube-proxy, получающий порты 80 и 443, или есть ли опция, необходимая для поддержки запуска Ingress с IPvs, которую я упустил?
решение1
Примечание: установка nginx-ingress выполняется через Helm Chart.
Разрешение:
режим ipvs с внешним ip открыл прослушиватель kube-proxy
Удаление массива externalIP, т.е. controller.service.externalIPs[0], отключает этот режим.