kubernetes ipvs отключает узлы при использовании внешних ips - PullRequest
0 голосов
/ 22 февраля 2019

Я использую Kubernetes в своем проекте для развертывания и доступа к нескольким компонентам API своего бэкэнда.Я установил это с kubeadm и kubectl.У меня есть один мастер (192.168.101.7) и два узла (192.168.101.4, 192.168.101.6).Все работает нормально с режимом прокси по умолчанию kube-proxy: iptables.Я развернул nginx-ingress и мой API.Служба для nginx-ingress относится к типу ExternalIP (с 192.168.101.7), поэтому я могу получить доступ к своему API через определенный адрес: 192.168.101.7/api/ (где путь указан для каждого отдельного компонента API), и он работает.Я использую фланель для работы в сети.

Я хотел установить режим kube-proxy для IPVS, чтобы иметь реальный алгоритм балансировки нагрузки: циклический перебор.(потому что iptables использует random и нуждается в живучести / вероятности, чтобы проверить, живы ли модули)

Я попытался установить его с помощью kubeadm со следующей конфигурацией:

apiVersion: kubeadm.k8s.io/v1beta1
kind: InitConfiguration
localAPIEndpoint:
        advertiseAddress: 192.168.101.7
---
apiVersion: kubeadm.k8s.io/v1beta1
kind: ClusterConfiguration
networking:
        podSubnet: 10.244.10.0/16
        serviceSubnet: 10.96.0.0/12
---
apiVersion: kubeproxy.config.k8s.io/v1alpha1
kind: KubeProxyConfiguration
featureGates:
        SupportIPVSProxyMode: true
mode: ipvs

Я правильно включил всемодов ядра и "ipvsadm" работает нормально.Все работает нормально, когда я использую сервис типа nodeport: я могу получить доступ к своим модулям с правильной балансировкой нагрузки.(и ipvsadm правильно показывает правила)

Но когда я пытаюсь развернуть службу с помощью (nginx-ingress или мои внутренние компоненты):

ExternalIPs:
- 192.168.101.7

Мои узлы отключаются от мастераи у меня есть странная проблема: из узлов, когда я пытаюсь получить доступ к мастеру, он возвращается обратно к себе.То есть, когда я делаю «ssh 192.168.101.7» из 192.168.101.4 и правильно регистрируюсь, я получаю 192.168.101.4 (сам) вместо 192.168.101.7.Кажется, что на каждом узле после развертывания службы с внешними IP-адресами имеется зацикливание.

Я подумал, что это может быть вызвано Flannel, поэтому я попытался с WeaveWorks, но он делает то же самое.

Я искал несколько раз и никогда не сталкивался с подобной проблемой ... У кого-нибудь есть идеи, что я немного растерялся.

...