Ansible, açık kaynak kodlu bir yapılandırma yönetimi ve otomasyon aracıdır. Ansible, IT altyapısı yöneticileri tarafından kullanılır ve birden çok sunucunun yönetimini hızlı ve kolay hale getirir. Bu makalede, Ansible’ın nasıl kurulacağına dair bir rehber sunuyoruz.
Ansible Nedir? diye soruyorsanız hemen sizi Ansible Nedir? sayfasına alalım.
Ansible For Windows için : Ansible For Windows: Ansible Windows’da Kullanımı ve Kurulumu
Adım 1: Python Yükleme
Ansible, Python programlama diliyle yazılmıştır ve dolayısıyla Python yüklemesi gerektirir. Python 2 veya Python 3 kullanabilirsiniz. Aşağıdaki komutu kullanarak, Python’un hangi sürümünün yüklü olduğunu öğrenebilirsiniz:
python --version
Eğer Python yüklü değilse, aşağıdaki komutla Python 3’ü yükleyebilirsiniz:
sudo apt update
sudo apt install python3
Adım 2: Ansible Yüklemek için Depoları Güncelleme
Ansible’ı yüklemek için depoları güncellememiz gerekiyor. Aşağıdaki komutlar, Ubuntu’da Ansible kurulumu için gerekli olan depoları günceller:
sudo apt update
sudo apt install software-properties-common
sudo apt-add-repository --yes --update ppa:ansible/ansible
Adım 3: Ansible Yüklemek
Depolar güncellendikten sonra, aşağıdaki komutla Ansible’ı yükleyebilirsiniz:
sudo apt install ansible
Adım 4: Ansible Konfigürasyonu
Ansible‘ı başarıyla yükledikten sonra, yapılandırmamız gerekiyor. Bunun için hosts
dosyasını düzenlememiz gerekiyor. hosts
dosyası, yönetilecek sunucuların listesini içerir. Aşağıdaki komutla varsayılan bir hosts
dosyası oluşturabilirsiniz:
sudo nano /etc/ansible/hosts
Varsayılan hosts
dosyası şöyle görünür:
# Herhangi bir grup tanımlanmıyor
[targets]
localhost ansible_connection=local
Bu dosyayı, yönetmek istediğiniz sunucuların IP adreslerini veya FQDN’lerini ekleyerek düzenleyebilirsiniz. Örneğin:
[servers]
192.0.2.1
192.0.2.2
192.0.2.3
Ayrıca, Ansible‘ın çalıştığı kullanıcı adını belirlemek de mümkündür. Varsayılan kullanıcı, ubuntu
‘dur. Bu kullanıcıyı değiştirmek için ansible.cfg
dosyasını düzenleyebilirsiniz:
sudo nano /etc/ansible/ansible.cfg
Dosyanın alt kısmında, remote_user
satırını düzenleyerek kullanıcıyı değiştirebilirsiniz:
remote_user = myuser
Adım 5: Ansible Test Etme
Ansible’ın doğru şekilde yüklendiğinden emin olmak için, aşağıdaki komutu kullanarak tüm sunuculara bir ping gönderebilirsiniz:
ansible all -m ping
Bu komut, tüm sunuculara bir ICMP ping paketi gönderir ve yanıtlarını kontrol eder. Eğer her şey doğruysa, tüm sunuculardan “pong” yanıtı almalısınız.
Adım 6: Ansible Kullanımı
Ansible ile yapabileceğiniz birçok farklı görev vardır. Ancak, en temel görev, bir komut veya betikin tüm sunucularda çalıştırılmasıdır. Aşağıdaki komut, tüm sunucularda uptime
komutunu çalıştırır:
ansible all -a "uptime"
Bu komut, tüm sunuculardan uptime
çıktısını alır.
Ansible kullanarak, tüm sunucularda bir dosya oluşturmak da oldukça kolaydır. Aşağıdaki komut, tüm sunucularda /tmp/test.txt
adında bir dosya oluşturur:
ansible all -m file -a "path=/tmp/test.txt state=touch"
Adım 7: Ansible Playbook Kullanımı
Ansible Playbook, birden çok görevi bir arada çalıştıran YAML dosyalarıdır. Bir Playbook, tüm sunucular için birden fazla rol tanımlayabilir ve bu rollerdeki görevleri sırayla çalıştırabilirsiniz.
Aşağıda, örnek bir Playbook dosyası verilmiştir:
---
- name: Uptime check
hosts: servers
tasks:
- name: Check uptime
command: uptime
Bu Playbook dosyası, servers
grubundaki tüm sunucularda uptime
komutunu çalıştırır.
Playbook dosyalarını çalıştırmak için aşağıdaki komutu kullanabilirsiniz:
ansible-playbook playbook.yml
Adım 8: Ansible Vault Kullanımı
Ansible Vault, hassas bilgileri şifrelemek için kullanılan bir araçtır. Örneğin, parolalar, kullanıcı adları ve diğer gizli bilgileri şifreleyebilirsiniz.
Aşağıdaki komut, bir Vault dosyası oluşturur:
ansible-vault create vars/vault.yml
Vault dosyasına erişmek için aşağıdaki komutu kullanabilirsiniz:
ansible-playbook --ask-vault-pass playbook.yml
Adım 9: Ansible Roles Kullanımı
Ansible Roles, bir Playbook içindeki görevleri daha iyi organize etmek ve tekrar kullanılabilirliği artırmak için kullanılır. Role dosyalarını, bir dizin yapısı içinde saklayabilirsiniz.
Aşağıdaki komut, yeni bir Role oluşturur:
ansible-galaxy init myrole
Bu komut, myrole
adında yeni bir Role oluşturur ve gerekli dosya ve dizinleri oluşturur.
Role dosyalarını kullanmak için, Playbook dosyasındaki roles
satırına Role adını eklemeniz yeterlidir:
---
- name: My playbook
hosts: servers
roles:
- myrole
Adım 10: Ansible Modülleri
Ansible, birçok farklı modülle birlikte gelir. Bu modüller, tüm sunucularda birçok görevi yerine getirmek için kullanılabilir. Aşağıda, Ansible modüllerinin bazı örnekleri verilmiştir:
apt
: Paket yönetimini kontrol etmek için kullanılır.file
: Dosya ve dizinlerin yönetimi için kullanılır.service
: Servislerin yönetimi için kullanılır.copy
: Dosya veya dizin kopyalamak için kullanılır.command
: Komutları çalıştırmak için kullanılır.
Adım 11: Ansible Tower
Ansible Tower, Ansible’ın ticari sürümüdür. Ansible Tower, otomatikleştirme süreçlerini merkezi olarak yönetmeyi sağlar. Bir web arabirimine sahiptir ve raporlama, izleme ve güvenlik yönetimi gibi birçok özellik sunar.
Ansible Tower kurulumu oldukça kolaydır ve birkaç basit adımdan oluşur. Ayrıca, birçok farklı platformda da çalışabilir.
Adım 12: Ansible Alternatifleri
Ansible, IT altyapısı yönetimi için en popüler araçlardan biridir. Ancak, başka seçenekler de mevcuttur.
Puppet, Chef ve SaltStack gibi diğer açık kaynaklı araçlar, Ansible kadar popülerdir. Ayrıca, Microsoft PowerShell ve Amazon Web Services Systems Manager gibi ticari araçlar da mevcuttur.
Son Olarak
Bu makalede, Ansible’in nasıl kullanılacağına ve kurulacağına dair bir rehber sunduk. Ansible ile yapılabilecek temel görevleri, Playbook ve Role kullanımını, Vault ve Tower gibi ileri seviye özellikleri inceledik. Son olarak, diğer altyapı yönetimi araçlarına da kısaca değindik.
Ansible, açık kaynaklı ve kullanımı kolay bir araçtır. IT altyapısı yöneticileri, Ansible kullanarak işlerini hızlandırabilir ve otomasyon sağlayabilirler.
IT altyapısı yönetimi, büyük veri merkezleri, bulut ortamları ve birçok farklı uygulama için önemli bir konudur. Ancak, bu sistemlerin yönetimi zaman alıcı ve zorlayıcı olabilir. Ansible gibi yapılandırma yönetimi ve otomasyon araçları, işleri hızlandırabilir ve IT yöneticilerinin daha fazla verimlilik sağlamasına yardımcı olabilir.
Bu makalede, Ansible kurulumunu anlattık, temel görevleri ve Playbook kullanımını öğrendik. Ayrıca, Ansible Roles, Vault ve modüller gibi ileri seviye özellikleri de inceledik. Ansible’in alternatifleri hakkında da bilgi verdik.
Ansible, açık kaynak bir araçtır ve birçok farklı platformda çalışabilir. Kullanımı kolaydır ve IT altyapısı yöneticilerinin işlerini hızlandırmalarına yardımcı olur.
Sık Sorulan Sorular
Ansible nedir?
Ansible, açık kaynak bir yapılandırma yönetimi ve otomasyon aracıdır.
Ansible nasıl kurulur?
Ansible, Python yüklemesi, depoların güncellenmesi ve Ansible’ın yüklenmesi adımlarından oluşan bir kurulum sürecine sahiptir.
Ansible hangi programlama diliyle yazılmıştır?
Ansible, Python programlama diliyle yazılmıştır.
Ansible Playbook nedir?
Ansible Playbook, birden çok görevi bir arada çalıştıran YAML dosyalarıdır.
Ansible Role nedir?
Ansible Role, bir Playbook içindeki görevleri daha iyi organize etmek ve tekrar kullanılabilirliği artırmak için kullanılır.
Ansible Modülleri nelerdir?
Ansible Modülleri, tüm sunucularda birçok görevi yerine getirmek için kullanılabilen fonksiyonlardır.
Ansible Vault nedir?
Ansible Vault, hassas bilgileri şifrelemek için kullanılan bir araçtır.
Ansible Tower nedir?
Ansible Tower, Ansible’ın ticari sürümüdür ve otomatikleştirme süreçlerini merkezi olarak yönetmeyi sağlar.
Ansible ne için kullanılır?
Ansible, yapılandırma yönetimi ve otomasyon için kullanılır. Dosya oluşturma, komut çalıştırma, servis yönetimi vb. gibi birçok görevi yerine getirebilir.
Ansible ile ne tür görevler gerçekleştirilebilir?
Ansible ile birçok farklı görev gerçekleştirilebilir, örneğin dosya oluşturma, komut çalıştırma, servis yönetimi vb.
Ansible’nın alternatifleri nelerdir?
Puppet, Chef, SaltStack, Microsoft PowerShell ve AWS Systems Manager gibi diğer yapılandırma yönetimi ve otomasyon araçları Ansible’nin alternatifleri arasındadır.