BT Yönetimi için 'Ansible' Otomasyon Aracı Nasıl Kurulur ve Yapılandırılır - Bölüm 1


Ansible, yalnızca SSH kullanarak herhangi bir kesinti olmadan düğümlerdeki yazılım uygulamalarını yapılandırmak, yönetmek ve dağıtmak için kullanılan açık kaynaklı, güçlü bir otomasyon yazılımıdır. Günümüzde BT Otomasyon araçlarının çoğu uzak ana makinede aracı olarak çalışıyor, ancak ansible'ın eylemini gerçekleştirmek için yalnızca bir SSH bağlantısına ve uzak düğümlere Python'un (2.4 veya üstü) yüklenmesi gerekiyor.

Ansible Nasıl Çalışır?

Puppet, Capistrano, Chef, Salt, Space Walk vb. gibi birçok benzer otomasyon aracı mevcuttur, ancak Ansible iki tür sunucuya ayrılır: makinelerin ve düğümlerin kontrol edilmesi.

Ansible'ın kurulu olduğu kontrol makinesi ve Node'lar SSH üzerinden bu kontrol makinesi tarafından yönetilmektedir. Düğümlerin konumu, makinenin envanteri aracılığıyla kontrol edilmesiyle belirlenir.

Kontrol eden makine (Ansible), SSH protokolünü kullanarak modülleri düğümlere dağıtır ve bu modüller, uzak düğümlerde geçici olarak depolanır ve standart çıkış üzerinden bir JSON bağlantısı aracılığıyla Ansible makinesiyle iletişim kurar.

Ansible aracısızdır; bu, uzak düğümlerde herhangi bir aracı kurulumuna gerek olmadığı anlamına gelir; dolayısıyla, herhangi bir düğümü yönetmediğinde, Ansible için herhangi bir arka planda çalışan program veya programın yürütülmediği anlamına gelir.

Ansible, SSH bağlantısı üzerinden tek bir sistemdeki 100'lerce düğümü işleyebilir ve tüm operasyon tek bir 'ansible' komutuyla gerçekleştirilebilir ve yürütülebilir. Ancak bazı durumlarda, dağıtım için birden fazla komut yürütmeniz gerektiğinde burada taktik kitapları oluşturabiliriz.

Başucu kitapları, birden fazla görevi gerçekleştirebilen bir grup komuttur ve her bir başucu kitabı YAML dosya biçimindedir.

Ansible'ın Kullanımı Nedir?

Ansible, yazılım uygulamalarını uzak düğümlere yönetmek ve dağıtmak için BT altyapısında kullanılabilir. Örnek olarak diyelim ki tek bir yazılımı veya birden fazla yazılımı tek bir komutla 100'lerce node'a dağıtmanız gerekiyor, burada ansible devreye giriyor, Ansible yardımıyla tek bir komutla birden fazla node'a kadar uygulama dağıtabilirsiniz, ancak yanıtlanabilir komut dosyalarını anlamak için biraz programlama bilgisine sahip olmanız gerekir.

Ansible hakkında, 'BT Altyapınızın Ansible BT Otomasyon Aracıyla Dağıtımına Hazırlık' başlıklı, 1-4. bölümler aracılığıyla bir dizi derledik ve aşağıdaki konuları ele aldık.

Bu yazıda, RHEL/CentOS 7/6, Fedora 21-19, Ubuntu 14.10-13.04 ve Debian 7/6 sistemlerine 'Ansible'ın nasıl kurulacağını göstereceğiz ve ayrıca nasıl yönetileceğine dair bazı temel bilgileri gözden geçireceğiz. paketleri kurarak, güncellemeleri uygulayarak ve temelden profesyonele kadar çok daha fazlasını yaparak bir sunucu.

