Ansible

Ansible Galaxy’de Roller Nasıl Oluşturulur, İndirilir ve Kullanılır – Bölüm 9

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
Create Apache Role in Ansible
Ansible’da Apache Rolü Oluşturma

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

# tree apache
Check Directory Structure of Ansible Role
Ansible Rolünün Dizin Yapısını Kontrol Edin

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
Search Role in Ansible
Ansible’da Rol Arama

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
Check Ansible Role Information
Ansible Rol Bilgilerini Kontrol Edin

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

# ansible-galaxy install 5KYDEV0P5.skydevops-mysql
Install Role in Ansible
Ansible’da Rolü Yükleme

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
Run Ansible Playbook
Ansible Playbook’u çalıştırın

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.

Ansible Galaxy
Ansible Galaxy

Ö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.

Search Monitoring Role in Ansible Galaxy
Ansible Galaxy’de İzleme Rolü Aramak

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.

Check Role Info on Ansible Galaxy
Ansible Galaxy’deki Rol Bilgilerini Kontrol Edin

Ö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
List Installed Roles in Ansible Galaxy
Ansible Galaxy’de Yüklü Rolleri Listeleme

Yazının orijinalini buradan okuyabilirsiniz.