В настоящее время я изучаю способы предоставления хранилища с отслеживанием состояния для контейнеров докеров в Docker Swarm. Я наткнулся на хранилище vsphere для подключаемого модуля docker volume ( https://storagehub.vmware.com/t/vsphere-docker-volume-service/installation-6/ ) ( https: //github.com/vmware-archive/vsphere-storage-for-docker), который выглядит идеально для моих целей, поскольку я использую свои хосты как виртуальные машины в vSphere.
Процесс установки, похоже, включает команду плагин docker install --grant-all-permissions --alias vsphere vmware / docker-volume-vsphere: latest
на каждом хосте докера. Насколько я могу судить, это запускает новый контейнер на хосте, который предоставляет плагин хосту.
Однако, если есть необходимость запустить контейнер на всех хостах в рое, есть ли способ запускать контейнер плагина как глобальную службу (например, демонсет в K8s) вместо того, чтобы устанавливать плагин на каждом хосте?
Конечно, было бы полезно, чтобы Docker Swarm автоматически запускал контейнер на всех хостах в случае нового добавляются хосты. С другой стороны, я мог видеть проблему-уловку, когда для существования глобальной службы требовался плагин (например, сетевой плагин).
Не тестируя это, я бы инстинктивно сказал, что, вероятно, было бы неплохо вручную развернуть это на каждом хосте, так как в противном случае вы можете столкнуться с проблемами, если вам, например, нужно начать с холода в случае отключение электричества или что-то подобное, как вы сами правильно подумали!