Распределение нагрузки по мастер-узлам kubernetes

Есть ли документация, как использовать внешний балансировщик нагрузки для балансировки нагрузки трафика на сервере API kubernetes.

Случай использования:

Я не предпочитаю использовать один ip / name главного узла в файле kubeconfig и мне нужно общее имя для всех мастеров, чтобы, если один мастер вышел из строя, он отправлял трафик другому.

У меня уже есть DNS-имя, указывающее на IP-адрес loadbalancer, а loadbalancer настроен с использованием SSL-сертификата и основных внутренних узлов kubernetes, но это приводит к ошибке: "Запланировать запрос http на сервер https"

Каким-то образом балансировщик нагрузки отправляет http-запрос на сервер API kubernetes вместо https.

1 ответ

Решение

Оказывается, он работает на L7 http, но отлично работает на L4 TCP.

Конфигурация HAProxy выглядит следующим образом:

frontend k8s-api
  bind 192.168.0.150:443
  bind 127.0.0.1:443
  mode tcp
  option tcplog
  default_backend k8s-api

backend k8s-api
  mode tcp
  option tcplog
  option tcp-check
  balance roundrobin
  default-server inter 10s downinter 5s rise 2 fall 2 slowstart 60s maxconn 250 maxqueue 256 weight 100
  server k8s-api-1 192.168.0.147:6443 check
  server k8s-api-2 192.168.0.148:6443 check
  server k8s-api-3 192.168.0.149:6443 check
Другие вопросы по тегам