Ansible Nedir 1


Herkese merhababalar uzun zamandır yazmaya niyetlendiğim, fakat ne yapsam da diğer yazılarıma göre, farklı birşey olsa diye beklediğim blog yazımın bir kısmını yazmış bulundum :). Yine, bu yazıda da diğerlerinde olduğu gibi, bol bol cümle hataları yapıp, kodlarda syntax hatasından kaçınmaya çalışacağım.

Son cümle bana sıkıntı yaratmaz diyorsanız, Ansible tam size göre :). Fiyatta anlaştığımız sürece, hiç sıkıntı yok güvenle kullanabilirsiniz.

Gel gelelim bu Ansible eğitiminin içinde neler olacak diye merak ediyorsanız: İşe Türk gibi başlayacağız; memleketin en çok sevilen içeriği olarak XXX nedir?

İndeks

 

Ansible nedir?

Ansible, benim için sürekli olarak yapılan işlerin, yapıların bir daha yapılmaması amacı ile geliştirilen, bir (genel)yönetim sistemidir. Terminal üzerinden gönderdiği komutları bir çok makine üzerinde çalıştırarak tek ekran üzerinden cevap almanızı sağlar. Kolaylık bakımından ssh root@serverIP ‘w’ komutunu yazmış ve cevap almış bir kişinin Ansible’ı anlayamaması için hiç bir sebep yok.

Genel kültür

  • Python ile yazılmıştır.
  • Açık kaynakdır.
    • Yukarıda Ansible-Tower’ın fiyatlarını görüp kaçmayan insanlara, programın ücretsiz olarak sunulduğunu söyleyebilirim.1
    • Ansible Tower2 işin biraz daha arayüze, grafiğe dökülmüş halidir.
  • RedHat tarafından satın alınmıştır.
  • Desteklediği işletim sistemleri
    • Linux
    • Windows
    • BSD/MAC

Diğer provisioning toollara göre avantajları nelerdir?

Açıkçası Puppet ve Chef ile biraz zaman geçirdim.(Bu zamandan kasıt: Kurulum, az biraz yönetim Acaba? sorularının cevaplanması kadar).

Cahil tecrübesi ile, bu sistemler Ansible ile karşılaştırıldığında; farklı olarak Master-Slave ilişkisi ile çalıştıklarından işi biraz daha belirli çerçeveler dahilinde yapıyor diyebilirim. Henüz hepsini değerlendirecek kapasitede olmadığım için, bu kısmı fazla uzun tutamayacağım.

  • Diğer sistemlere çalışırken edindiğim bir kaç bilgi

Neden kullanmalıyım

  • Açıkçası Ansible yapamadığınız veya çözemediğiniz bir işi, artık yapacaksınız diye bir slogan ile piyasaya çıkmıyor. Size önerdiği, daha öncede yaptığınız veya yapabileceğiniz işleri biraz daha düzenli ve bir dahaki tekrarında daha az çaba sarfederek yapmanızı amaçlıyor.

Az çaba sarfetme olayı nereden geliyor?

  • Ansible bize en çok kullanılan komutlar için belirli bir şablon hazırlayıp, bu çerçeve içerisinde bütün komutları modüler veya roller şekilde tekrar tekrar uygulayabilmemizi sağlıyor.
  • Bu modüller, gerçekten de çok çeşitli işlerin yönetilmesini, tek bir çatı altından yönetilmesini sağlıyor.

Neler yönetilebilir?

  • Kendi makinenizde yaptığınız rutin işlerden tut, içine public ssh keyinizi attığınız bütün desteklenen işletim sistemlerini yönetilebilir.
  • Hatta sizi bile yönetebilir. 🙂
  • Şaka bir yana, bu modüller ile sanal oluşturduğunuz routerdan tutunda AWS, Digital Ocean sistemlerin yönetiminin tek çatı altından yürütülmesi gerçekten hoş. Ama yok abicim ben onları kullanmam, iş yapacağım sistemin önce API’sini okuyacağım(eğer yazdılar ise) ve sonra programlayacağım derseniz kolay gelsin. Sana uzun hayatında başarılar :).
  • Durumun aciziyetini anlayıp kullanmak isteyen ölümlüler için bütün modüllerin linki.

Nasıl çalışır?

  • Yönetmek istediğiniz makinenin /root.ssh/authorized_keys3 dosyasına public key’inizi attığınız bütün makineleri istediğiniz o kullanıcı yetkisi ile yönetebilirsiniz.

Yönetmek için gerekli yapılar.

  • SSH servisinin yüklü olması
  • Yönetecek kişinin public ve private ssh key’inin olması.

İkna olmayanlara daha fazlası;