Ö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
Herhangi bir nedenle Python3 kurulu değilse, aşağıdaki dnf komutunu kullanarak kurun.
# dnf install python3
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
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
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
Kurulduktan sonra, komutu çalıştırarak kurulu Ansible sürümünü kontrol edebilirsiniz.
# ansible --version
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
Ş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
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)
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
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.