Ansible Nedir?

Ubuntu Üzerine Ansible Ve AWX Kurulumu - Serdar Bayram - Teknoloji Günlüğü

   Ansible bilgisayarları yapılandırmak ve yönetmek için kullanılan bir özgür yazılım platformudur. Genel olarak bir IT otomasyon aracı diyebiliriz. Çok uçlu yazılım dağıtımını, özel amaçlı görev yürütmeyi ve yapılandırma yönetimini birleştirir. Uçları SSH veya PowerShell üzerinden yönetir ve üzerlerinde Python olmasına ihtiyaç duyar. 

  Ansible popüler bir ürünle olmaklar birlikte, Red Hat ansible satın almıştır. Normalde ansible kendi bünyesinde açık ve kapalı olarak iki ürünü vardı. Ancak Red Hat hiç bir ürününün kaynak kodu kapalı değildir. Satın aldıktan sonra, Red Hat belli bir süre sonra kaynak kodunu açmaktadır. Ansible sadece Red Hat tarafından değil, HPE, Intel gibi bir çok global firma tarafından geliştirilmektedir. Popüler olma sebeplerinden en önemlisi yaml formatı kullanmasıdır. Makinalarınıza herhangi bir agent kurmanıza gerek kalmaz.  Uygulama yükleyebilir, sadece linux değil windows ve storage yönetebilirsiniz.

Unutmayın işi yüklenen otomasyonunu modül ve eklentileri  ile gerçekleştiren kişi ansible core'dur. Ansiblenin diğer versiyonu Ansible tower ile komut satırından ulaşamayacağımız, rol bazlı yetkilendirme, merkezi loglama veya API gibi eksikleri gidermektedir. Kısaca kurumsal yapılarda, ansible tower olması gerekmektedir.

Ansible ile ilgili bazı kavramlardan bahsedelim.

  • Inventory: Ansible yöneteceği sunucu adları veya IP Adreslerinin tanımlandığı belgedir. Varsayılan dosya yolu, /etc/ansible/hosts dosyasıdır. İsteğe bağlı değiştirilebilir.
  • Module: Bağımsız komut dosyasıdır. Modüller ile kullanıcılar, paketleri, servisleri yönetebilir.
  • Fact: İşletim sistemleri hakkında, bilgileri keşif eder ve bunları görmenizi sağlar. Bu sayede işlem yapmadan önce sürümlere göre aksiyon alabilirsiniz.
  • Play: Her bir görev, play olarak adlandırılır. Sırası ile birden fazla işlemi yerine getirebilir.
  • Playbook: Birden fazla görevlerin tanımlandığı, hangi sistemleri kapsadığı, hangi konfigürasyonların yapılacağı ve tanımlandığı yapılandırma belgesidir.

Genel Öne Çıkan  Özellikler;

  • Bulut provizyonu
  • Uygulama dağıtımı
  • Konfigürasyon yönetimi
  • Sunucu işlemleri
  • Playbook'ları zamanlayabilirsiniz, mail alabilirsiniz.
  • Amazon, vmware vb. ürünlerden otomatik envanter oluşturabilirsiniz.
  • Workflow oluşturulabilir.

Ön Gereksinimler

  • Ansible Server | Ubuntu 18.04 or Ubuntu 20.04 LTS
  • Ansible Worker | Ubuntu 18.04, Oracle Linux 8
  • OpenSSH*
  • ufw | firewalld allow ssh
  • Tüm Sunucularda aynı kullanıcı hesabı

Yapılacak Adımlar

  1. Ansible kurulması
  2. SSH key oluşturulması ve uzak sunuculara dağıtılması
  3. Ansible envanter oluşturulması
  4. Ad-hoc
  5. Playbook

Ansible kurulumundan sonra diğer adımlara geçebilirsiniz. 2. adım ssh key oluşturulması ve uzak sunuculara dağıtılması.

NOT: Sunucu güncellemelerinden sonra, ansible kurmadan sunucunuzu yeniden başlatınız.

Ansible kurulum için resmi döküman sayfasına bakınız:

https://docs.ansible.com/ansible/latest/installation_guide/intro_installation.html

Ubuntu 18x-20x LTS

Ansible için yeni bir sunucu kurduğum için ilk olarak sunucu paket listesini ve üzerindeki tüm yazılımlarını güncelleme işlemini gerçekleştiriyorum. Güncelleme yapmadan önce, hangi paketlerin yükseltileceğini kontrol etmek faydalı olacaktır.

apt list --upgradable
sudo apt update -y && sudo apt upgrade -y 

PPA'yı makinenizde yapılandırmak ve Ansible'ı kurmak için şu komutları çalıştıralım.

sudo apt install software-properties-common
sudo add-apt-repository --yes --update ppa:ansible/ansible
sudo apt install ansible 

Oracle 8x

Ansible için yeni bir sunucu kurduğum için ilk olarak sunucu paket listesini ve üzerindeki tüm yazılımlarını güncelleme işlemini gerçekleştiriyorum.

sudo yum update && yum upgrade -y 

Ansible varsayılan depo üzerinde bulunmadığı için, oracle epel deposunu eklememiz gerekmektedir. Extra Packages for Enterprise Linux (Kurumsal Linux için Ekstra Paketler ) anlamına gelen EPEL ücretsiz başarılı bir havuzdur.

sudo yum install oracle-epel-release-e18 -y 

 Ansible kurulumunu gerçekleştirelim.

Kurulum yaparken herhangi bir versiyon belirtmediğimiz için, ansible en son sürüm kurulacaktır. Versiyon bilgisini kontrol edelim. Ek olarak varsayılan konfig dosyasını, modüllerin nerde tutulduğunu görebiliriz.

ansible --version 
Blog'a Dön