Saya mengalami masalah saat mengetahui cara terbaik menerapkan host / peran ke sistem operasi yang berbeda di Ansible.
Saat ini saya menggunakan Ansible untuk menghasilkan VM Windows / Mac / Linux, dan masing-masing VM memiliki peran berbeda yang perlu diterapkan pada mereka.
Saya telah membaca praktik terbaik dan telah mencoba mengikuti mereka, terutama untuk menggunakan metode pengelompokan, tetapi saya masih tidak yakin karena mereka kebanyakan menyebutkan webservers dan 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
lingkungan / uji / kelompok
[win_build_nodes]
win_build_machine_1
win_build_machine_2
[mac_build_nodes]
mac_build_machine_1
lingkungan / uji / host
win_build_machine_1 ansible_host=......
win_build_machine_2 ansible_host=......
mac_build_machine_1 ansible_host=......
lingkungan / uji / 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
The environment/test/meta
file I percaya perlu diubah dengan build_nodes:children
, tapi aku tidak yakin apa yang. Sebelumnya saya hanya meminta VM memiliki semua peran yang dibangun untuk itu dengan yang berikut:
Situs lama .yml
- name: Apply everything
hosts: build_nodes
roles:
- common
- build-machine-test-1
- build-machine-test-2
Tetapi kemudian menyadari bahwa saya tidak ingin semuanya dibangun di mesin yang sama. Catatan, build-machine-test-1
dan 2
keduanya memiliki build Windows / Mac / Linux yang terpisah saat mereka mendeteksi apa yang harus dimasukkan berdasarkan sistem operasi.
Adakah yang bisa menyarankan cara yang lebih baik untuk memisahkan VM berdasarkan sistem operasi?
build-machine-test-1
peran memiliki bangunan terpisah berdasarkanos_family
. Pertanyaan saya adalah untuk tingkat yang lebih tinggi di mana mesin pembuat sendiri perlu dipisahkan sebelum peran diterapkan ...