Ansible adalah perangkat lunak sumber terbuka dan gratis yang dapat digunakan untuk mengotomatiskan penyediaan perangkat lunak, manajemen konfigurasi, dan penerapan aplikasi. Tidak seperti Wayang atau Koki, Anda tidak perlu menyiapkan lingkungan server-klien sebelum menggunakan Ansible. Anda dapat mengelola beberapa host dari lokasi pusat. Alat ini sangat sederhana namun kuat untuk mengotomatisasi lingkungan aplikasi TI multi-tingkat yang kompleks. Ansible berkomunikasi melalui saluran SSH normal untuk mengambil informasi dari mesin jarak jauh dan melakukan tugas.
Dalam tutorial ini, kita akan mempelajari cara menginstal dan menggunakan Ansible di server Ubuntu 18.04.
Persyaratan
- Dua sistem server Ubuntu 18.04 dengan server OpenSSH terpasang.
- Alamat IP statis 192.168.0.101 disiapkan di sistem server dan 192.168.0.104 disiapkan di sistem klien.
- Pengguna non-root dengan hak sudo telah diatur di kedua sistem.
Memulai
Sebelum memulai, perbarui sistem Anda dengan versi terbaru dengan perintah berikut:
sudo apt-get update -y
sudo apt-get upgrade -y
Setelah sistem Anda diperbarui, mulai ulang sistem Anda untuk menerapkan perubahan.
Instal dan Konfigurasikan Kemungkinan
Secara default, Ansible versi terbaru tidak tersedia di repositori default Ubuntu 18.04. Jadi, Anda perlu menambahkan Ansible PPA ke server Anda. Anda dapat melakukannya dengan menjalankan perintah berikut:
sudo apt-add-repository ppa:ansible/ansible
Selanjutnya, perbarui repositori dan instal Ansible dengan perintah berikut:
sudo apt-get update -y
sudo apt-get install ansible -y
Setelah instalasi selesai, Anda dapat memeriksa versi Ansible dengan perintah berikut:
sudo ansible --version
Keluaran:
ansible 2.7.1 config file = /etc/ansible/ansible.cfg configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules'] ansible python module location = /usr/lib/python2.7/dist-packages/ansible executable location = /usr/bin/ansible python version = 2.7.15rc1 (default, Nov 12 2018, 14:31:15) [GCC 7.3.0]
Selanjutnya, Anda perlu menentukan sistem klien yang ingin Anda kelola dalam file host Ansible. Anda dapat melakukannya dengan mengedit file /etc/ansible/hosts:
sudo nano /etc/ansible/hosts
Tambahkan baris berikut:
[Client] node1 ansible_ssh_host=192.168.0.104
Simpan dan tutup file, setelah Anda selesai.
Konfigurasikan Kunci SSH untuk Sistem Klien
Ansible menggunakan SSH untuk berkomunikasi dengan host Klien. Jadi, Anda perlu mengonfigurasi otentikasi ssh berbasis kunci untuk host Klien.
Pertama, buat pasangan kunci SSH dengan perintah berikut:
ssh-keygen
Keluaran:
Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa): 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:bTVjTCKqxD8rnIw7/6mB6ZH9cnhzzOFg+/+x4clSOow [email protected] The key's randomart image is: +---[RSA 2048]----+ | . . . | | . . . + | | o . * | | . o . o o | | . o S o | | O .oo.. . | | * Bo.* + oo | | ..oo+=.E =o = | | ooo*++...+* | +----[SHA256]-----+
Selanjutnya, salin kunci publik ini ke sistem Klien dengan perintah berikut:
ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]
Keluaran:
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub" /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 [email protected]'s password: Number of key(s) added: 1 Now try logging into the machine, with: "ssh '[email protected]'" and check to make sure that only the key(s) you wanted were added.
Bekerja dengan Ansible
Ansible sekarang diinstal dan dikonfigurasi. Saatnya uji waktu Ansible.
Di server Ansible, coba ping sistem Klien Anda menggunakan Ansible dengan perintah berikut.
ansible -m ping Client
Keluaran:
node1 | SUCCESS => { "changed": false, "ping": "pong" }
Jika Anda memiliki beberapa klien yang dikonfigurasi dalam file host Ansible Anda. Kemudian, Anda dapat melakukan ping ke semua sistem Klien dengan perintah berikut:
ansible -m ping all
Anda dapat memeriksa status server web Apache pada sistem Klien dengan perintah berikut:
ansible -m shell -a 'service apache2 status' Client
Keluaran:
node1 | CHANGED | rc=0 >> * apache2 is running
Untuk memeriksa ukuran partisi sistem Klien, jalankan perintah berikut:
ansible -m shell -a 'df -h' Client
Keluaran:
node1 | CHANGED | rc=0 >> Filesystem Size Used Avail Use% Mounted on /dev/sda1 138G 48G 83G 37% / none 4.0K 0 4.0K 0% /sys/fs/cgroup udev 1.9G 4.0K 1.9G 1% /dev tmpfs 384M 1.2M 383M 1% /run none 5.0M 0 5.0M 0% /run/lock none 1.9G 67M 1.9G 4% /run/shm none 100M 36K 100M 1% /run/user /dev/sda5 225G 35G 180G 16% /Data
Selamat! Anda telah berhasil menginstal dan mengonfigurasi Ansible di server Ubuntu 18.04. Sekarang Anda dapat dengan mudah menggunakan Ansible untuk menjalankan tugas sederhana dari jarak jauh.