Я пытаюсь создать несколько загрузочных плееров, которые будут обеспечивать среду (n баз данных, m веб-серверов и т. Д.) И сохранить эти узлы на потом, чтобы я мог запускать их развертывания , Лучшее, что я могу придумать, - https://gist.github.com/geowa4/7686681 (скопировано ниже). Это работает в том, что он создает машины для разных типов серверов и сохраняет их в файле hosts. Мои сценарии развертывания, для которых я буду использовать только что созданный файл hosts, убедитесь, что правильные пакеты установлены и настроены правильно, прежде чем развертывать исходный код. Это единственный способ выполнить настройку и развертывание с помощью Ansible? Что делать, если я хочу динамически добавлять новый веб-сервер в микс? Должен ли я вручную редактировать статические файлы хостов? До сих пор с динамическим сценарием инвентаризации для Rackspace он просто перечисляет целую группу серверов, не имея возможности группировать их по типу. Если бы я мог это понять, я был бы в восторге.Ansible Playbook для предоставления и сохранения хостов для более поздних версий
hosts.j2:
[a]
{% for a in a_provision.instances %}
{{ a.rax_accessipv4 }}
{% endfor %}
[b]
{% for b in b_provision.instances %}
{{ b.rax_accessipv4 }}
{% endfor %}
main.yml:
---
- name: a - build request
local_action:
module: rax
username: username
api_key: key
name: test-a
count: 1
flavor: 3
image: a-image-id
files:
/root/.ssh/authorized_keys: ~/.ssh/id_rsa.pub
state: present
wait: yes
wait_timeout: 1000
networks:
- private
- public
register: a_provision
- name: b - build request
local_action:
module: rax
username: username
api_key: key
name: test-b
flavor: 5
image: b-image-id
files:
/root/.ssh/authorized_keys: ~/.ssh/id_rsa.pub
state: present
wait: yes
wait_timeout: 1000
networks:
- private
- public
register: b_provision
- name: add new nodes to hosts configuration
template: 'src=hosts.j2 dest=provisioned_hosts'
Привет @ geowa4 мы изучаем это, мы поможем вам. – rdodev