Ansible

Merhaba bugün sizlere Ansible’dan bahsedeceğim ansible bir otomasyondur. Red Hat yazılımıdır. Red Hat ise bildiğiniz üzere IBM’in bir şirketi o yüzden gerçek güçlü bir otomasyon sistemi diyebiliriz ansible için.

Ansible temel mantıkta aslında uzaktan sunuculara bağlanmamızı sağlıyor örneğin işte ubuntu sunucumuza ssh ile veya Windows sunucumuza WinRM (Windows Remote Management) ile bağlanmamızı sağlıyor.

Örnek olarak mesela Web server yenilemek veya işte dosya kopyalamak gibi bir çok özellik var.


Yukarıdaki paylaştığım resimden de göreceğiniz üzere bir container veya sanal makinemize ansible yüklüyoruz ve bu ansible artık control node haline geliyor.

Ansible Galaxy ise mesela nginx kurmak için siz playbook yazmak istemiyorsunuz onun yerine topluluk tarafından oluşturulmuş playbooklar var oradan çekip sisteminize entegre edebiliyorsunuz.

Şimdi örnek bir şekilde uzaktaki bir kali sanal makineme ssh ile bağlanıp size göstereceğim.

Öncelikle oluşturduğum hosts dosyasına kullanacağımız VM’nin ip sini girerek bir envanter oluşturuyoruz buraya ipleri tanımlayarak bir envanter oluşturuyoruz.


Daha sonra test yaparak ipleri test ediyoruz ansible all -m ping ile aslında burada ping modülünü kullanarak all dediğimiz tüm hostlarımıza erişimimiz olup olmadığını gösteriyor.

Aynı docker ve kubernetes’te nasıl yaml dosyaları ile çalışıyorsak ansible’da aynı mantıkla çalışıyor şimdi beraber bir yaml dosyası yazalım.


Yukarıda oluşturduğum yaml dosyasında kendi ubuntu cihazımdaki node olan cihazdan index.html dosyasını kali cihazıma copy işlemini gerçekleştireceğim. Çok modül var paket modüller gibi bunlar hazır olarak zaten ansible sayfasında paylaşılıyor en alta link koyacağım oradan bakabilirsiniz.

name = bu parametre ile paketimize ad veriyoruz.

hosts = burada kullanacağımız sunucuları giriyoruz all girdiğimiz için hepsini içine alıyor yukarıda tanımladığımız hosts içerisindeki mesela sadece kali’yi de alabilirdik.

become = Sudo userla çalıştırmak için belirtiyoruz.

task = Görevlendirdiğimiz modüller

Şimdi aşağıda ansible-playbook komutumuzla yaml dosyamızı çalıştırıyorum.


Evet başarıyla çalıştığını görebilirsiniz artık karşı cihazımızda da aynı index.html dosyayı kaydedilmiş tam istediğimiz gibi masaüstüne yerleştirilmiş.

Umarım faydalı bir blog olmuştur.


Ansible Resmi Sitesi = https://www.redhat.com/en/ansible-collaborative

GitHub = https://github.com/ansible/ansible

Modüller = https://docs.ansible.com/ansible/latest/collections/index_module.html

Yunus Emre
Yunus Emre
Articles: 4