Ansible Inventory Örnekler ile Kullanımı

İşlemlerimize başlamadan önce inventory isminde bir dosya oluşturup kullanacağımız sunucularımız ip adreslerini yazarak ilk testimize başlayalım.

Listeye eklediğimiz makinelerimize passwordless bağlantı yapabilmemiz adına aşağıdaki makalede paylaşılan bilgileri inventory dosyasının içerisine yazılan sunuculara uygulayalım.

https://www.onurbabur.com/ansible-ssh-key-based-authentication/

İlk testimizi Ansible modullerinden olan pingi kullanarak yapacağız.

ansible all --key-file ~/.ssh/ansible -i inventory -m ping

–key-file -> yukarıdaki makalede gerçekleştirmiş olduğumuz ssh keylerimizin tutulduğu alanımızı gösteriyoruz. ~ işareti linuxde home dizini olarak alınmakta ve ansible keylerimin tutuldugu alan ~/.ssh/ dizini altında olduğu için yolu bu şekilde göstermiş bulunmaktayız.

-i inventory ile inventorymizin bulunduğu dizin içerisinde ise bu şekilde farklı bir alandaysa ilgili inventory alanını göstermemiz gerkemektedir.

-m ise modul anlamına gelmekte ve ping modulunu kullananacağımız anlamına gelir.

Ping modulü ansible içerisinde pong olarak bizlere cevap vermektedir. Giriş olarak ilk testimiz bu şekilde gerçekleştirlmektedir.

Kodumuz içerisinde kullanmış olduğumuz komutların hepsini sürekli yazmamak adına Ansible içerisinde belli değerlerimizi config dosyası oluşturup içerisine ilgili değerleri girip, kodumuzda ilgili config dosyasını kullanmasını istiyebiliriz.

Dosyamızın adı ansible.cfg olacaktır. İlgili cfg dosyası içerisinde aşağıdaki adımları yazabiliriz. inventory yine aynı dizinde bulunan inventory datasını kullanacaksın, private_key_file olarak da key file yolunu gösteriyoruz.

[defaults]
inventory = inventory
private_key_file = ~/.ssh/ansible
ansible all -m ping

Konfigurasyon dosyamız içerisine tanımladığımız değişkenleri kodumuz içerisinde sürekli kullanmadan, konfig datası ile kullanmış bulunuyoruz.

Yine bu sistemlerimizin hepsine apt kurulum paketini kullanarak hwinfo uygulamasını kuralım,

–become –ask-become-pass yetkili bir hesap bilgisi gireceğim bana parola sor dedirtiyoruz. Daha kısa hali de –become -K olarak kullanılabilir.

ansible all -m apt -a name=hwinfo --become --ask-become-pass
ansible all -m apt -a name=hwinfo --become -K

İşlemimiz gerçekleşti ancak yukarda changed : false olarak gözükmekte bunun nedeni kurulum yapmadım değişiklik yapmadan çıkış gerçekleştirdim dedi. İlgili makine üzerinde ilgili uygulama var.

Herhangi bir değişiklik yapılmadığını yukardaki bilgiler yanı sıra /var/log/apt/history.log üzerinden de görebiliriz.

cat /var/log/apt/history.log

Ancak upgrade etmemiz gereken bir paket var, yenisinin yayınlandığını biliyoruz ancak bu yukarda kullandığımız yöntem ile işlemi gerçekleştiremiyoruz. Bu durumda ise apt -a dan sonra isim belirtmiş oluğumuz alanı ” içerisine alıp state belirterek latest versiyon kurulumu yapmak istediğimizi ayarlamalıyız. Bu şekilde komutu çalıştırdığımızda aşağıdaki görüldüğü üzere güncelleme işlemi yapılmaya başlanmıştır.

ansible all -m apt -a "name=ufw state=latest" --become -K 

Tekrardan çalıştırdığımızda artık sürüm güncel olduğu için aksiyon alınmamıştır.

ansible all -m apt -a upgrade=dist --become -K 

Yukarıdaki komut ile de makinelerimizdeki tüm paketlerin güncellenmesini gerçekleştirebiliriz.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir