Настройка Haproxy для кластера Kubernetes
В предыдущих статьях мы рассмотрели примеры настройки кластера kubernetes с одной и тремя мастер нодами. Как раз для мультимастерного кластера нужен внешний балансировщик, о котором я писал. Я использую haproxy и давайте рассмотрим базовый конфиг для кластера kubernetes.
## Установка
Нужен отдельный хост с установленным haproxy. Я предпочитаю использовать Ubuntu последней версии.
Ставим haproxy:
apt update && apt install haproxy
## Настройка haproxy
Для kubernetes нужно прокинуть несколько портов, для этого правим файл /etc/haproxy/haproxy.cfg:
global
user haproxy
group haproxy
stats socket /run/haproxy/admin.sock mode 660 level admin
daemon
maxconn 32500
defaults
log global
mode tcp
timeout connect 10s
timeout client 600s
timeout server 25h
#MASTERS
frontend k8s-master-api
bind *:6443
mode tcp
option tcplog
default_backend k8s-master-api
backend k8s-master-api
mode tcp
balance roundrobin
server k8s-master01 k8s-master01:6443 check
server k8s-master02 k8s-master02:6443 check
server k8s-master03 k8s-master03:6443 check
#API
frontend k8s-api
bind *:8001
mode tcp
option tcplog
default_backend k8s-api
backend k8s-api
mode tcp
balance roundrobin
server k8s-master01 k8s-master01:8001 check
server k8s-master02 k8s-master02:8001 check
server k8s-master03 k8s-master03:8001 check
#DASHBOARD
frontend dashboard
bind *:8443
mode tcp
option tcplog
default_backend k8s-dashboard
backend k8s-dashboard
mode tcp
balance roundrobin
server k8s-master01 k8s-master01:8443 check
server k8s-master02 k8s-master02:8443 check
server k8s-master03 k8s-master03:8443 check
Главное прокинуть порт 6443, остальное на будущее (возможно и не понадобится)
Перезапускаем службу:
systemctl restart haproxy