Ansible Serisinin 9. Bölümünde, Ansible Galaxy’de rolleri nasıl oluşturacağınızı, indireceğinizi ve bunları nasıl kullanacağınızı öğreneceksiniz. Ansible, karmaşık görevleri verimli bir şekilde sorunsuz bir şekilde otomatikleştiren basit ama etkili bir yapılandırma yönetimi ve otomatik devreye alma aracıdır. Tek bir çalışma kitabı dosyası kullanarak tek bir kontrol merkezinden yüzlerce hatta binlerce sunucuyu yönetebilirsiniz.
Ancak, aynı hizmeti farklı ortamlarda yönetmek için çalışma kitapları yazmak oldukça külfetli olabilir ve bu genellikle kod fazlalığına yol açar. Ek olarak, daha fazla karmaşıklık, tüm cihazların yönetimindeki zorluğu artırabilir.
Ansible’da roller, çalışma kitaplarını benzer bir görevi gerçekleştirme ihtiyacının ortaya çıktığı diğer birkaç örnekte kullanılabilecek yeniden kullanılabilir dosyalara bölmek için kullanılır. Bu, çalışma kitaplarını tekrar tekrar yeniden yazma ihtiyacını ortadan kaldırır ve büyük ölçüde zaman ve enerji tasarrufu sağlar.
Roller basitçe çalışma kitaplarının işlevleridir. Bir rol, bir çalışma kitabı oluşturabilecek her şeyle birlikte gelir: Görevler, dosyalar, modüller, değişkenler ve şablonlar. Ayrıca, her rolün belirli bir görevle veya istenen çıktıyla sınırlı olduğunu unutmayın.
Ansible Rolü Oluşturma
Ansible’da bir rol oluşturmak için sözdizimini kullanmanız yeterlidir.
# ansible-galaxy init role_name
Geçerli çalışma dizininizde birden çok dizin ve dosya oluşturulacaktır. Bu durumda, /etc/ansible/roles dizininde bir rol oluşturmaya karar verdik.
Apache adında bir rol oluşturalım.
# ansible-galaxy init apache

Rolün dizin yapısına bir göz atmak için ağaç komutunu kullanın.
# tree apache

Gördüğünüz gibi, birkaç dizin oluşturuldu, ancak bunların tümü çalışma kitabında kullanılmayacak.
Şimdi, yeni oluşturduğunuz rolünüzü bir çalışma kitabında kullanmak için, yeni rolünüzün görevler dizininde bulunan main.yml dosyasında bir görev tanımlayın.
/apache/tasks/main.yml --- - hosts: database_servers tasks: - name: Install Apache2 on Ubuntu webserver apt: name: apache2 state: installed
Ardından, bir çalışma kitabı dosyası oluşturun ve rolü gösterildiği gibi çağırın.
--- - hosts: webservers roles: - apache
Ansible Galaxy’den Rol Yükleme
Roller, Ansible Galaxy platformunu kullanarak Ansible topluluğundaki diğer kullanıcılarla kod paylaşmada çok önemlidir. Ansible Galaxy’de, web sunucularının ve veritabanlarının kurulumu, izleme araçları vb. gibi farklı görevleri yerine getiren binlerce role sahip olursunuz.
Ansible Galaxy, çalışma kitaplarınızda kullanabileceğiniz ve görevlerinizi kolaylaştırmaya yardımcı olabileceğiniz bir Ansible rolleri veritabanı veya deposudur.
Ansible Galaxy’de bir rol aramak için komutu çalıştırmanız yeterlidir.
# ansible-galaxy search <role>
Örneğin, mysql adlı bir rolü aramak için
# ansible-galaxy search mysql

Gördüğünüz gibi mysql arama anahtar kelimesiyle eşleşen yüzlerce rol var. Ancak, tüm roller amaçladığınız performansı göstermez, bu nedenle talimatları dikkatlice okumanız önerilir.
Bir rol hakkında daha fazla bilgi toplamak için Ansible komutunu çalıştırmanız yeterlidir:
# ansible-galaxy info 5KYDEV0P5.skydevops-mysql

Örneğimizde 5KYDEV0P5.skydevops-mysql rolünü kuracağız.
# ansible-galaxy install 5KYDEV0P5.skydevops-mysql

Rol indirilir ve /etc/ansible/roles konumunda bulunan varsayılan roller dizinine çıkarılır.
Rol daha sonra bir çalışma kitabında çağrılabilir, örneğin:
--- - name: Install MySQL server hosts: webservers roles: • 5KYDEV0P5.skydevops-mysql
Artık Ansible çalışma kitabını gösterildiği gibi güvenle çalıştırabilirsiniz.
# ansible-playbook install_mysql.yml

Ek olarak, web tarayıcınız aracılığıyla Ansible Galaxy’yi ziyaret edebilir ve kontrol panelinde belirtilen çeşitli görevleri gerçekleştirmek için rolleri manuel olarak arayabilirsiniz.

Örneğin, elastik arama gibi bir izleme rolü aramak için ‘İzleme’ seçeneğine tıklayın ve gösterildiği gibi rolü arayın.

Ansible Galaxy, en popüler ve en çok indirilen rolleri listeleyerek kullanıcıların en iyi rolleri yüklemesini kolaylaştırır. Belirli bir rol hakkında daha fazla bilgi almak için üzerine tıklamanız yeterlidir.

Örneğin, bir çalışma kitabında birden fazla rol belirtebilirsiniz.
--- - name: Install MySQL server hosts: webservers roles: • 5KYDEV0P5.skydevops-mysql • Aaronpederson.mariadb
Yüklenen rolleri listelemek için çalıştırmanız yeterlidir.
# ansible-galaxy list

Yazının orijinalini buradan okuyabilirsiniz.

Kariyerime 26 yıl önce başladım. Windows ve Linux sistemlerinin kurulumu, yapılandırılması, yönetimi ve bakımı dahil olmak üzere birden fazla sistem üzerinde uzmanlaştım.
Açık kaynak dünyasındaki en son gelişmelerden haberdar olmaktan ve Linux hakkındaki en son araçları, özellikleri ve hizmetleri denemekten hoşlanıyorum.
Son 6 yıldır sistem ve ağ yöneticisi olarak görev yapıyorum ayrıca Pardus Dönüşüm Projesini yönetiyorum ve Pardus İşletim Sisteminin yaygınlaşması adına uğraş gösteriyorum.
Boş zamanlarımda açık kaynaklı uygulamaların Türkçe çevirisine katılıyorum ve The Document Foundation üyesiyim.