В документации по настройке режима роя, по-видимому, отсутствует что-то важное.
Похоже, что для управления роем с марионеткой мне нужно предоставить токен.
Но чтобы получить токен, мне нужно пойти к менеджеруузел и введите docker swarm join-token -q
, скопировать вывод и вставить его в кукольный?
Я что-то упустил?Или есть какой-то автоматизированный способ сделать это?Чего бы я ожидал, это:
if(host_has_label("my-swarm-manager")) {
docker::swarm {'cluster_manager':
init => true,
advertise_addr => current_host_ip(),
listen_addr => current_host_ip(),
swarm_name => 'my-swarm'
}
} else if (host_has_label("my-swarm-worker")) {
docker::swarm {'cluster_worker':
join => true,
advertise_addr => current_host_ip(),
listen_addr => current_host_ip(),
manager_ip => get_ip_by_swarm_name('my-swarm'),
token => get_token_by_swarm_name('my-swarm')
}
}
Маркер режима роя