Ansible
Geliştirici(ler) | Michael DeHaan |
---|---|
Kararlı sürüm | 1.9.2 / 25 Haziran 2015) |
Programlama dili | Python |
İşletim sistemi | GNU/Linux, Unix tipi, Windows |
Tür | Yapılandırma yönetimi |
Lisans | GNU Genel Kamu Lisansı |
Resmî sitesi | ansible.com |
Platformun kurucusu tanınmış sunucu uygulamalası Cobbler'ın yazarı ve uzaktan yönetim için Func çerçevesinin ortak yazarı olan Michael DeHaan'dır.[4] Platform Red Hat'in sahibi olduğu Fedora Linux dağıtımının bir parçası olarak gelmektedir. Ayrıca Red Hat Enterprise Linux, CentOS ve Scientific Linux üzerinde ek paketlerle eklenebilmekte ve başka işletim sistemlerinde de kullanılabilmektedir.[5] Ansible ticari olarak Ansible Inc. tarafından desteklenmekte ve finanse edilmektedir.[6]
Ansible ismi Orson Scott Card'ın Uzay Oyunları isimli romanındaki kurgusal anlık hiperuzay iletişim sisteminden gelmektedir[7] ve ilk olarak Ursula K. Le Guin'in 1966 yılında çıkan romanı Rocannon's World'de kullanılmıştır.
Ansible GNU Genel Kamu Lisansı'na sahiptir.[8]
Mimari
Ansible uçları düzenlemek için modülleri uçlara SSH üzerinden dağıtır. Modüller geçici olarak uçlarda depolanır ve kontrol makinesiyle standart çıktı üzerindeki bir JSON protokolü aracılığıyla iletişim kurar.[9] Ansible uçları kontrol etmezken kaynak tüketmez çünkü Ansible için artalanda herhangi bir hizmet ya da program çalışmaz.[10]
Çoğu popüler yapılandırma yönetimi yazılımının (örneğin Chef, Puppet ve CFEngine) aksine Ansible vekilsiz bir mimari kullanır.[10] Vekil tabanlı bir mimaride kontrol makinesiyle iletişim kurmak için uçlarda yerel olarak kurulmuş bir hizmet olmalı. Vekilsiz bir mimarideyse uçların kontrol makinesiyle bağlantı kurması için herhangi bir hizmetin kurulumuna gerek yoktur. Bu tür mimariler uçların kontrol makinesini sürekli taramasını önleyerek ağ üzerindeki yükü azaltır.[10]
Tasarım Hedefleri
- Doğal olarak küçük. Yönetim sistemleri ortam üzerinde ek bağımlılıklar oluşturmamalıdır.[10]
- İstikrarlı.
- Güvenli. Ansible korunmasız vekilleri uçlara dağıtmaz. Sadece zaten kritik olarak test edilmiş olan OpenSSH gereklidir.[10]
- Çok güvenilir. Betiklerin yeniden çalıştırılmasıyla oluşacak yan etkileri önlemek için dağıtıma eşkuvvetli kaynak modeli uygulanır.[1]
- Düşük öğrenme eğrisi. Oyun Kitapları YAML tabanlı kolay ve tanımlayıcı bir dil kullanmaktadır.
Modüller
Envanter yapılandırması
/etc/ansible/hosts
altındaki INI biçimindeki bir yapılandırma dosyasında tanımlanır. Yapılandırma dosyası Ansible tarafından erişilebilen her bir ucun ya IP adresini ya da ana makine adını listeler. Ayrıca uçlar gruplara atanabilir.[11] Örnek bir yapılandırma dosyası:
192.168.6.1 [webservers] foo.example.com bar.example.com
webservers
grup adı altında gruplandırılmıştır.
Ansible ayrıca herhangi bir yazılım sisteminden veri çekebilen bir özelleştirilmiş "Dinamik Envanter"e de yöneltilebilir.
Oyun Kitapları
Platform desteği
Yönetilen uçlarda Python 2.4 veya daha sonrası olmalıdır. Yönetilen uçlardan Python 2.5 veya öncesi yüklü olanlarda ayrıca python-simplejson
paketinin yüklenmesi gereklidir.[13] Ansible 1.7 sürümünden itibaren Windows[14] uçlarını da yönetebilmektedir.[13]
Bulut bütünleşmesi
Büyük veri bütünleşmesi
Kullanıcılar
Ayrıca bakınız
- Chef
- Puppet
- Salt
Kaynakça
- 1 2 "Achieving Rolling Updates and Continuous Deployment with Zero Downtime" (pdf).
- ↑ "Getting Started | Ansible". 2014-02-06.
- ↑ "Ansible: CM, Deployment, and Ad Hoc Task Execution All in One".
- ↑ "An Interview with Ansible Author Michael DeHaan".
- ↑ "Ansible".
- ↑ "Ansible".
- ↑ "Ansible FAQ".
- ↑
- 1 2 3 4 5 "Ansible in Depth" (pdf).
- 1 2 3 4 5 "The Benefits of Agentless Architecture" (pdf).
- ↑ "Inventory | Ansible". 2014-04-26.
- ↑ "Playbooks | Ansible". 2014-04-26.
- 1 2 "Getting | Started". 2014-02-06.
- ↑ "Ansible 1.7 is released - Windows beta and more!". 2014-08-07.
- ↑ "Ansible is Simple IT Automation". 2014-04-26.