Cara Menginstal Ansible di Rocky Linux 8 atau Almalinux

Pelajari perintah untuk menginstal dan mengkonfigurasi Ansible di Rocky Linux 8 atau CentOS untuk mengotomatiskan proses menginstal dan mengkonfigurasi beberapa server Linux secara bersamaan.

Jika Anda harus mengelola beberapa server Linux, maka secara manual mengonfigurasi dan menginstal perangkat lunak pada masing-masing server tidak hanya memakan waktu tetapi juga tugas yang padat karya. Dengan demikian, Otomasi atau orkestrasi digunakan dalam lingkungan seperti itu.

Sudah ada aplikasi terkenal yang tersedia untuk melakukan orkestrasi untuk sistem server/pusat data seperti Ansible, Puppet, Chef, dan beberapa lainnya. Nah, di sini kita belajar tentang Ansible dan bagaimana menggunakannya untuk mengelola beberapa server secara terpusat untuk menginstal berbagai paket; penyebaran kode, konfigurasi jaringan, manajemen cloud, dan banyak lagi.

Ansible adalah proyek sumber terbuka yang disponsori oleh RedHat, jadi jika seseorang menginginkan, mendukung, dan interface grafis untuk Ansible, mereka dapat menggunakan ‘Menara’ tambahan berbayar yang ditawarkan oleh RedHat. Salah satu keuntungan terbesar dari Ansible adalah “buku pedoman” siap pakai yang tersedia di GitHub.

Ansible bekerja dalam prosedur push dan tidak memerlukan instalasi lebih lanjut pada sistem individual selain SSH dan Python. Dibandingkan Chef and Puppet, pengelolaan dan useran Ansible lebih mudah,

Langkah-langkah untuk menginstal Ansible di Rocky Linux 8

Langkah-langkah dan perintah yang diberikan di sini untuk menginstal Ansible juga berlaku untuk AlmaLinux dan CentOS 8.

1. Jalankan pembaruan sistem

Di server atau desktop Rocky Linux 8 Anda, buka command terminal dan pertama-tama jalankan perintah pembaruan sistem tempat Anda berencana menyiapkan Ansible.

pembaruan sudo dnf

2. Aktifkan repositori EPEL

Untuk menginstal Ansible pada Rocky Linux 8 tersedia di repositori EPEL sementara dependensi lainnya dapat diselesaikan dan diinstal melalui repositori default dan appstream. Jadi, aktifkan EPEL di Linux Anda menggunakan manajer paket default-

sudo dnf install epel-release

3. Instal Ansible di Rocky Linux

Sekarang, jalankan perintah Ansible utama yang akan mengambil dan menginstal paket-paketnya bersama dengan persyaratan lain seperti Python.

Sudo dnf install mungkin

Terima permintaan untuk menginstal paket dan kunci GPG dengan mengetik – Y dan tekan

4. Periksa versi Ansible di Rocky Linux

Mari kita periksa versi penginstal Ansible di sistem kita menggunakan-

mungkin –versi

Sesuatu ini akan menjadi hasilnya jika semuanya bekerja dengan baik-

ansible 2.9.21 file konfigurasi = /etc/ansible/ansible.cfg jalur pencarian modul yang dikonfigurasi = [‘/home/h2s/.ansible/plugins/modules’, ‘/usr/share/ansible/plugins/modules’] python yang memungkinkan lokasi modul = /usr/lib/python3.6/site-packages/ansible executable location = /usr/bin/ansible python version = 3.6.8 (default, 12 Apr 2021, 07:42:28) [GCC 8.3.1 20191121 (Red Hat 8.3.1-5)] [ [ dilindungi email ] ~]$

5. Konfigurasikan Server Target

Server yang ingin Anda kelola menggunakan Ansible harus menginstal SSH dan port 22 dibuka di firewall untuk mengaksesnya dari sistem lain seperti yang diinstal dengan Ansible.

Di sini kita menggunakan satu Ubuntu, Debian, dan CentOS sebagai server yang akan kita gunakan untuk mengkonfigurasi menggunakan Ansible. Jadi, untuk menginstal server SSH dan membuka port 22 di dalamnya, Anda dapat menggunakan perintah ini.

Untuk server Ubuntu & Debian-

sudo apt install openssh-server Sudo systemctl enable ssh

untuk mengizinkan port 22 di firewall-

sudo ufw izinkan 22

Untuk RHEL atau CentOS

sudo dnf install openssh-server Sudo systemctl enable sshd

Izinkan 22 di firewall-

sudo firewall-cmd –zone=public –permanent –add-port=22/tcp

Jadi, di sini untuk melakukan tutorial ini kita memiliki tiga server Ubuntu, Debian, dan CentOS, berikut adalah alamat IP dalam kasus kita.

  • Ubuntu – 192.168.189.172
  • CentOS – 192.168.0.102
  • Debian – 192.168.0.104

6. Hasilkan Kunci SSH di Rocky Linux yang mungkin diinstal

Untuk menginstal paket atau melakukan beberapa penerapan di server target jarak jauh, buat sepasang kunci SSH di localhost dan kemudian dorong di setiap server jarak jauh sehingga kita dapat mengelolanya menggunakan SSH.

Cukup ketik dan tekan tombol Enter beberapa kali hingga pembuatan kunci tidak selesai.-

ssh-keygen

7. Salin kunci SSH ke server Jarak Jauh atau Target

