İçeriğe geç
Ansible

Aynı işi onlarca sunucuda elle yapmak, hem zaman alır hem de her seferinde biraz farklı bir sonuç üretir. Ansible bu sorunu, yapılacak işi bir kez yazıp tekrar tekrar aynı şekilde uygulayarak çözer.

Ansible; Red Hat tarafından desteklenen, hedefte kalıcı ajan gerektirmeyen açık-kaynak konfigürasyon yönetimi ve otomasyon aracıdır. Hedef makinelerde daemon çalıştırmaz; Linux/Unix sistemlerde genelde SSH ve uzak Python yorumlayıcısı ile, Windows sistemlerde ise WinRM veya desteklenen SSH akışıyla çalışır. Bu basitlik, Ansible’ı küçük sunucu filolarından büyük operasyonlara kadar aynı disiplinle kullanılabilir kılar.

Konfigürasyon dili YAML‘dır (playbook’lar); değişken ikamesi için Jinja2 kullanılır. Yeniden kullanımın birimi rol‘dür (bir hizmetin tüm konfigürasyon paketi); topluluk paylaşımı Ansible Galaxy ve Automation Hub üzerinden yapılır. Modüller koleksiyonlarda gruplanır (ansible.builtin, community.general, amazon.aws, community.windows, …).

Temel bileşenler

BileşenNe işe yarar
PlaybookYAML dosyası; bir veya daha fazla play içerir; her play bir host grubuna görevleri uygular.
TaskTek bir modül çağrısı; bir kullanıcı açmak, paket kurmak, servis başlatmak gibi.
RoleBir hizmete ait tüm görev / şablon / dosya / default / handler paketi. Yeniden kullanımın birimi.
InventoryHedef host’ların ve gruplarının listesi (statik INI/YAML veya dinamik plugin).
ModuleAnsible’ın hedefte çalıştırdığı iş birimi (copy, package, service, user, …).
CollectionModül + rol + plugin paketi. Galaxy / Automation Hub üzerinden dağıtılır.
Vaultansible-vault komutu ile şifrelenen sırlar (parola, TLS anahtarı, API token).

Ansible Community Edition mi, Automation Platform mı?

Sık karıştırılan bu ikisinin farkı ürün / lisans / destek düzeyindedir; playbook dili aynıdır.

ÖzellikCommunity Edition (ansible-core + AWX)Red Hat Ansible Automation Platform
LisansAçık kaynak (GPLv3)Ticari abonelik (yıllık)
MaliyetÜcretsizManaged node başına lisans; kurumsal bütçe
DestekTopluluk, GitHub IssuesRed Hat kurumsal destek (SLA’lı)
Web arayüz / RBAC / zamanlamaAWX (topluluk) veya AscenderAutomation Controller (eski Tower)
Koleksiyon deposuAnsible Galaxy (public)Automation Hub (private + Red Hat sertifikalı)
Execution EnvironmentsElle yönetilir (Podman / Docker)Hazır, imzalı, sertifikalı imajlar
Event-Driven AnsibleAçık kaynak sürüm mevcutEntegre, desteklenen sürüm
UygulanabilirlikKOBİ, mid-market, kendi yetkin ekibi olan kurumlarRegüle sektör, resmi destek zorunluluğu olan büyük kurum

Mono varsayılan önerisi: ansible-core + AWX / Ascender. Yasal olarak Red Hat imzalı içerik ya da OEM destek zorunluysa AAP. Detaylı AWX ↔ AAP karşılaştırması için AWX / Ascender sayfamıza bakın.

Operasyon modeli

  • Inventory dinamik kaynaklardan gelebilir; cloud API, NetBox veya düz YAML kombinasyonu kullanılabilir.
  • Secrets için ansible-vault veya harici secret manager tercih edilir.
  • Roller tek sorumluluklu tutulur; kullanıcı, paket, servis, güvenlik sıkılaştırma ve uygulama kurulumları ayrılır.
  • Test için Molecule ve CI tabanlı dry-run akışı kullanılır.
  • Terraform/OpenTofu kaynak oluşturur; Ansible işletim sistemi ve uygulama katmanını hazırlar.

Başlangıç kapsamı

