Git Product home page Git Product logo

docker-proxmox-s3's Introduction

Практическая работа по запуску swarm-кластера на Proxmox VE

  1. развернем кластер
  2. запустим панель управления
  3. развернем s3 хранилище с балансировщиком

Предустановки

  1. Само собой, имеем уже настроенный Proxmox VE
  2. На локальной машине ставим docker-machine (brew install docker-machine - если у вас MacOS)
  3. Просаживаем плагин для работы с Proxmox:
    1. качаем от сюда
    2. даем права на запуск - chmod +x docker-machine-driver-proxmoxve.macos-amd64
    3. перемещаем рабочую папку - mv docker-machine-driver-proxmoxve.macos-amd64 /usr/local/bin/docker-machine-driver-proxmoxve
    4. проверяем, что работает плагин docker-machine create -d proxmoxve --help (должен появится листинг параметров плагина)
  4. качаем образ докера и заливаем его себе в Proxmox

Использование

  1. переименовываем .env.example в .env и заполняем логопасс от доступа в ваш Proxmox
  2. запускаем swarm-init.sh - он пробуем цепляться в Proxmox и создает 4 машины (одну мастера и 3 воркера - формально, пока просто 4 пустых машины)
  3. идем на мастер docker-machine ssh docker-master и запускаем там:
    1. docker swarm init - создает мастера и инициализирует рой
    2. docker swarm join-token worker - показывает токен, копируем всю строчку в буфер
    3. exit - выходим
  4. далее, цепляемся к каждому воркеру docker-machine ssh docker-1 и выполняем команду из буфера
  5. после инициализации воркеров и идем снова на мастер docker-machine ssh docker-master и проверяем что воркеры подцепились docker node ls

Portainer

  1. на мастере запускаем установку стека
    1. wget https://downloads.portainer.io/portainer-agent-stack.yml --output-document portainer-agent-stack.yml
    2. docker stack deploy --compose-file=portainer-agent-stack.yml portainer
    3. на мастере подсматриваем айпишник ifconfig eth0 и идем на веб-морду http://ip:9000

Minio

  1. на мастере
    1. создаем секреты (само собой - свои, а не из примера)
      1. echo "AKIAIOSFODNN7EXAMPLE" | docker secret create access_key -
      2. echo "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY" | docker secret create secret_key -
    2. проставляем метки на воркеры
      1. docker node update --label-add minio1=true docker-master
      2. docker node update --label-add minio2=true docker-2
      3. docker node update --label-add minio3=true docker-3
      4. docker node update --label-add minio4=true docker-1
    3. импортируем
    4. в конфиги файлик lb.conf и называем его там так же lb.conf
    5. запускает новый стек используя код из файла docker-compose-minio.yaml и называем стек minio
    6. стек поднимет 4 независимые реплики minio со своими дисками на каждой их четырех нод и одну реплику nginx на мастер-ноде, выставит ингресс-линк на порте 8080
    7. доменное имя для minio выглядит как minio.local (можно поменять в lb.conf перед его импортом), не забудьте прописать его у себя в /etc/hosts на айпишники нод (или хотя бы мастер-ноды)

Чистим за собой

  1. ./swarm-rm.sh

Видео к курсу

Автор

docker-proxmox-s3's People

Contributors

vasyakrg avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.