View Code? Open in Web Editor
NEW
This project forked from vasyakrg /docker-proxmox-s3
docker-proxmox-s3's Introduction
Практическая работа по запуску swarm-кластера на Proxmox VE
развернем кластер
запустим панель управления
развернем s3 хранилище с балансировщиком
Само собой, имеем уже настроенный Proxmox VE
На локальной машине ставим docker-machine (brew install docker-machine
- если у вас MacOS)
Просаживаем плагин для работы с Proxmox:
качаем от сюда
даем права на запуск - chmod +x docker-machine-driver-proxmoxve.macos-amd64
перемещаем рабочую папку - mv docker-machine-driver-proxmoxve.macos-amd64 /usr/local/bin/docker-machine-driver-proxmoxve
проверяем, что работает плагин docker-machine create -d proxmoxve --help
(должен появится листинг параметров плагина)
качаем образ докера и заливаем его себе в Proxmox
переименовываем .env.example
в .env
и заполняем логопасс от доступа в ваш Proxmox
запускаем swarm-init.sh
- он пробуем цепляться в Proxmox и создает 4 машины (одну мастера и 3 воркера - формально, пока просто 4 пустых машины)
идем на мастер docker-machine ssh docker-master
и запускаем там:
docker swarm init
- создает мастера и инициализирует рой
docker swarm join-token worker
- показывает токен, копируем всю строчку в буфер
exit
- выходим
далее, цепляемся к каждому воркеру docker-machine ssh docker-1
и выполняем команду из буфера
после инициализации воркеров и идем снова на мастер docker-machine ssh docker-master
и проверяем что воркеры подцепились docker node ls
на мастере запускаем установку стека
wget https://downloads.portainer.io/portainer-agent-stack.yml --output-document portainer-agent-stack.yml
docker stack deploy --compose-file=portainer-agent-stack.yml portainer
на мастере подсматриваем айпишник ifconfig eth0
и идем на веб-морду http://ip:9000
на мастере
создаем секреты (само собой - свои, а не из примера)
echo "AKIAIOSFODNN7EXAMPLE" | docker secret create access_key -
echo "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY" | docker secret create secret_key -
проставляем метки на воркеры
docker node update --label-add minio1=true docker-master
docker node update --label-add minio2=true docker-2
docker node update --label-add minio3=true docker-3
docker node update --label-add minio4=true docker-1
импортируем
в конфиги файлик lb.conf
и называем его там так же lb.conf
запускает новый стек используя код из файла docker-compose-minio.yaml
и называем стек minio
стек поднимет 4 независимые реплики minio со своими дисками на каждой их четырех нод и одну реплику nginx на мастер-ноде, выставит ингресс-линк на порте 8080
доменное имя для minio выглядит как minio.local
(можно поменять в lb.conf перед его импортом), не забудьте прописать его у себя в /etc/hosts на айпишники нод (или хотя бы мастер-ноды)
./swarm-rm.sh
docker-proxmox-s3's People
Contributors