Merhaba, bu makalede sektörde yaygın olarak kullanılan Ansible uygulamasına değineceğiz.
Ansible temel olarak tek noktadan sunucuları yönetmenizi sağlayan bir otomasyon aracıdır. Redhat tarafından piyasa sürülmüş olup ve geliştirilmektedir.
Ansible control-node bulunmakta ve diğer sunucular ve network cihazları bu node üzerinden yönetilmektedir. Ansible agent dediğimiz işlem yapacağımız cihazlara SSH bağlantısı üzerinden işlemleri gerçekleştirmektedir. Şimdi deAnsible'nin temel bilenlerini inceleyelim.
Inventory
İsminden de anlaşılacağı üzere yönetmek istediğimiz sistemlerin içeren dosyadır. Aşağıdaki örnek bir inventory dosyasını görüntüleyebilirsiniz. Sizler yapınıza göre bunları daha karmaşık hale getirebilirsiniz.
[Webserver]
192.168.1.131
192.168.1.132
[Database]
192.168.1.133
Playbooks
Uzak bilgisayarda hangi görevlerin yerine getirileciğini söyleyen dosyadır. YAML formatı şeklinde yazılmaktadır.
`---
- name: Apache Kurulum Playbook
hosts: Webserver
tasks:
- name: Apache Kurulumu
yum:
name=httpd
state=latest
- name: Apache Servis Restart
service:
name=httpd
state=started
Modul:
Modules, belirli görevleri gerçekleştirmek için kullanılan Ansible’ın bireysel bileşenleridir. Örneğin; yukarıda yum modulu ile httpd servisini kurduk, service modulu ile servisi restart ettik.
Şimdi master node üzerinden agentlara SSH-key ile bağlantısı gerçekleştirip bağlantının gerçekleştirilmediğini görelim.
Master node üzerinde
ssh-keygen -t rsa
ssh-copy-id suleyman@192.168.1.131
ssh-copy-id suleyman@192.168.1.132
ssh-copy-id suleyman@192.168.1.133
Şimdi bunu tüm agentlara yaptıktan sonra aşağıdaki komutla erişimi test edebiliriz.
ansible all -m ping -u suleyman
Aşağıdaki gibi bir çıktı ile karşılaştıysanız işlemler başarılı demektedir. Sonraki makalelerde görüşmek üzere...
Top comments (0)