Eyup Aktas
Turk Telekom Bulut Teknolojileri
3 min readJan 28, 2022

--

Ansible Nedir? Ansible Kullanım Alanları

Ansible, açık kaynaklı bir otomasyon platformudur. En basit hali ile IT operasyonlarını otomatize etmek için yazılmış bir framework diyebiliriz.

Ansible, güçlü otomasyon görevlerini yönetebilir ve birçok farklı iş akışına ve ortama uyum sağlayabilir. Playbookların okuması, anlaması ve değiştirmesi kolay otomasyon adımlarından oluşur.Bunları yazmak için özel kodlama becerileri gerekmez. Playbook’lar görevleri sırayla yürütür.

Ansible’ı uygulamaları dağıtmak, yapılandırma yönetimi, workflow otomasyonu ve network otomasyonu için kullanabilirsiniz. Ansible, kullanıcılar hızlı bir şekilde ortamları entegre ederek kullanım sağlana bilmektedir. Kısacası tüm uygulama yaşam döngüsünü düzenlemek için kullanılabilir.

Ansible ajansız erişim saglar. Ansible yönettiği ana bilgisayarlara OpenSSH veya WinRM kullanarak bağlanır ve görevleri; genellikle bu ana bilgisayarlara Ansible modülleri adı verilen küçük programları göndererek çalıştırır.

Ansible Avantajları;

Ansible, Linux, Windows, UNIX ve ağ cihazları, fiziksel, sanal, bulut ve konteyner ortamlarında.YAML metin dosyaları olarak yazılan Ansible Playbook’ların okunması kolaydır ve herkesin ne yapacağını anlamasını sağlamaya yardımcı olur.

HP SA, Puppet, Jenkins, Red Hat ortamınızda bulunan diğer sistemlerden yararlanılabilir ve bunlara entegre edilebilir.Herhangi bir ajan kurulumu gerektirmez.

Ansible Çesitleri;

  • Ansible: Cli ortamında kurulum ve kullanımı mevcuttur. Linux sunucu üzerine ansible paketi kurularak playbook yazıp işlemlerimizi yapabiliriz.
  • AWX: Bir arayüz üzerinden free olarak kullanılabilmektedir. Paketleri sunucu veya conteyner ortamına deploy edilerek işlem başlatılır ve bir arayüz üzerinden projeler olusturarak yaml’ların geliştirilerek işlemler yapılabilir. Bunun ile ilgili bir yazım olacaktır.
  • Tower: Bir arayüz üzerinden lisans alınarak kullanılarabilir. AWX ile aynıdır, sadece lisans oldugu için support almak daha kolaydır.

Ansible ile ilgili kavramlar

Task:Herhangi bir görev, bu dizin altında belirtilir.(Örneğin: paket kurulumu, konfigurasyonu vb.)

Inventory : Üzerinde otomasyon yapacağız cihazlarımızı ya da sunucularımızı yani hostlarımızı tanımladığımız alan.

Vars:Ansible rollerine ait her bir değişken bu dizin altında belirtilir. (Örneğin: kullanıcı id, kullanıcı adı.)

Template:Playbook çalıştığında sunucuda yapılması gereken, yapılandırma ayarları için oluşturulan temel dosyalardır

Module: Ansible dünyasında asıl işi yapan bileşenlerdir. Çok geniş kategoride modüller mevcuttur.

Ansible Uygulama Prametreleri;

Bu parametreleri ansible.cfg dosyasında veya playbook yml file içinde tanımlayabiliriz.

remote_user: Yönetilen bilgisayarlarda oturum açacak kullanıcının adı. Kullanıcı belirtilmez ise geçerli kullanıcının adı kullanılır.

ask_pass: Bir SSH parolası istenip istenmeyeceğini belirtir. SSH public key authentication kullanılıyorsa false yapılır.

become: Managment makinesinin kullanıcısı otomatik olarak değiştirilip değiştirilmeyeceğini bağlandıktan sonra (root) yetkili kullanıcı ile ilerme durumu playbook ile belirlenir.

become_method: Kullanıcı degiştirme için kullanılır.(sudo ile geçiş saglanır)

become_user:management makinesine geçiş için kullanıcı tanımı yapılır. (root).

become_ask_pass: Kullanıcı için bir şifre gereksinimi saglar.

Bu yazımda sizlere kısaca Ansible tanıtmaya çaliştim. Bundan Sonraki yazımda Ansible cli kurulumu ve kullanımı ile devam ediyor olacagız.

--

--