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
ポート 80 と 443 を取得する kube-proxy を変更するために私が見逃したオプションがあるのでしょうか、それとも私が見落とした ipvs を使用したイングレスの実行をサポートするために必要なオプションがあるのでしょうか。
答え1
注: nginx-ingressのインストールはHelm Chart経由で行われます
解決:
外部 IP を使用した ipvs モードで kube-proxy リスナーが開かれました
外部IPの配列、つまりcontroller.service.externalIPs[0]を削除すると、そのモードはオフになります。