Ansible kurum içi veri merkezleri, bulut yapısı, fiziksel ya da sanal ortamlardaki birçok sunucuyu agent kurulumu gerektirmeden yönetilmesini sağlayan, uygulama dağıtımı, yazılım provizyonunu, yapılandırma yönetimi gibi. orchestration ihtiyacı duyulabilen işlemlerde kullanılan Open Source bir otomasyon sistemidir. Bu anlamda Ansible okunulması ve anlaşılması kolay olan bir kodlama yapısına sahiptir ve bu sebepten çok popülerdir. Böylece çok farklı ortamlara ait birçok sunucu Ansible ile yönetebilebilmektedir.
Ansible ile yönetim için sunucuya SSH ile bağlanabilmek yeterli olacaktır. SSH ile sunuculara bağlanacak user için SSH key oluşturmamız gerekmektedir. Daha sonra bu SSH key’i bağlanılacak olan diğer kullanıcılar için authorized_key olarak belirlememiz gerekmektedir.
Resim-1
Eğer aşağıdaki gibi root olarak bağlanmak istiyorsak, diğer sunuculara da otomatik root olarak bağlanırız. Ansible ile yöneteceğimiz sunucuların ip address/hostname bilgisini aşağıdaki hosts dosyasına girmemiz gerekmektedir.
Bu host dosyasına yazılan sunucuların erişilebilir olması önemlidir.Erişilebilirlik tüm hostlar için aşağıdaki gibi kontrol edilebilir.
Resim-2
Belirli bir host için ise aşağıdaki gibi kontrol edilir.
Resim-3
Ansible kendi modüllerini içermektedir ya da eğer isterseniz kendi modüllerinizi de yazabilme imkanı sunmaktadır. Modüller Playbookları içerir. Bu Playbook’lar YAML dilinde yazılmıştır.
Örnek Ansible modüllerine aşağıdaki linkten ulaşabilirsiniz.
https://docs.ansible.com/ansible/modules_by_category.html
Aşağıda YAML dilinde yazılan örnek bir playbook dosyasını inceleyelim. Burada tüm hostlara X Agent kurulmak istenmektedir.
Resim-4
Playbook’ları çalıştırmak için ansible-playbook komutunu kullanıyoruz. Bu komut hakkında daha fazla bilgi almak için aşağıdaki komutu çalıştırabiliriz.
Resim-5
Yukarıdaki x.yml dosyasını çalıştırmak için de aşağıdaki komutu kullanıyoruz.
Resim-6
Bugün size Ansible’ın en temel kullanımını yukarıdaki gibi özetlemeye çalıştım, umarım yararlı olmuştur.
Bu konuyla ilgili sorularınızı alt kısımda bulunan yorumlar alanını kullanarak sorabilirsiniz.
Referanslar
TAGs: ansible nedir, ansible temel kullanımı, YAML nedir, redhat, rehdaht ansible