Ansible

Ansible Kontrol Merkezi Nasıl Kurulur ve Yapılandırılır – Bölüm 2

Önceki konuda, temel Ansible terminolojilerini ve temel kavramları gördük. Bu konuda (Ansible serisinin 2. Bölümü), RHEL 8’de bir Ansible kontrol merkezini nasıl kurabileceğinizi ve yapılandırabileceğinizi göstereceğiz.

Kurulumumuzda 1 Ansible sunucusu ve 2 uzak Linux bilgisayarı kullanacağız:

Control Node 1: RHEL 8 Server     IP: 192.168.0.108         Ansible Server
Managed Host 1: Debian 10         IP: 192.168.0.15          Webserver
Managed Host 2: CentOS 8          IP: 192.168.0.200	    Database Server

Ansible Kontrol Merkezi nedir?

Kontrol merkezi, üzerinde Ansible’ın kurulu olduğu ve uzak ana bilgisayarları yönetmek için kullanılan bir Linux sunucusudur. Bu uzak sistemler, Yönetilen Bilgisayarlar olarak bilinir.

Yukarıdaki kurulumda, kontrol merkezi Ansible’ın kurulacağı RHEL 8 sunucusudur ve Debian 10 & CentOS 8, yönetilen bilgisayarlardır.

NOT: Ansible yalnızca kontrol merkezine kurulur, yönetilen bilgisayarlara kurulmaz.

1. Adım: Python 3’ü Kurma

Varsayılan olarak RHEL 8, Python 3 ile birlikte gelir ve sunucunuzda kurulu Python sürümünü çalıştırarak doğrulayabilirsiniz.

# python3 -V
Python Sürümünü Kontrol Edin

Herhangi bir nedenle Python3 kurulu değilse, aşağıdaki dnf komutunu kullanarak kurun.

# dnf install python3
Python3’ü RHEL 8’e kurun

RHEL 8 sisteminizde birden çok Python sürümü varsa, aşağıdaki komutu çalıştırarak Python 3’ü varsayılan Python sürümü olarak ayarlayabilirsiniz.

# alternatives --set python /usr/bin/python3
Varsayılan Python Sürümünü Ayarlama

2. Adım: Resmi RedHat Deposunu Etkinleştirin

Python3’ü yükledikten sonra, aşağıda gösterildiği gibi RedHat’ın resmi Ansible deposunu etkinleştirdiğinizden emin olun.

# subscription-manager repos --enable ansible-2.8-for-rhel-8-x86_64-rpms
RedHat Ansible Deposunu Etkinleştirme

NOT: Yukarıdaki komutun çalışması için, RHEL 8 for RedHat aboneliğinizi kaydettirdiğinizden emin olun.

3. Adım: Ansible’ı RHEL 8’e kurun

Ansible’ı RHEL 8 sistemimiz olan Kontrol merkezine kurmak için komutu çalıştırın.

# dnf install ansible -y
Install Ansible in RHEL 8

Kurulduktan sonra, komutu çalıştırarak kurulu Ansible sürümünü kontrol edebilirsiniz.

# ansible --version
Ansible Sürümünü Kontrol Etme

4. Adım: Sunucu Envanter Dosyası Oluşturma

Şimdiye kadar, RHEL 8 sunucumuz olan Kontrol Merkezine ansible’ı başarıyla kurduk. Kontrol merkezi tarafından yönetilecek uzak bilgisayarların, envanter dosyası adı verilen bir dosyada tanımlanması gerekir. Envanter dosyası, kontrol merkezinde bulunan ve uzak bilgisayarların adlarından veya IP adreslerinden oluşan bir düz metin dosyasıdır.

Hosts dosyası, IP adresleri veya bilgisayar adlarıyla tanımlanan yönetilen bilgisayarların bir listesini içeren düz metin dosyasıdır. /etc/ansible/ dizininde bir ‘hosts’ dosyası oluşturalım.

# vi /etc/ansible/hosts

Ardından, yönetilen bilgisayarlarınız için bir grup veya gruplar tanımlayın. Bu konunun girişindeki kurulumda daha önce görüldüğü gibi 2 yönetilen ana makinemiz var. Kurulumdan sonra hosts dosyası aşağıdaki gibi görünecektir:

[webserver]
192.168.0.15

[database_server]
192.168.0.200

Yönetilen bilgisayarları listelemek için aşağıdaki komutu çalıştırabilirsiniz:

# ansible all -i hosts --list-hosts
Ana Bilgisayar Envanter Dosyasını Kontrol Edin

Şimdiye kadar Ansible’ı kontrol merkezine kurmayı ve yönetilen bilgisayarları kontrol merkezinde bulunan bir Host dosyasında tanımlamayı başardık.

Ardından, uzak veya yönetilen bilgisayarlarımızı nasıl yönetebileceğimizi veya kontrol edebileceğimizi göreceğiz.

Adım 5: Ansible ile Uzak Bilgisayarlara Bağlanmak

Ansible kontrol merkezinin (RHEL 8) uzak bilgisayar sistemlerini (Debian 10 ve CentOS 8) yönetmesi için uzak bilgisayarlara parolasız SSH kimlik doğrulaması kurmamız gerekir. Bunun gerçekleşmesi için bir SSH anahtar çifti oluşturmanız ve ortak anahtarı uzak bilgisayarlara kaydetmeniz gerekir.

Ansible kontrol merkezinde normal bir kullanıcı olarak oturum açın ve komutu çalıştırarak SSH anahtar çiftini oluşturun.

# su tecmint
$ ssh-keygen
SSH Anahtarları Oluşturun

Ardından, genel ssh anahtarını gösterildiği gibi uzak bilgisayarlara kopyalayın.

$ ssh-copy-id tecmint@192.168.0.15	        (For Debian 10 node)
$ ssh-copy-id tecmint@192.168.0.200	        (For CentOS 8 node)
SSH Anahtarını Uzak Ana Bilgisayara Kopyalayın

Ortak anahtarları tüm uzak bilgisayarlara ekledikten sonra, erişilebilir olduklarından emin olmak için Ansible Control merkezinden bir ping komutu göndereceğiz.

$ ansible -m ping all
Tüm Uzak Düğümlere Ping At

Yukarıdaki çıktıdan, ping komutunun başarılı olduğunu ve tüm düğümlere erişilebilirliği test edebildiğimizi açıkça görebiliriz.

Yazının orijinalini buradan okuyabilirsiniz.