Önkoşullar

  1. İşletim Sistemi: RHEL/CentOS/Fedora ve Ubuntu/Debian/Linux Mint
  2. Jinja2: Python için modern, hızlı ve kullanımı kolay, bağımsız bir şablon motoru.
  3. PyYAML: Python programlama dili için bir YAML ayrıştırıcısı ve yayıcısı.
  4. parmiko: Yerel bir Python SSHv2 kanal kitaplığı.
  5. httplib2: Kapsamlı bir HTTP istemci kitaplığı.
  6. sshpass: Etkileşimli olmayan bir ssh şifre kimlik doğrulaması.

Ortam Kurulumum

Kontrol Makinesi – Ansible
Operating System :	Linux Mint 17.1 Rebecca
IP Address	 :	192.168.0.254
Host-name	 :	tecmint.instrcutor.com
User		 :	tecmint
Uzak Düğümler
Node 1: 192.168.0.112
Node 2: 192.168.0.113
Node 3: 192.168.0.114

Adım 1: Controlling Machine'in Kurulumu – Ansible

1. Sunucuya 'Ansible'ı kurmadan önce, öncelikle sunucu adı ve IP Adresi gibi sunucunun ayrıntılarını doğrulayalım. Sunucuya root kullanıcı olarak giriş yapın ve bu kurulumda kullanacağımız sistem ayarlarını onaylamak için aşağıdaki komutu uygulayın.

sudo ifconfig | grep inet

2. Sistem ayarlarınızı onayladıktan sonra sisteme 'Ansible' yazılımını kurmanın zamanı geldi.

Ubuntu/Debian/Linux Mint'te

Burada sistemdeki resmi Ansible PPA deposunu kullanacağız, depoyu eklemek için aşağıdaki komutları çalıştırmanız yeterli.

sudo apt-add-repository ppa:ansible/ansible -y
sudo apt-get update && sudo apt-get install ansible -y

RHEL/CentOS/Fedora'da

Ne yazık ki RedHat tabanlı klonlar için resmi bir Ansible deposu yok, ancak RHEL/CentOS 6, 7 ve şu anda desteklenen Fedora dağıtımları altında epel deposunu etkinleştirerek Ansible'ı kurabiliriz.

Fedora kullanıcıları Ansible'ı varsayılan depo aracılığıyla doğrudan kurabilirler, ancak RHEL/CentOS 6, 7 kullanıyorsanız EPEL deposunu etkinleştirmeniz gerekir.

Epel deposunu yapılandırdıktan sonra aşağıdaki komutu kullanarak Ansible'ı yükleyebilirsiniz.

sudo yum install ansible -y

Başarıyla kurulduktan sonra aşağıdaki komutu çalıştırarak sürümü doğrulayabilirsiniz.

ansible --version

Adım 2: SSH Anahtarlarını Uzak Ana Bilgisayarlara Hazırlama

4. Yerel ana bilgisayardan uzak ana bilgisayara herhangi bir dağıtım veya yönetim gerçekleştirmek için öncelikle ssh anahtarlarını oluşturup uzak ana bilgisayara kopyalamamız gerekir. Her uzak ana bilgisayarda bir tecmint kullanıcı hesabı olacaktır (sizin durumunuzda farklı bir kullanıcı olabilir).

Öncelikle aşağıdaki komutu kullanarak bir SSH anahtarı oluşturalım ve anahtarı uzak ana bilgisayarlara kopyalayalım.

ssh-keygen -t rsa -b 4096 -C "[email "

5. SSH Anahtarını başarıyla oluşturduktan sonra, şimdi oluşturulan anahtarı üç uzak sunucunun tümüne kopyalayın.

ssh-copy-id [email 
ssh-copy-id [email 
ssh-copy-id [email 

6. Tüm SSH Anahtarlarını uzak ana bilgisayara kopyaladıktan sonra, kimlik doğrulamanın çalışıp çalışmadığını kontrol etmek için şimdi tüm uzak ana bilgisayarlarda bir ssh anahtarı kimlik doğrulaması gerçekleştirin.

ssh [email 
ssh [email 
ssh [email