Ansible adalah software free dan open source yang berfungsi untuk mendeploy aplikasi, configuration management dan orchestration banyak node mengunakan satu system. ansible ditulis mengunakan bahasa pemrograman python. pada saat ini ansible sering digunakan untuk DevOps tool (otomation tool) sangat mempermudah tugas sysadmin dalam memanagement Data Center.
Cara Kerja Ansible
- ansible melakukan management node dengan koneksi SSH
- ansible hanya membutuhkan 1 server sebagai management node untuk push perintah ke semua node yang terdapat pada inventory
- ansible lebih mudah dan praktis dibandingkan dengan management tool lainya seperti puppet karena tidak membutuhkan agent pada setiap node , hanya mengunakan koneksi ssh.
Installasi Ansible
1 2 3 4 |
#apt-get install software-properties-common #apt-add-repository ppa:ansible/ansible #apt-get update #apt-get install ansible |
pada tutorial ini, saya akan mengunakan
- Ansible (Server) management node (Backbox Linux) –> 192.168.43.75
- node (centos 7) –> 192.168.43.19
cek versi ansible
1 2 3 4 |
root@AlanPrastyo:/# ansible --version ansible 2.0.1.0 config file = /etc/ansible/ansible.cfg configured module search path = Default w/o overrides |
Generate key SSH pada Ansible Server dan copy publik key ke semua node di inventory
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
root@AlanPrastyo:/home/alanprastyo# ssh-keygen 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: 9c:66:fa:5f:9f:dd:65:00:37:b8:34:5a:e1:8e:df:c9 root@AlanPrastyo The key's randomart image is: +--[ RSA 2048]----+ | . | | . o | | B o | | . . * = . | | S o o . | | + . o o | | . o E o| | . . . +o| | ... o o| +-----------------+ |
copy ssh publik key ke node server
1 2 3 4 5 6 7 8 9 |
root@AlanPrastyo:/home/alanprastyo# ssh-copy-id -i root@192.168.43.19 /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 root@192.168.43.19's password: Number of key(s) added: 1 Now try logging into the machine, with: "ssh 'root@192.168.43.19'" and check to make sure that only the key(s) you wanted were added. |
Membuat Inventory sebagai list node yang akan di management dengan Ansible
1 2 3 |
root@AlanPrastyo:# nano /etc/ansible/hosts [rcn-servers] 192.168.43.19 |
Menjalankan command pada ansible server, sebelumnya harus di testing koneksi ssh terlebih dahulu
Menjalan perintah shell
Melihat ip address , remote node
cukup sekian tutorial DevOps nya , kalo ada yang ingin di tanyakan bisa langsung komentar saja. Wasalam
System Engineer
Komentar