Ansible Nedir?

İngilizce: Ansible

Ansible, YAML playbook'larla sunucu kurulumu, konfigürasyon yönetimi ve uygulama dağıtımını agent kurmadan otomatikleştiren araçtır.

Ansible Nedir?

Ansible, sunucuları yapılandırmak, paket kurmak, servisleri yönetmek ve uygulama dağıtmak için kullanılan açık kaynak otomasyon aracıdır. En belirgin farkı, hedef makinelere sürekli çalışan bir agent kurmayı gerektirmemesidir; Linux sunuculara genellikle SSH, Windows sistemlere WinRM üzerinden bağlanır.

Ansible görevleri YAML formatındaki playbook dosyalarında tanımlanır. “Nginx kurulu olsun”, “bu dosya şu içerikle bulunsun”, “servis çalışır durumda olsun” gibi istenen durum yazılır. Modüller bu durumu uygular ve çoğu görev idempotent çalışır; yani aynı playbook tekrar koşulduğunda gereksiz değişiklik yapmaması beklenir.

Temel Bileşenler

  • Inventory: Yönetilecek sunucu ve grupların listesi
  • Playbook: Hangi görevlerin hangi sunucularda çalışacağını anlatan dosya
  • Module: Paket, dosya, servis, kullanıcı veya cloud kaynağı üzerinde işlem yapan hazır parça
  • Role: Tekrar kullanılabilir görev, değişken ve şablon yapısı

İş Dünyasında Kullanımı

Ansible; güvenlik yamalarının dağıtımı, Nginx/Apache kurulumu, kullanıcı yönetimi, uygulama release’i ve ortam hazırlığı için kullanılır. Terraform altyapıyı oluştururken Ansible çoğu zaman o altyapının iç konfigürasyonunu düzenler. CI/CD hattına bağlandığında dağıtım adımları elle yapılan komutlardan çıkıp izlenebilir hale gelir.

Karmaşık playbook’larda değişken yönetimi ve gizli değerler için Ansible Vault veya harici secret manager kullanmak gerekir.