Yeni bir Linux sunucuda tipik ilk kapsam; hostname, kullanıcı ve SSH anahtarları, sudo politikası, NTP, paket güncellemeleri, log shipping, izleme ajanı, temel güvenlik sıkılaştırması ve gerekirse uygulama kurulumu olur. Süre ve sıra ortamın standartlarına göre değişir.

Ansible mı, Terraform mu?

Kısa cevap: ikisi de, farklı katmanlar için.

KatmanDoğru araç
Bulut kaynağı yaratma (VM, VPC, IAM, S3 bucket, DNS kaydı)Terraform / OpenTofu
Kubernetes cluster provisioning (EKS, GKE, AKS)Terraform / OpenTofu
İşletim sistemi kurulumu ve konfigürasyonuAnsible
Uygulama dağıtımı (paket, konfig, servis)Ansible
Ağ cihazı (switch, firewall) konfigürasyonuAnsible (Cisco IOS, Arista EOS, Juniper JunOS, FortiOS koleksiyonları)
Operasyonel görev (yeniden başlatma, patch, kullanıcı silme)Ansible
CI/CD pipeline tetikleyicisiGitLab CI, ArgoCD (ikisi de değil)

Terraform çıktısı Ansible envanterine besleme, endüstride standart bir desendir (terraform-inventory, cloud.terraform koleksiyonu).

Windows ve ağ cihazları

Ansible sadece Linux’a bağlı değildir. Windows Server yönetimi (WinRM üzerinden), Active Directory ve GPO yönetimi, Cisco / Arista / Juniper / Fortinet ağ cihazı konfigürasyonu, F5 load balancer politikaları, Palo Alto NGFW kural yönetimi , hepsi ilgili koleksiyonlarla mümkündür. Karma filolarda tek envanter ve tek CI’dan yönetim, ayrı ayrı araç maliyetini ortadan kaldırır.

Yaygın sorunlar ve çözümler

  • Yavaş playbook’lar: gather_facts: false ile hızlandırın; gerekli olduğunda gather_subset ile sadece ihtiyaç duyulan bilgiyi toplayın. pipelining = True (ansible.cfg) ve strategy: free bazı filolarda akışı iyileştirebilir.
  • become permission denied: Hedef host’ta sudo NOPASSWD veya --ask-become-pass / become_password ile sırrın doğru iletildiğinden emin olun. Vault ile şifrelenmiş sudo parolası standart yaklaşımdır.
  • Versiyon kayması: ansible-core sürümü ile koleksiyon sürümlerini requirements.yml dosyasında pin’leyin. Execution Environment (Podman imajı) kullanmak sürüm sürüklenmesini tamamen elimine eder.
  • Idempotency kırılması: shell modülünü kullanmak yerine native modüller. Şart olduğunda changed_when: false ile idempotent shell komutları işaretleyin; koşulsuz “hep değişmiş görünen” görevleri ayıklayın.
  • No module named 'X': Hedef host’un Python sürümü modülün istediğinden düşük. ansible_python_interpreter ile doğru yorumlayıcıyı gösterin veya Execution Environment içine paketleyin.

Kim için uygun, kim için değil

  • Uygun: çok sayıda Linux sunucusunda paket, servis, kullanıcı ve dosya standardizasyonu yapan ekipler
  • Uygun: altyapı kurulduktan sonra uygulama konfigürasyonunu ve bakımını kodla yönetmek isteyen DevOps ekipleri
  • Uygun: Linux, Windows ve ağ cihazlarını tek envanterden yönetmek isteyen karma ortamlar
  • Uygun değil: yalnızca bulut kaynağı oluşturma ihtiyacı olanlar; burada OpenTofu/Terraform daha doğru araçtır
  • Uygun değil: birkaç sunucuda, nadiren değişen ve elle yönetimi zorlamayan küçük ortamlar

Maliyet kalemleri

Ansible’ın çekirdeği ücretsizdir; maliyet işletme tarafında oluşur:

  • Playbook ve envanter bakım emeği
  • Modül/koleksiyon sürüm uyumunun takibi
  • Büyük envanterlerde yanlış hedefleme riskini azaltmak için test ve dry-run disiplini
  • Red Hat destekli kurumsal yönetim isteniyorsa AAP abonelik lisansı

Resmi kaynaklar

Sıkça sorulan sorular

