Playbook run options
Aşağıdaki bilgileri, Ansible playbook’larınızı çalıştırırken kullanabileceğiniz ek komut seçenekleri olarak düşünebilirsiniz. Her bir seçeneğin amacı ve kullanım şekli farklıdır. Bunları adım adım inceleyelim.
1) Dry Run (Check Mode)
Nedir? Dry run veya check mode, playbook’unuzu “gerçekten” çalıştırmadan önce neler olacağını görmek için kullandığımız bir özelliktir. Bu moda alınca Ansible, hedef sunucularda herhangi bir değişiklik yapmaz; sadece hangi değişikliklerin yapılacağını ve sonuçların ne olacağını raporlar.
Neden Kullanılır?
Üretim (production) ortamındaki kritik sunucularda playbook çalıştırmadan önce, yapılacak değişikliklerin neler olacağını görmek istediğinizde güvenlik sağlar.
Beklenmedik sonuçlarla karşılaşmamak için, özellikle önemli güncellemelerde ön kontrol yapmanıza imkân tanır.
Nasıl Kullanılır?
Playbook’u aşağıdaki gibi --check
parametresiyle çalıştırırsınız:
Örnek bir playbook.yml
içinde “httpd” paketini kuran bir görev olsun:
Dry run ile çalıştırdığınızda, Ansible size hangi değişiklikleri yapacak olduğunu ancak henüz yapmadığını gösterir.
2) Start at a Specific Task
Nedir?
--start-at-task
seçeneği, playbook’unuzu belirli bir görevden (task) başlatmanızı sağlar. Bu, playbook içerisinde birden fazla görev (task) olduğunda ve siz önceki görevleri atlayıp yalnızca belirli bir noktadan ilerlemek istediğinizde çok işe yarar.
Neden Kullanılır?
Playbook’un başındaki görevler zaman alıyor veya sık test etmek istediğiniz kısım sonlara yakınsa, her seferinde baştan başlamanızı önler.
Debug (hata ayıklama) yaparken, sadece belirli bir görevi tekrar tekrar test etmeniz gerekebilir.
Nasıl Kullanılır?
Playbook dosyasında her görevin bir name
alanı bulunur. O ismi baz alarak aşağıdaki gibi komut yazabilirsiniz:
Bu örnekte, Start httpd service
adlı görevden itibaren playbook işlemleri başlayacaktır.
Örnek playbook:
Bu örnekte, Install httpd
görevi atlanır ve doğrudan Start httpd service
görevinden yürütmeye başlar.
3) Tags (Görevleri Etiketlemek ve Seçici Çalıştırma)
Nedir? Tags (etiketler), playbook içindeki belirli görevleri veya hatta tüm play’leri etiketlemenize yarar. Bu etiketler sayesinde playbook çalıştırırken, hangi görevlerin çalıştırılacağını veya hangi görevlerin atlanacağını seçebilirsiniz.
Neden Kullanılır?
Büyük bir playbook’u parçalara ayırmak ve sadece belirli bölümleri çalıştırmak istediğinizde.
“Yükleme (install) görevlerini çalıştır ama servis başlatma (start) görevlerini atla” gibi senaryolarda işinizi kolaylaştırır.
Geniş bir otomasyon sürecinde, test veya bakım amaçlı sadece belirli kısımları hızlıca tekrar çalıştırmanız gerekebilir.
Nasıl Kullanılır? Öncelikle play veya task’lara etiketler eklenir:
Sadece Belirli Tag’leri Çalıştırmak
Sadece install
etiketli görevleri çalıştırmak için:
Bu komut, yalnızca install
etiketi bulunan görevleri işletecektir (Örneğin paket kurulumunu yapar, servisi başlatma görevini atlar).
Belirli Tag’leri Atlamak (Skip)
Eğer kurulum görevini atlamak ama diğer tüm görevleri çalıştırmak isterseniz:
Böylece install
etiketli görev atlanır, diğer bütün görevler çalışır.
Özet ve İpuçları
Check Mode (
--check
)Kullanmadan önce mantığınızı ve beklenen değişiklikleri görmek için harika bir yöntem.
Prod ortamlarında risk almadan önce mutlaka denemenizi öneririm.
Start at Task (
--start-at-task
)Uzun veya çok adımlı playbook’larda zaman kazanmak için belirli bir adımdan başlama imkânı sağlar.
Hata ayıklama (debug) süreçlerinde çok kullanışlıdır.
Tags
İş akışınızı bölümlere ayırmanıza, gerektiğinde sadece istenilen bölümleri (görevleri) çalıştırmanıza olanak tanır.
Hem işletilecek görevleri seçmeye (
--tags
) hem de atlamaya (--skip-tags
) yarar.
Last updated
Was this helpful?