Sobes.tech
Junior

Yapılandırma için Ansible'da roller ve playbook'lar yazmak konusunda ne kadar aktif oldunuz?

sobes.tech yapay zeka

AI'dan gelen yanıt

Oldukça aktif. Ana görev, sunucuların tutarlı yapılandırmasını sağlamak ve uygulamaların dağıtımını otomatikleştirmekti.

Hem Ansible Galaxy'den hazır roller hem de projelerin ihtiyaçlarına özel olarak geliştirilmiş roller kullanıldı. Playbook'lar, görevleri düzenlemek, roller arasındaki bağımlılıkları yönetmek ve yürütme sırasını belirlemek için kullanıldı.

Ansible ile çözülen görev örnekleri:

  • Web sunucularının (NGINX, Apache) kurulumu ve yapılandırması.
  • Veritabanlarının (PostgreSQL, MySQL) yapılandırması.
  • Mikroservislerin dağıtımı.
  • Kullanıcılar ve grupların yönetimi.
  • Güvenlik duvarlarının yapılandırılması.
  • Paketlerin ve bağımlılıkların yönetimi.
  • Uygulama dağıtımlarının derlenmesi ve dağıtılması.

Rol ve playbook yazarken aktif olarak kullanıldı:

  • Dinamik yapılandırma dosyaları oluşturmak için Jinja2 şablon sistemi.
  • Yapılandırma değişikliklerinden sonra işlemleri gerçekleştirmek için Handler'lar.
  • Belirli parametreleri yönetmek için değişkenler (group_vars, host_vars).
  • Farklı kaynaklardan bilgi almak için Lookup eklentileri.
  • Koşullara bağlı görevleri yürütmek için Koşullar.

Basit bir rol yapısına örnek:

// handlers/main.yml
---
# my_role için handlers dosyası

// tasks/main.yml
---
# my_role için görevler dosyası

Basit bir playbook örneği:

// playbook.yml
---
- Web sunucusunu yapılandır
  hosts: webservers
  become: evet # Görevleri süper kullanıcı haklarıyla yürüt
  roller:
    - my_web_server_role

Versiyon kontrol sistemleri, pull request'ler ve kod incelemeleriyle birlikte çalışıldı. Ayrıca, rollerin test edilmesi için Molecule gibi araçlar da kullanıldı.

Ansible bileşeni Kullanım
Roller Kodun organizasyonu ve tekrar kullanımı
Playbook'lar Görevlerin ve rollerin orkestrasyonu
Değişkenler Yapılandırmanın deklaratif yönetimi
Handlers Değişikliklere tepki
Jinja2 Şablonları Dosyaların dinamik oluşturulması