Ansible Control Node Nasıl Kurulur ve Yapılandırılır - Bölüm 2


Önceki konuda temel Ansible terminolojilerini ve temel kavramları öğreneceksiniz. Bu konuda (Ansible serisinin 2. Bölümü), RHEL 8'de bir Ansible kontrol düğümünü nasıl kurup yapılandırabileceğinizi göstereceğiz.

Kurulumumuzda 1 Ansible sunucusu ve 2 uzak Linux düğümü 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 Düğümü nedir?

Kontrol düğümü, üzerinde Ansible'ın yüklü olduğu ve uzak ana makineleri veya düğümleri yönetmek için kullanılan bir Linux sunucusudur. Bu uzak sistemler, Yönetilen Ana Bilgisayarlar veya Yönetilen düğümler olarak bilinir.

Yukarıdaki kurulumda kontrol düğümü, Ansible'ın kurulacağı RHEL 8 sunucusu ve Debian 10 ve CentOS 8<'dir. yönetilen ana bilgisayarlardır.

NOT: Ansible, yönetilen ana bilgisayarlara değil, yalnızca kontrol düğümüne yüklenir.

Adım 1: Python 3'ü Yükleme

Varsayılan olarak RHEL 8 Python 3 ile birlikte gelir ve çalıştırarak sunucunuzda yüklü Python sürümünü 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 fazla Python sürümü mevcutsa, Python 3'ü varsayılan Python sürümü olarak ayarlayabilirsiniz. koşarak.

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 Ansible için resmi 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'inizi RedHat aboneliğine kaydettiğinizden emin olun.

Adım 3: Ansible'ı RHEL 8'e yükleyin

RHEL 8 sistemimiz olan Control düğümüne Ansible'ı yüklemek için komutu çalıştırın.

dnf install ansible -y

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

ansible --version

Adım 4: Statik Ana Bilgisayar Envanter Dosyası Oluşturma

Şu ana kadar RHEL 8 sunucumuz olan Kontrol Düğümü'ne ansible'ı başarıyla yükledik. Kontrol düğümü tarafından yönetilecek uzak düğümlerin envanter dosyası adı verilen bir dosyada tanımlanması gerekir. Envanter dosyası, kontrol düğümünde bulunan ve uzak ana bilgisayarların ana bilgisayar adlarından veya IP adreslerinden oluşan düz bir metin dosyasıdır.

Statik ana bilgisayar dosyası, IP adresleri veya ana bilgisayar adlarıyla tanımlanan yönetilen düğümlerin listesini içeren düz metin dosyasıdır. /etc/ansible/ dizininde 'hosts' statik bir dosya oluşturalım.

vi /etc/ansible/hosts

Ardından, yönetilen ana 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 itibaren statik ana bilgisayar dosyası aşağıdaki gibi tanımlanacaktır:

[webserver]
192.168.0.15

[database_server]
192.168.0.200

Envanter dosyasını kaydedin ve çıkın.

Yönetilen ana bilgisayarları listelemek için şunu çalıştırın:

ansible all -i hosts --list-hosts

Şu ana kadar kontrol düğümüne Ansible'ı kurmayı ve yönetilen ana bilgisayarları kontrol düğümünde bulunan statik bir Ana Bilgisayar dosyasında tanımlamayı başardık.

Daha sonra uzak veya yönetilen ana bilgisayarlarımızı nasıl yönetebileceğimizi veya kontrol edebileceğimizi göreceğiz.

Adım 5: Uzak Düğümlere Bağlanmak için Ansible Kontrol Düğümünü Kurun

Uzak ana bilgisayar sistemlerini (Debian 10 ve CentOS 8) yönetmek için Ansible kontrol düğümü (RHEL 8) için uzak ana bilgisayarlara şifresiz SSH kimlik doğrulaması ayarlamamız gerekiyor. Bunun gerçekleşmesi için bir SSH anahtar çifti oluşturmanız ve genel anahtarı uzak düğümlere kaydetmeniz gerekir.

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

su tecmint
ssh-keygen

Daha sonra, genel ssh anahtarını gösterildiği gibi uzak düğümlere kopyalayın.

ssh-copy-id [email 	        (For Debian 10 node)
ssh-copy-id [email 	        (For CentOS 8 node)

Genel anahtarları tüm uzak düğümlerimize ekledikten sonra, erişilebilir olduklarından emin olmak için Ansible Control düğümünden bir ping komutu yayınlayacağız.

ansible -m ping all

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

Çözüm

Bu kılavuzda, RHEL 8 çalıştıran kontrol düğümüne Ansible'ı başarıyla yükledik ve ayarladık. Daha sonra uzak ana bilgisayarları statik bir ana bilgisayar dosyasında tanımladık ve kontrol düğümünü, SSH parolasız kimlik doğrulamasını ayarlayarak yönetilen ana bilgisayarlara bağlanıp bunları kontrol edecek şekilde yapılandırdık.