Sto riscontrando problemi nel capire come applicare al meglio host / ruoli a diversi sistemi operativi in Ansible.
Attualmente sto utilizzando Ansible per generare macchine virtuali Windows / Mac / Linux e ciascuna delle macchine virtuali ha ruoli diversi che devono essere applicati a esse.
Ho letto le migliori pratiche e ho provato a seguirle, in particolare per utilizzare il metodo di raggruppamento, ma non sono ancora sicuro poiché menzionano principalmente server Web e server Web.
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
Ambienti / test / gruppi
[win_build_nodes]
win_build_machine_1
win_build_machine_2
[mac_build_nodes]
mac_build_machine_1
ambienti / prova / hosts
win_build_machine_1 ansible_host=......
win_build_machine_2 ansible_host=......
mac_build_machine_1 ansible_host=......
ambienti / 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
Il environment/test/meta
file di credo deve essere cambiato con la build_nodes:children
, ma non sono sicuro di cosa. In precedenza, avevo appena avuto le macchine virtuali con tutti i ruoli creati con il seguente:
Vecchio site.yml
- name: Apply everything
hosts: build_nodes
roles:
- common
- build-machine-test-1
- build-machine-test-2
Ma poi ho capito che non volevo che tutto fosse costruito sulla stessa macchina. Nota build-machine-test-1
ed 2
entrambi hanno build separate per Windows / Mac / Linux in quanto rilevano cosa includere in base al sistema operativo.
Qualcuno può suggerire un modo migliore di separare le macchine virtuali in base ai sistemi operativi?
build-machine-test-1
ruoli ha le proprie build separate basate suos_family
. La mia domanda è per un livello superiore in cui le macchine di costruzione stesse devono essere separate prima che i ruoli vengano applicati ...