Ansible kurulumu ve yapılandırması Centos/Redhat 8

Linux CentOS / Redhat 8 işletim sistemi üzerinde ansible otomasyon aracının kurulumunu yapalım.

Kurulumunu yapacağım sunucularda internet erişimi mevcut; sizin sunucularınızın internet erişimi yoksa ansible ‘ın offline (çevrimdışı) kurulum dokümanlarını takip ederek kurulumunu gerçekleştirebilirsiniz.

Ansible otomasyon/konfigürasyon aracı konusunda kendinizi geliştirmek ve profesyonel anlamda hakim olmak istiyorsanız Bilginç IT Academy ’nin çok yararlı bir eğitimini tavsiye ediyorum, bunun için Automation with Ansible Eğitimi ‘ne katılabilirsiniz.

Kurulum ve ayarlarımızı yapalım.

Kurulum

CentOS/Redhat 8 işletim sistemi üzerinde repository güncelleme komutlarını çalıştırıyoruz.

sudo yum -y update
sudo yum -y install epel-release

Ansible paketini kuruyoruz.

sudo yum -y install ansible

Son olarak versiyonumuzu kontrol edelim.

ansible --version

Konfigürasyon

/etc/ansible/ dizinini altındaki hosts dosyasını düzenliyoruz.

Bu dosya da ansible ile yöneteceğimiz sunucular için kullanıcı adı,şifre, bağlantı yöntemi vb. gibi parametrik bilgilerimizi tanımlıyoruz.

vim /etc/ansible/hosts

Örnek olarak, benim envanter’im aşağıdaki gibidir. Siz de linux ve windows sunucuları olmak üzere veya database sunucuları olarak gruplandırma yapabilirsiniz.

Not: Inventory dosyasının içeriğini ilk kurulum sonrası -örnekleri- tamamen silebilirsiniz, sonrasında baştan kendi sunucularınızı tanımlayabilirsiniz.

[windows]
m1.mustafasolmaz.com
m2.mustafasolmaz.com

[linux]
redis1.mustafasolmaz.com
redis2.mustafasolmaz.com
redis3.mustafasolmaz.com

[database]
sql.mustafasolmaz.com

Client sunucuları yani ansible ile yöneteceğiniz sunucuları nasıl ayarlayacağız ?

Windows sunucular için winrm, linux sunucular veya ssh ile bağlanılabilen tüm sistemleri yönetilebilmesi için ssh yeterli olacaktır. Ansible otomasyon aracının en güzel özelliğinden birisi de ajan gereksinimi olmadan yönetebilmesidir.

Biz aşağıdaki örneğimizde linux sunucularımız için ssh tanımlarına bakalım. Ansible server ‘da ssh key oluşturmamız gerekiyor ve yine aşağıda belirttiğim komut ile bunu bağlanacağımız client sunuculara kopyalayarak sunucuların birbirleri arasında güven oluşturacağız.

ssh-keygen
ssh-copy-id kullanici_adi@sunucu_adi

SSH keygen ile oluşturduğumuz /root/.ssh (benim root kullanıcımın home dizininde) dosyaları, yukarıdaki “ssh-copy-id” komutu ile hedef sunucudaki (hedef sunucuya hangi user ile bağlanacaksanız) o kullanıcının home dizinindeki .ssh dizinine id_rsa ve id_rsa.pub dosyalarını kopyalamalısınız.

Bu işlemleri tamamladıktan sonra basitçe ansible sunucusunda ping testini yaparak bağlantınızı test edebilirsiniz.

ansible all -m ping

“all” , ansible hosts dosyasının içindeki tüm sunucuları belirtir eğer ki hepsine erişimi kontrol etmek istemiyorsanız (yukarıdaki örnek ping testi olduğu için, farklı bir işlem de olabilir); hosts dosyası içindeki grup ismini yani köşeli parantez ile belirttiğimiz örneğin sadece linux sunucular için [linux] şeklinde komutu verebilirsiniz.

Yaml dosyalarını kullanarak otomasyon örneklerine buradan gözatabilirsiniz.

Bir Cevap Yazın

EnglishTurkish
%d blogcu bunu beğendi: