Ansible adalah platform otomatisasi sumber terbuka dan gratis yang digunakan oleh administrator sistem untuk menginstal, mengonfigurasi, dan menyediakan beberapa sistem sekaligus. Saat ini lingkungan TI sangat kompleks dan seringkali perlu ditingkatkan dengan sangat cepat. Otomatisasi membuat pekerjaan administrator sistem dan pengembang lebih mudah, dan memungkinkan mereka untuk memusatkan perhatian pada tugas lain yang menambah nilai bagi organisasi. Ansible sangat mudah diatur dan digunakan; Anda tidak memerlukan keahlian coding untuk menggunakan Ansible.
Dalam posting ini, kami akan menunjukkan cara menginstal Ansible di Oracle Linux 8.
Prasyarat
- Server yang menjalankan Oracle Linux 8 di Atlantic.Net Cloud Platform. Ini akan menjadi Node Manajer Anda
- Server kedua yang menjalankan Oracle Linux 8 di Atlantic.Net Cloud Platform. Ini akan menjadi Node Pekerja Anda
- Kata sandi root yang dikonfigurasi di server Anda
Langkah 1 – Buat Server Cloud Atlantic.Net
Pertama, masuk ke Server Cloud Atlantic.Net Anda. Buat server baru, pilih Oracle Linux 8 sebagai sistem operasi dengan setidaknya 2GB RAM. Hubungkan ke Server Cloud Anda melalui SSH dan masuk menggunakan kredensial yang disorot di bagian atas halaman.
Setelah Anda masuk ke server Anda, jalankan perintah berikut untuk memperbarui sistem dasar Anda dengan paket terbaru yang tersedia.
dnf update -y
Langkah 2 – Siapkan Otentikasi Berbasis Kunci SSH
Sebelum memulai, Anda perlu mengatur login tanpa kata sandi SSH antara node kontrol Ansible dan node manajer. Anda dapat melakukannya dengan menyiapkan autentikasi berbasis kunci SSH.
Pertama, buat kunci privat dan publik menggunakan perintah berikut:
ssh-keygen -t rsa
Anda akan melihat output berikut:
Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa): Created directory '/root/.ssh'. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /root/.ssh/id_rsa. Your public key has been saved in /root/.ssh/id_rsa.pub. The key fingerprint is: SHA256:0qOchzAC0Asm8WPlduL7ZxN6C5NUelScBo2nYVuqPMs example@unixlinux.online The key's randomart image is: +---[RSA 3072]----+ |oo . .=.. | |+o.o +.B | |+.+.+ ..oO | | o.+ o =+ | | . +.+.S | | . *+B.. | | ..O+.. | | .E+= | | .+.o | +----[SHA256]-----+
Selanjutnya, salin kunci publik yang dihasilkan ke node terkelola Ansible menggunakan perintah berikut:
ssh-copy-id -i ~/.ssh/id_rsa.pub example@unixlinux.online
Anda akan melihat output berikut:
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub" The authenticity of host '192.168.1.10 (192.168.1.10)' can't be established. ECDSA key fingerprint is SHA256:4K4sZbu1hLHzDGlwmWAJng6nDbxDqp6hnv65KDaOAn0. Are you sure you want to continue connecting (yes/no/[fingerprint])? yes /usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed /usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys example@unixlinux.online's password: Number of key(s) added: 1 Now try logging into the machine, with: "ssh 'example@unixlinux.online<server-ip>'" and check to make sure that only the key(s) you wanted were added.
Sekarang, jalankan perintah berikut untuk menguji login tanpa kata sandi SSH:
ssh example@unixlinux.online
Langkah 3 – Instal Ansible di Oracle Linux 8
Sekarang, Anda perlu menginstal paket Ansible pada node kontrol Ansible. Secara default, paket Ansible tidak tersedia di repo default Oracle Linux 8, jadi Anda harus menginstalnya dari repo EPEL.
Pertama, instal repo EPEL menggunakan perintah berikut:
dnf install -y epel-release
Selanjutnya, instal paket Ansible menggunakan perintah berikut:
dnf install ansible -y
Setelah Ansible diinstal, verifikasi versi Ansible dengan perintah berikut:
ansible --version
Anda akan melihat output berikut:
ansible 2.9.27 config file = /etc/ansible/ansible.cfg configured module search path = ['/root/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules'] ansible python module location = /usr/lib/python3.6/site-packages/ansible executable location = /usr/bin/ansible python version = 3.6.8 (default, Nov 10 2021, 06:50:23) [GCC 8.5.0 20210514 (Red Hat 8.5.0-3.0.2)]
Langkah 4 – Konfigurasikan Host yang Memungkinkan
Selanjutnya, Anda perlu mengedit file konfigurasi Ansible hosts dan menentukan server Linux jarak jauh yang ingin Anda kelola.
Anda dapat mengeditnya dengan perintah berikut:
nano /etc/ansible/hosts
Tambahkan baris berikut:
[web] server1 ansible_ssh_host=<manager-node-ip> ansible_ssh_port=22 ansible_ssh_user=root [database] dbserver1 ansible_ssh_host=<worker-node-ip> ansible_ssh_port=22 ansible_ssh_user=root
Simpan dan tutup file setelah Anda selesai.
Selanjutnya, edit file konfigurasi Ansible dan nonaktifkan peringatan penghentian dan pemeriksaan kunci host:
nano /etc/ansible/ansible.cfg
Tambahkan baris berikut di bawah [default]:
deprecation_warnings=False host_key_checking = False
Simpan dan tutup file setelah Anda selesai.
Langkah 5 – Cara Menggunakan Ansible
Pada titik ini, Ansible diinstal dan dikonfigurasi. Sekarang, Anda perlu memeriksa fungsionalitas Ansible menggunakan perintah ad-hoc Ansible:
Pertama, periksa konektivitas semua node yang dikelola menggunakan perintah berikut:
ansible -m ping all
Jika semuanya baik-baik saja, Anda akan melihat output berikut:
dbserver1 | SUCCESS => { "ansible_facts": { "discovered_interpreter_python": "/usr/bin/python" }, "changed": false, "ping": "pong" } server1 | SUCCESS => { "ansible_facts": { "discovered_interpreter_python": "/usr/bin/python" }, "changed": false, "ping": "pong" }
Jika Anda hanya ingin memeriksa konektivitas server database, jalankan perintah berikut:
ansible -m ping database
Anda akan mendapatkan output berikut:
dbserver1 | SUCCESS => { "ansible_facts": { "discovered_interpreter_python": "/usr/bin/python" }, "changed": false, "ping": "pong" }
Untuk memeriksa memori kosong pada node server web, jalankan perintah berikut:
ansible -m shell -a "free -m" web
Anda akan mendapatkan output berikut:
server1 | CHANGED | rc=0 >> total used free shared buff/cache available Mem: 1817 621 210 21 985 1006 Swap: 0 0 0
Untuk memeriksa versi MySQL pada node server database, jalankan perintah berikut:
ansible -m shell -a "mysqladmin --version" database
Anda akan melihat output berikut:
dbserver1 | CHANGED | rc=0 >> mysqladmin Ver 8.0.26 for Linux on x86_64 (Source distribution)
Langkah 6 – Buat Playbook yang Memungkinkan untuk Menginstal Paket pada Node Terkelola
Ansible memungkinkan kami membuat buku pedoman untuk menentukan semua tugas yang ingin kami lakukan pada node yang dikelola. Pertama, buat direktori untuk menyimpan buku pedoman Anda.
mkdir project
Selanjutnya, navigasikan ke direktori yang dibuat dan buat file YAML menggunakan perintah berikut:
cd project nano app.yaml
Tambahkan konfigurasi berikut:
- name: Install Packages hosts: - web - database tasks: - name: Install php and nginx package: name: - php - httpd state: present
Simpan dan tutup file, lalu jalankan playbook menggunakan perintah berikut:
ansible-playbook app.yaml
Setelah playbook Ansible berhasil dijalankan, Anda akan mendapatkan output berikut:
PLAY [Install Packages] ********************************************************************************************************************** TASK [Gathering Facts] *********************************************************************************************************************** ok: [server1] ok: [dbserver1] TASK [Install php and apache] **************************************************************************************************************** ok: [server1] changed: [dbserver1] PLAY RECAP *********************************************************************************************************************************** dbserver1 : ok=2 changed=1 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0 server1 : ok=2 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
Anda sekarang dapat memverifikasi versi PHP pada node server web menggunakan perintah berikut:
ansible -m shell -a "php -v" web
Anda akan mendapatkan output berikut:
server1 | CHANGED | rc=0 >> PHP 7.2.24 (cli) (built: Oct 22 2019 08:28:36) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
Kesimpulan
Dalam panduan ini, kami menjelaskan cara menginstal Ansible di Oracle Linux 8. Kami juga menjelaskan cara menggunakan perintah ad-hoc Ansible dan buku pedoman untuk menyediakan node yang dikelola. Anda sekarang dapat menggunakan Ansible untuk menyediakan dan mengelola seluruh infrastruktur TI Anda dengan mudah. Cobalah di hosting VPS dari Atlantic.Net!