Cara Memasang dan Mengonfigurasi Node Kontrol yang Mungkin - Bagian 2


Pada topik sebelumnya, Anda mempelajari tentang terminologi dasar dan konsep dasar yang mungkin. Dalam topik ini (Bagian 2 dari seri Ansible), kami akan mendemonstrasikan bagaimana Anda dapat menginstal dan mengonfigurasi node kontrol Ansible di RHEL 8.

Dalam pengaturan kami, kami akan menggunakan 1 server Ansible dan 2 node Linux jarak jauh:

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

Apa itu Node Kontrol yang Mungkin?

Node kontrol adalah server Linux yang telah menginstal Ansible di dalamnya dan digunakan untuk mengelola host atau node jarak jauh. Sistem jarak jauh ini dikenal sebagai Host Terkelola atau Node Terkelola.

Dalam pengaturan di atas, node kontrol adalah server RHEL 8 tempat Ansible akan diinstal dan Debian 10 & CentOS 8< adalah host yang dikelola.

CATATAN: Ansible hanya diinstal pada node kontrol dan bukan pada host terkelola.

Langkah 1: Menginstal Python 3

Secara default, RHEL 8 hadir dengan Python 3 dan Anda dapat memverifikasi versi Python yang diinstal di server Anda dengan menjalankannya.

python3 -V

Jika karena alasan apa pun Python3 tidak diinstal, instal menggunakan perintah dnf berikut.

dnf install python3

Jika ada beberapa versi Python di sistem RHEL 8 Anda, Anda dapat menyetel Python 3 sebagai versi Python default dengan berlari.

alternatives --set python /usr/bin/python3

Langkah 2: Aktifkan Repositori RedHat Resmi

Setelah menginstal Python3, pastikan Anda telah mengaktifkan repositori resmi RedHat untuk Ansible seperti yang ditunjukkan di bawah ini.

subscription-manager repos --enable ansible-2.8-for-rhel-8-x86_64-rpms

CATATAN: Agar perintah di atas berfungsi, pastikan Anda telah mendaftarkan langganan RHEL 8 untuk RedHat.

Langkah 3: Instal Ansible di RHEL 8

Untuk menginstal Ansible pada node Kontrol yang merupakan sistem RHEL 8 kami, jalankan perintah.

dnf install ansible -y

Setelah terinstal, Anda dapat memeriksa versi Ansible yang diinstal dengan menjalankan perintah.

ansible --version

Langkah 4: Membuat File Inventaris Host Statis

Sejauh ini, kami telah berhasil menginstal ansible di Control Node yang merupakan server RHEL 8 kami. Node jarak jauh yang akan dikelola oleh node kontrol perlu didefinisikan dalam file yang disebut file inventaris. File inventaris adalah file teks biasa yang berada di node kontrol dan terdiri dari nama host atau alamat IP host jarak jauh.

File host statis adalah file teks biasa yang berisi daftar node terkelola yang ditentukan berdasarkan alamat IP atau nama hostnya. Mari kita buat file statis 'hosts' di direktori /etc/ansible/.

vi /etc/ansible/hosts

Selanjutnya, tentukan grup untuk host terkelola Anda. Kami memiliki 2 host terkelola seperti yang terlihat sebelumnya pada penyiapan pada pengenalan topik ini. Dari pengaturan, file host statis akan didefinisikan sebagai berikut:

[webserver]
192.168.0.15

[database_server]
192.168.0.200

Simpan dan keluar dari file inventaris.

Untuk membuat daftar host terkelola, jalankan:

ansible all -i hosts --list-hosts

Sejauh ini, kami telah berhasil menginstal Ansible di node kontrol dan menentukan host terkelola dalam file Host statis yang berada di node kontrol.

Selanjutnya, kita akan melihat bagaimana kita dapat mengelola atau mengontrol host jarak jauh atau terkelola.

Langkah 5: Siapkan Node Kontrol yang Mungkin untuk Terhubung dengan Node Jarak Jauh

Untuk Node kontrol yang memungkinkan (RHEL 8) untuk mengelola sistem host jarak jauh (Debian 10 dan CentOS 8) kita perlu mengatur otentikasi SSH tanpa kata sandi ke host jarak jauh. Agar hal ini terjadi, Anda perlu membuat pasangan kunci SSH dan menyimpan kunci publik ke node jarak jauh.

Pada node kontrol Ansible, masuk sebagai pengguna biasa dan buat pasangan kunci SSH dengan menjalankan perintah.

su tecmint
ssh-keygen

Selanjutnya, salin kunci ssh publik ke node jarak jauh seperti yang ditunjukkan.

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

Setelah menambahkan kunci publik ke semua node jarak jauh, kami akan mengeluarkan perintah ping dari node Ansible Control untuk memastikan bahwa node tersebut dapat dijangkau.

ansible -m ping all

Dari output di atas, kita dapat melihat dengan jelas bahwa perintah ping berhasil dan kita dapat menguji keterjangkauan ke semua node.

Kesimpulan

Dalam panduan ini, kami berhasil menginstal dan menyiapkan Ansible pada node kontrol yang menjalankan RHEL 8. Kami kemudian mendefinisikan host jarak jauh dalam file host statis dan mengonfigurasi node kontrol untuk menghubungkan dan mengontrol host terkelola dengan menyiapkan otentikasi tanpa kata sandi SSH.