ㅤ
Нежных сразу — нахуй, остальным велком.
Для начала установим балансировщик. То есть входная точка у кластер всегда будет одна, а дальше балансировщик будет раскидывать запросы по 3м нашим серверам в кластере. Если одна из нод пойдет по пизде, балансировщик это прозрачно разрулит и отдаст тебе файл в любом случае, даже без правки конфигов.
Проверяем наш кластер:
docker exec -it garage-garage-1 /garage status
Работает. Дальше берем еще один сервер, который будет выступать балансировщиком. Для теста я создам в Selectel нищую виртуалочку и впихарю на нее
haproxy.Устанавливаем haproxy:
apt install haproxy
Домен для кластера я буду использовать
s3.linuxfactory.ru, соответственно во всяких rclone нужно будет прописать его в параметре endpoint.Правим конфиг
/etc/haproxy/haproxy.cfg:global
log /dev/log local0
maxconn 4096
defaults
mode tcp
timeout connect 5s
timeout client 1m
timeout server 1m
option http-server-close
timeout http-request 10s
timeout queue 1m
frontend garage_front
bind *:443 ssl crt /etc/ssl/garage.pem
option http-buffer-request
default_backend garage_back
backend garage_back
balance roundrobin
server node1 95.123.123.116:3900 check
server node2 152.44.71.205:3900 check
server node3 145.83.116.20:3900 check
Проверяем валидность конфиги:
haproxy -c -f /etc/haproxy/haproxy.cfg
Приучи себя всегда это делать, будь то nginx либо что-то другое. Однажды это спасет твою жопу от пенетрации.
Ага, хуй там плавал. Давай создадим SSL сертификат. Я конечно предпочитаю angie, чтобы он сам это сделал, но у нас haproxy, поэтому придется немного пострадать...
Читать продолжение: https://two.su/aaahd
🛠 #devops #linux
—
💬 Bashdays 📲 MAX 🌐 LF 🔵 Blog