Sekarang, tekan kunci yang dihasilkan di Rocky Linux ke server jarak jauh yang ingin Anda konfigurasikan atau kelola. Anda harus mengetahui nama user server jarak jauh atau menggunakan user root default.

Catatan : Ganti h2s dengan user sudo server jauh atau gunakan root default. Juga, ganti alamat Ip dengan server Anda.

ssh-copy-id [ dilindungi email ] ssh-copy-id [ dilindungi email ] ssh-copy-id [ dilindungi email ]

Sekarang, di setiap server jalankan perintah di bawah ini, sehingga kita dapat menjalankan perintah dengan sudo menggunakan Ansible tetapi tanpa memasukkan password.

echo “$(whoami) ALL=(ALL) NOPASSWD:ALL” | sudo tee /etc/sudoers.d/$(whoami)

8. Buat File Inventaris untuk Host Jarak Jauh

Di Ansible, kita membuat file tempat kita akan menentukan semua host jarak jauh atau sistem target yang ingin kita kelola. Kita juga dapat membuat grup host, misalnya satu grup adalah server Web yang hanya berisi sistem jarak jauh yang menjalankan beberapa server web seperti Apache, dan yang lainnya dapat berupa grup Mysql yang menjalankan server basis data dan seterusnya. File Inventory juga penting karena menggunakannya perintah, modul, dan tugas dalam buku pedoman akan beroperasi.

Jadi, seperti di sini dalam tutorial ini kita memiliki tiga server jarak jauh, mari tambahkan ke file host Ansible.

sudo dnf install nano -y

sudo nano /etc/ansible/hosts

Jika Anda tidak ingin membuat grup apa pun, cukup tempel alamat IP server jauh atau nama domain Anda di file tersebut, sedangkan untuk membuat grup, Anda harus menentukannya sebelum menambahkan alamat IP. Anda dapat mengedit nilai file inventaris Ansible default yang sudah memiliki beberapa contoh atau menambahkan Anda sendiri di akhir file.

Di sini saya menambahkan dua server untuk grup host yang diidentifikasi oleh server web dan satu server akan didefinisikan sebagai individu.

Di tangkapan layar, Anda dapat melihat-

192.168.189.172

Ini adalah server ungroup

sedangkan

[server web] 192.168.0.102 192.168.0.104

berada dalam grup yang disebut server web. Manfaat membuat grup adalah, kita dapat mengeluarkan satu perintah ke seluruh rangkaian server yang ditentukan dalam grup host tertentu. Misalnya, saya dapat menginstal server apache di semua server jarak jauh yang ditambahkan dalam grup yang disebut server web secara bersamaan. Dengan cara yang sama, Anda dapat menentukan grup database dan lainnya.

Persediaan Catatan-dengan SSH kustom por t

Jika Anda menggunakan beberapa server yang tidak memiliki port SSH 22 default, misalnya server yang berjalan di Docker, maka kita juga dapat mendefinisikannya dengan alamat Ip. Contoh-

192.168.0.104 ansible_user = jauh-server-nama ansible_port = 49.153

⇒ Dalam perintah di atas mengganti alamat IP, remote-server-nama user, dan nomor port dan menambahkannya ke file persediaan.

Untuk menyimpan file cukup tekan Ctrl+X, Ketik- Y, dan tekan tombol Enter.

9. Ping Semua server Jarak Jauh yang ditambahkan

Karena kita telah berhasil membuat file inventaris, mari periksa apakah Ansible kita dapat melakukan ping ke semua server yang ditambahkan atau tidak, untuk itu-

Untuk melakukan ping ke grup host-

ansible -m ping nama grup

contoh – memungkinkan -m ping server web

Untuk melakukan ping ke satu server

mungkin -m ping alamat ip

contoh – ansible -m ping 192.168.189.172

Untuk melakukan ping semua.

mungkin -m ping semua

10. Perintah umum yang mungkin untuk menginstal paket atau mengambil info dari server jarak jauh

Sekarang, katakanlah Anda ingin menginstal server web Apache pada satu grup server yang telah Anda tentukan di file Inventory. Karena di sini kita telah menamai satu server web, jadi kita menggunakannya, Anda dapat menggunakan nama apa pun yang telah Anda berikan ke grup server Anda.

Sintaks perintah

ansible -b –become-method=sudo -m shell -a ‘ perintah untuk mengeksekusi ‘ server web

Misalnya, menjalankan pembaruan dan menginstal server apache pada sistem Debian dan Ubuntu jarak jauh secara bersamaan.

ansible -b –become-method=sudo -m shell -a ‘apt update’ server web

Menginstal Apache

ansible -b –become-method=Sudo -m Shell -a ‘apt install -y Apache2’ server web

Untuk menjalankan perintah di atas yang sama untuk semua PC jarak jauh yang ditentukan, jalankan-

ansible -b –become-method=Sudo -m Shell -a ‘apt install -y Apache2 ‘ semua

Untuk ungroup host, Anda dapat menggunakan alamat IP mereka, contoh-

ansible -b –become-method=sudo -m shell -a ‘ apt install -y apache2 ‘ 192.168.0.104

Anda juga dapat menggunakan perintah lain yang tidak memerlukan sudo seperti untuk memeriksa uptime-

ansible -m perintah -a ” uptime ” nama grup/alamat ip

Perintah di atas yang sama dapat digunakan untuk tujuan lain, cukup ganti waktu aktif dengan perintah yang ingin Anda jalankan di server jauh dan juga ubah nama grup/alamat IP.

Untuk informasi lebih lanjut, lihat Dokumentasi resmi.