Назад | Перейти на главную страницу

Сериализация с помощью Ansible с помощью jumpbox / build-server

Мы используем сервер сборки, который делегирует_to и развертывает сборку на серверах приложений. Я не уверен, как мы собираемся «сериализовать», поскольку все делается на сервере сборки (1 хост) и существует множество серверов приложений. Сервер сборки - единственный сервер, который может взаимодействовать с серверами приложений. Это не будет проблемой, но мы должны убедиться, что выполняем развертывание на серверах приложений один за другим (выбрасывая / повторно вводя их в пул, когда все в порядке). Какие-либо предложения?

Количество хостов, на которых запускается Ansible play, можно определить с помощью параметра serial параметр.

- name: test play
  hosts: webservers
  serial: 3

Из Ansible документация:

По умолчанию Ansible будет пытаться управлять всеми машинами, на которые есть ссылка в игре, параллельно. Для варианта использования непрерывных обновлений вы можете определить, сколько хостов должен управлять Ansible одновременно, используя ключевое слово '' serial ''. В приведенном выше примере, если бы у нас было 100 хостов, 3 хоста в группе 'webservers' завершили бы играть полностью, прежде чем перейти к следующим 3 хозяевам.

Если вы хотите развернуть сервер приложений один за другим, вам нужно определить что-то вроде этого в своей игре:

- name: Deploy app servers one by one
  hosts: appservers
  serial: 1