Инициализация кластера с определенным адресом для объявления (advertise address)
На предыдущем этапе вы инициализировали простой кластер Docker Swarm. На этом этапе вы научитесь инициализировать кластер и указать адрес, который менеджер кластера будет объявлять другим узлам. Это полезно в средах с несколькими сетевыми интерфейсами или когда вы хотите контролировать, какой адрес будет использоваться для коммуникации в кластере.
Сначала вам нужно покинуть существующий кластер. Это можно сделать с помощью команды docker swarm leave
. Поскольку это единственный узел и он является менеджером, вам нужно использовать флаг --force
.
docker swarm leave --force
Вы должны увидеть вывод, подтверждающий, что узел покинул кластер.
Теперь найдем IP - адрес вашего текущего компьютера. Вы можете использовать команду ip addr show
и найти IP - адрес, связанный с вашим сетевым интерфейсом (обычно eth0
или ens*
).
ip addr show
Определите IP - адрес, который вы хотите использовать в качестве адреса для объявления (advertise address) кластера. Например, если ваш IP - адрес 172.17.0.2
, вы будете использовать его.
Теперь инициализируйте кластер снова, но на этот раз укажите адрес для объявления с помощью флага --advertise-addr
. Замените <YOUR_IP_ADDRESS>
на фактический IP - адрес, который вы нашли.
docker swarm init --advertise-addr <YOUR_IP_ADDRESS>
Вы увидите вывод, аналогичный базовой инициализации, но команда присоединения теперь будет включать указанный адрес для объявления.
Чтобы убедиться, что кластер был инициализирован с правильным адресом для объявления, вы можете проверить настройки кластера.
docker swarm inspect --pretty
Найдите поле AdvertiseAddr
в выводе. Он должен совпадать с указанным вами IP - адресом.