Skip to main content

Установка Swarmpit в Docker

1. Инициализируйте Docker Swarm на узле:

Запустите команду для инициализации Docker Swarm на вашем узле:
docker swarm init

Эта команда создаст новый кластер Docker Swarm, и текущий узел станет менеджером (leader) кластера.
---------------------------------------------------------------
2. Проверьте статус Docker Swarm:

После инициализации проверьте статус узла, чтобы убедиться, что он является частью кластера:
docker node ls

Вы должны увидеть текущий узел с ролью Leader.
---------------------------------------------------------------
3. Перезапустите установку Swarmpit:

Теперь вы можете запустить команду для установки Swarmpit:

docker run -it --rm \
  --name swarmpit-installer \
  --volume /var/run/docker.sock:/var/run/docker.sock \
  swarmpit/install:1.9 
  
---------------------------------------------------------------
4. После этого вывод будет таким:

Application setup
Enter stack name [swarmpit]: 
Enter application port [888]: 
Enter database volume driver [local]: 
Enter admin username [admin]: 
Enter admin password (min 8 characters long): unar17dok21
DONE.

Application deployment
Creating network swarmpit_net
Creating service swarmpit_db
Creating service swarmpit_influxdb
Creating service swarmpit_agent
Creating service swarmpit_app
DONE.

Starting swarmpit.....................DONE.
Initializing swarmpit...DONE.

Summary
Username: admin
Password: unar17dok21
Swarmpit is running on port :888

Enjoy :)

 

  
  
  
  
  
  
  
  
  
  
============================================================
Разбор пункта 1 (docker swarm init)
------------------------------------------------
После этой команды должен быть такой примерно вывод:

docker swarm init
Swarm initialized: current node (j6h5nc7izw0aua6a6pi6k2kxk) is now a manager.

To add a worker to this swarm, run the following command:

    docker swarm join --token SWMTKN-1-4vyha2xyvzqtispxawxwcxes1o6pbzv8m191s05omdnwd6bz0c-76ji5uk4uwj4zxz44mto0jt36 95.31.38.30:2377

To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.
------------------------------------------------
ОПИСАНИЕ:

Сообщение, которое вы видите после выполнения команды docker swarm init, означает, что вы успешно инициализировали кластер Docker Swarm, и текущий узел (ваш сервер или машина) теперь является менеджером кластера. Это означает, что он может управлять развертыванием контейнеров и координировать другие узлы (worker и manager) в кластере.

Давайте разберём сообщение по частям:

    "Swarm initialized: current node (...) is now a manager":
        Это говорит о том, что Swarm-кластер был успешно инициализирован, и текущий узел назначен в качестве менеджера. Менеджер управляет состоянием кластера, планирует задачи (tasks), развертывает сервисы и т.д.

    Добавление worker-узла в кластер:
        Чтобы присоединить worker-узел (исполнительный узел), используется специальный токен (ключ доступа), который выводится в сообщении. Worker-узлы могут выполнять задачи, но не управляют кластером.
        Пример команды для присоединения worker:

docker swarm join --token SWMTKN-1-4df2g45d41gd4fgbdgb1dg1bsdf1gbsssssssssssd 98.81.82.44:2377

Worker-узлы присоединяются к кластеру через менеджер, используя этот токен.

Добавление manager-узла в кластер:

    Чтобы добавить другой узел в качестве менеджера (то есть чтобы иметь несколько управляющих узлов), нужно сгенерировать и использовать другой токен:

        docker swarm join-token manager

    После этого команда покажет токен для присоединения менеджера, который можно использовать на других узлах для их добавления как менеджеров.

Основные роли узлов:

    Manager (менеджер): Узел, который управляет состоянием кластера и распределяет задачи по worker-узлам. Может быть несколько менеджеров для отказоустойчивости.
    Worker (исполнитель): Узел, который выполняет задачи, но не управляет кластером.

Что делать дальше?

Если у вас только один узел, дальнейших действий не требуется — узел уже является менеджером. Если у вас несколько машин, вы можете присоединить другие узлы (worker или manager) с помощью соответствующих команд.

Теперь вы можете развернуть сервисы, такие как Swarmpit, на этом кластере.