Mam problemy z ustaleniem, jak najlepiej zastosować hosty / role do różnych systemów operacyjnych w Ansible.
Obecnie używam Ansible do generowania maszyn wirtualnych Windows / Mac / Linux, a każda z maszyn wirtualnych ma różne role, które należy do nich zastosować.
Przeczytałem najlepsze praktyki i starałem się ich przestrzegać, szczególnie w celu zastosowania metody grupowania, ale wciąż nie jestem pewien, ponieważ najczęściej wspominają o serwerach WWW i dbservers.
site.yml
- name: Apply common configuration to all nodes
hosts: all
roles:
- common
- name: Configure and deploy test node 1
hosts: build-test-node
roles:
- build-machine-test-1
- name: Configure and deploy test node 2
hosts: build-test-node-2
roles:
- build-machine-test-2
środowiska / test / grupy
[win_build_nodes]
win_build_machine_1
win_build_machine_2
[mac_build_nodes]
mac_build_machine_1
środowiska / test / hosts
win_build_machine_1 ansible_host=......
win_build_machine_2 ansible_host=......
mac_build_machine_1 ansible_host=......
środowiska / test / meta
[mac_build_nodes]
[win_build_nodes]
[win:children]
win_build_nodes
[mac:children]
mac_build_nodes
[linux:children]
[build_nodes:children]
win_build_nodes
mac_build_nodes
environment/test/meta
Plik wierzę, musi być zmieniony z build_nodes:children
, ale nie jestem pewien, co do. Wcześniej miałem tylko maszyny wirtualne z wbudowanymi wszystkimi rolami w następujący sposób:
Stary site.yml
- name: Apply everything
hosts: build_nodes
roles:
- common
- build-machine-test-1
- build-machine-test-2
Ale potem zdałem sobie sprawę, że nie chcę, aby wszystko było budowane na tej samej maszynie. Uwaga, build-machine-test-1
i 2
oba mają oddzielne Windows / Mac / Linux buduje jak wykryć, co należy uwzględnić w zależności od systemu operacyjnego.
Czy ktoś może zaproponować lepszy sposób rozdzielenia maszyn wirtualnych w oparciu o systemy operacyjne?
źródło
build-machine-test-1
ról ma własne osobne wersjeos_family
. Moje pytanie dotyczy wyższego poziomu, w którym same maszyny do budowania muszą zostać oddzielone przed zastosowaniem ról ...