AWX ansible playbooklarının çalıştırılmasını ve kontrolünü sağlayan ara yüzü olan bir otomasyon aracıdır. Bu sayede ansible için kullanım kolaylığı ve ara yüz olarak görsellik katmaktadır. Bugün de sizlerle Gitlab üzerindeki ansible playbooklarının çalıştırmasını işleyeceğiz.
İlk olarak AWX uygulamamızın ara yüzüne giriyoruz. Burada bizi bir dashboard karşılıyor. Gerekli bilgileri burada görebilirsiniz.
Resim-1
AWX üzerinden bir job oluşturabilmek için belli sırada resource ve accessler oluşturulması gerekmektedir. İlk olarak bir tane organizasyon oluşturulması gerekmektedir. Access bölümünün altında bulunan Organizations alanına girerek oluşturma işlemini yapacağız.
Resim-2
Add dedikten sonra karşımıza çıkan Create New Organization alanında zorunlu olan bilgileri doldurarak yeni bir Organizasyon oluşturuyoruz.
Resim-3
Resim-4
Bu işlemleri tamamladıktan sonra sırada envanter oluşturulması gerekmektedir. Bunun için Resources bölümünün altındaki Inventories girerek oluşturma işlemini yapacağız.
Resim-5
Add dedikten sonra karşımıza çıkan Create New Inventory alanında zorunlu olan bilgileri doldurarak yeni bir envanter oluşturuyoruz.
Resim-6
Bu alanda ayrıca variables kısmına ekstra verilmesi gereken parametre ve variableları yazarak bu envanterdeki hostlara verilebilir.
Resim-7
Oluşturduğumuz envanterin içine girerek host ekleyebilir ve o hostları gruplandırabiliriz. Biz herhangi bir host eklemeyeceğiz. Oluşturacağımız playbook’u direk awx host’unda çalıştaracağız.
Resim-8
Resim-9
Resim-10
Bu işlemleri tamamladıktan sonra sırada credential oluşturulması gerekmektedir. Bunun için Resources bölümünün altındaki Credentials alanına girerek gerekli işlemleri yapıyoruz.
Resim-11
Add dedikten sonra karşımıza çıkan Create New Credential alanındaki bilgileri doldurarak yeni bir credential oluşturuyoruz. Credential Type olarak biz Source Control kullanacağız. Burada Gitlab kullanıcı adı ve şifresi ile bağlantıyı sağlayacağız. Siz kendi kullandığınız ortama göre Credential Type alanını istediğiniz gibi düzenleyebilirsiniz.
Resim-12
Resim-13
Bu işlemleri tamamladıktan sonra sırada proje oluşturma işlemi var. Bunun için Resources bölümünün altındaki Projects alanına girerek gerekli işlemleri yapıyoruz.
Resim-14
Add dedikten sonra karşımıza çıkan Create New Project alanındaki bilgileri doldurarak yeni bir proje oluşturuyoruz. Gitlab üzerindeki ansible playbooklarını çalıştıracağımız için Source Control Credential Type alanının değerini Git olarak seçiyoruz ve Gitlab’da ansible playbooklarının bulunduğu proje bilgilerini giriyoruz.
Resim-15
Resim-16
Artık son aşama olan job oluşturarak çalıştırmak istediğimizi yaml’ı çalıştırma işlemini yapacağız. Bunun için Resources bölümünün altındaki Templates alanına girerek gerekli işlemleri yapacağız.
Resim-17
Add dedikten sonra karşımıza çıkan Create New Job Template alanıdaki gerekli bilgileri doldurarak bir job oluşturuyoruz. Burada Project alanına oluşturduğumuz projeyi seçince playbook alanında o projedeki yaml’lar görülecektir. Çalıştırmak istediğimiz yaml’ı seçip geri kalan bilgileri doldurarak job oluşturuyoruz.
Resim-18
Resim-19
Not: Eğer yeni bir yaml eklediniz ve playbook tarafında bu yaml’ı göremiyorsanız projeye gidip projeyi SYNC etmeniz gerekmektedir. Bu işlemi yaptıktan sonra yaml’ı görebilir duruma geleceksiniz.
Resim-20
Her şeyimiz hazır. Artık oluşturduğumuz job’a girip LAUNCH butonu ile çalıştırarak playbook’u çalıştırabiliriz.
Resim-21
Resim-22
Resim-23
Benim hazırladığım yaml’da bir txt dosyası oluşturup içine bir kelime yazdırma işlemi yapılıyor ve cat komutu ile o txt dosyasını okuyor. Job tamamlandıktan sonra işlemi yaptığını görmek için TASK [Run script] alanına tıklıyoruz. Run script burada yaml’da taskın adı olarak verilmiştir.
Resim-24
Karşımıza gelen ekranda Standard Out alanına geçiş yaptığımızda txt dosyasına yazdırdığımız kelimeyi görebiliriz.
Resim-25
Bugün AWX ile Gitlab üzerindeki Ansible playbooklarını çalıştırmayı sizlere aktarmaya çalıştım. Keyifli bir şekilde okumanız dileğiyle.
Bu konuyla ilgili sorularınızı alt kısımda bulunan yorumlar alanını kullanarak sorabilirsiniz.
Referanslar