Ansible nedir, ne işe yarar?
Ansible; sunucu yapılandırma, uygulama dağıtımı ve operasyonel görevleri YAML üzerinden otomatikleştiren açık-kaynak bir konfigürasyon yönetimi aracıdır. Hedef makinede ajan çalıştırmaz; Linux/Unix sistemlere genelde SSH + Python, Windows sistemlere ise WinRM veya uygun senaryoda SSH ile bağlanır. Onlarca sunucuda tekrar eden işleri (kullanıcı açma, paket kurma, servis güncelleme, güvenlik yaması) tek komutla, tekrarlanabilir biçimde yapmak için kullanılır.
Ansible ücretsiz mi?
ansible-core ve Galaxy koleksiyonları ücretsizdir; ücretli olan Red Hat Ansible Automation Platform‘dur. AAP, kurumsal destek, Automation Controller, Automation Hub ve Execution Environments sağlar. Ücretsiz bir web arayüzü/denetim katmanı isteyenler için upstream AWX projesi; destekli downstream seçenek isteyenler için CIQ’nun Ascender ürünü değerlendirilir. Ayrıntı için AWX/Ascender sayfamıza bakın.
Ansible Tower artık ne oldu?
Ansible Tower adı artık bağımsız ürün adı olarak öne çıkmaz; Red Hat tarafında Ansible Automation Platform içinde Automation Controller bileşeni olarak devam eder. AAP; Controller + Automation Hub + Event-Driven Ansible + Execution Environments bileşenlerini destekli kurumsal paket olarak sunar. Ücretsiz açık-kaynak kontrol katmanı ise AWX projesidir.
Ansible mi Terraform mu?
Aynı kategoride değiller. Terraform / OpenTofu altyapı kaynaklarını provision eder; Ansible mevcut sistemlerin konfigürasyonunu, paketlerini, servislerini ve uygulama ayarlarını yönetir. Pratikte çoğu ekip önce altyapıyı kurup sonra Ansible ile işletim sistemi ve uygulama katmanını hazırlar.
Ansible ile Windows sunucuları yönetilir mi?
Evet. Ansible kontrol node’u Linux olsa da hedef olarak Windows’u WinRM (HTTPS/5986 önerilir) veya SSH (Windows Server 2022+) üzerinden yönetebilir. ansible.windows ve community.windows koleksiyonları paket kurulumu (Chocolatey / winget), IIS, Active Directory, MSI dağıtımı, Registry ve PowerShell DSC modüllerini içerir. Karma Linux/Windows filoları için tek envanterden yönetim mümkündür.
Ajan gerektirmemesi bir kısıtlama mı?
Çoğu Linux/Unix senaryosunda avantajdır: hedefte kalıcı daemon çalıştırılmaz; SSH erişimi ve Python çalışma ortamı yeterlidir. Windows hedeflerde WinRM veya desteklenen SSH akışı ayrıca tasarlanır. Kapalı ağlarda bastion / jump host üzerinden ProxyCommand ile de çalışır. Push modeli olduğu için büyük envanterlerde paralellik --forks ile ayarlanır; değer ortamın ağ ve hedef kapasitesine göre test edilmelidir.
Ansible'da idempotence nasıl sağlanır?
Idempotence otomatik bir garanti değildir; playbook tasarımına ve kullanılan modüle bağlıdır. Mümkün olan her yerde native modül kullanın (ansible.builtin.copy, package, service, lineinfile); bu modüller mevcut durumu okur, yalnızca gerekliyse değiştirir. shell / command modüllerinden kaçının; şart ise creates, removes ya da changed_when argümanlarıyla durum kontrolü ekleyin. CI pipeline’da her PR için ansible-playbook --check --diff ve rol testleri Molecule ile çalıştırılsın.
Ansible 2026'da hâlâ güncel mi?
Evet. Ansible; Red Hat desteği, Galaxy koleksiyonları ve Automation Platform ekosistemiyle kurumsal otomasyonda güncel bir seçenek olmaya devam ediyor. Event-Driven Ansible (EDA) ile olay-tetikli otomasyon (webhook, Kafka, Prometheus alert) senaryoları da desteklenir. Kubernetes çağında bile bare-metal, ağ cihazları, IoT, kenar bilişim, işletim sistemi provisioning ve tek-seferlik operasyonel görevler için pratik değerini korur.

Bir sonraki dönüşümü birlikte planlayalım.

Ekibimiz teknik gereksinimlerinizi anlamak ve hızlıca prototip çıkarmak için hazır.