Ansible ile birden fazla playbook nasıl çalıştırılır?


16

Yeni bir sunucu örneği açmak için birkaç Ansible playbook üzerinde çalışıyorum. Bir sunucuyu başarıyla döndürmek için belirli bir sırayla çalıştırmam gereken yaklaşık 15 farklı oyun kitabı var.

İlk düşüncem, çalıştırmam ansible-playbook playbook_name.ymlgereken her bir oyun kitabı için bir giriş yürüten ve çoğaltan bir kabuk komut dosyası yazmaktı .

Bir ana oyun kitabı kullanarak bunu yapmanın daha akıllı / daha iyi bir yolu var mı ve eğer öyleyse neye benzeyecektir (örnekler takdir edilmektedir).

Her şeyi yapan bir yekpare oyun kitabı yazabilirdim ama önce kök sonra sonra sudo kullanıcısı olarak çalışan bazı oyunlar var.


2
ana oynatma
c4f4t0r

1
Kök olarak sonra sudo kullanıcısı olarak çalışma durumunu işlemek için, blok özelliğini kullanabilirsiniz - become:parçayı her bloğun sonuna koyun . Yine de bağlantı kullanıcısını kökten sudo kullanıcısına geçirmek için yeni bir oyun oluşturmanız gerekebilir .
RichVel

Yanıtlar:


15

Birçok alt oyun kitabı oluşturun ve bunları include deyimleriyle toplayın.

- include: playbook-one.yml
- include: playbook-two.yml

Oynatma kitaplarınızın sırayla çalışması gerekiyorsa ve hepsinin zorunlu olması durumunda, bir ana oynatma kitabı oluşturun ve görevleri olan dosyalar ekleyin. Bir oynatma kitabı her zaman kapalı bir süreç olmalıdır.


2
cevabınızın son kısmını biraz açıklayabilir misiniz? "Bir playbook her zaman kapalı bir süreç olmalı" ile ne demek istiyorsun. ?
Mike Vella

1
Tüm oyun kitaplarını normal ifadeler kullanarak belirtmenin bir yolu var mı? Örneğin:- include : books/*.yml
blueskin

8
Kullanımdan includekaldırılmış gibi görünüyor . docs.ansible.com/ansible/latest/playbooks_reuse.html Bence import_playbook: fooen doğru yol bu, ama süper tecrübeli değilim.
Andrew

11

Ansilbe'nin daha yeni sürümleri için, birçok alt oynatma kitabı oluşturabilir ve import_playbook ifadeleri aracılığıyla birleştirebilirsiniz:

---
- import_playbook: A-systemd-networkd.yml
- import_playbook: B-fail2ban-ssh.yml
- import_playbook: C-enable-watchdog.yml
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.