- развернем кластер
- запустим панель управления
- развернем 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.ymldocker 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-masterdocker node update --label-add minio2=true docker-2docker node update --label-add minio3=true docker-3docker 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