Tutorial Linux Indonesia -- Ansible
meruapakan tools open
source yang digunakan
untuk manajemen server
konfigurasi dari nol. Di
gunakan untuk mengelola
banyak server dari
computer terpusat.
Jadi, kerjaan system administrasi
menjadi mudah, sudah
di bantu oleh tool
Ansible. Anda hanya
membutuhkan koneksi ssh
secure untuk komunikasi
anatara server ansible
dengan server host
lainya.
Dalam, artikel
ini saya akan
instalasi Ansible pada
system operasi CentOS 7.
Untuk melakukan
percobaan Management Server
menggunakan ansible. Minimal menggunakan
dua server, yaitu server
ansible dan server
client.
10.10.10.1 bagol69
10.10.10.3 bagol69-client
Pertama yang
kami lakukan adalah
instalasi repository epel-release di Centos7.
Karena paket
Ansible tidak ada di repository
CentOS 7, hanya ada di
repository epel-release.
[root@bagol69 ~]# yum install epel-release -y
Sekarang install
paket ansible menggunakan
command di bawah ini.
[root@bagol69 ~]# yum install ansible -y
Setelah, melakukan
instalasi ansible. Lakukan pengecekan
versi dari ansible menggunakan
command di bawah
ini.
[root@bagol69 ~]# ansible --version
ansible 2.6.4
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/site-packages/ansible
executable location = /usr/bin/ansible
python version = 2.7.5 (default, Jul 13 2018, 13:06:57) [GCC 4.8.5 20150623 (Red Hat 4.8.5-28)]
[root@bagol69 ~]#
Note
Yang menyatakan
ansible menggunakan versi
2.6.4
ansible 2.6.4
Untuk
manajement server menggunakan
ansible, pertama yang
kita lakukan adalah
kita install SSH
Server di server
tujuan.
[root@bagol69-client ~]# yum install openssh-server -y
Setelah melakukan
instalasi ssh server di
server tujuan, lakukan
restart services ssh.
[root@bagol69-client ~]# systemctl restart openssh-server
Aktifkan services
ssh server.
[root@bagol69-client ~]# systemctl start openssh-server
Jalankan perintah
di bawah ini,
untuk menjalankan aktif secara
otomatis pada saat server
di reboot.
[root@bagol69-client ~]# systemctl enable openssh-server
Sekarang,
kembali lagi ke
server bagol69 yang
sudah ter install ansible. Untuk mendaftarkan host
atau server tujuan
anda.
[root@bagol69 ~]# nano /etc/ansible/hosts
[percobaan-bagol69.com]
#Masukan ip server tujuan anda
10.10.10.3
Anda masih
harus melakukan satu
hal lagi sebelum
dapat di mulai. Anda
harus membuat kunci
SSH dari mesin
CentOS 7 yang anda install
ansible.
Supaya tidak
di mintai password
akun root server
tujuan anda.
[root@bagol69 ~]# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): ( enter )
/root/.ssh/id_rsa already exists.
Overwrite (y/n)? y
Enter passphrase (empty for no passphrase): ( enter )
Enter same passphrase again: ( enter )
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:S8FLVinhRKlCtbeHkZSZj5z1sTgm1Z/sRKcgAsGTIgg root@localhost.localdomain
The key's randomart image is:
+---[RSA 2048]----+
|E. o+==*.o |
|. . o +*Bo= + . .|
| o ..+XO + B + |
| . .+=*= o * |
| . So.. o |
| . o . |
| . |
| |
| |
+----[SHA256]-----+
[root@bagol69 ~]#
Lakukan Copy
ssh key yang
sudah anda buat
sebelumnya, ke server
tujuan anda.
[root@bagol69 ~]# ssh-copy-id -i root@10.10.10.3
/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
root@10.10.10.3's password:
Number of key(s) added: 1
Now try logging into the machine, with: "ssh 'root@10.10.10.3'"
and check to make sure that only the key(s) you wanted were added.
[root@bagol69 ~]#
Testing Ansible
Saatnya,
kita melakukan percobaan ping
ke server client
yang sudah terhubung
ke ansible. Menggunakan
command di bawah
ini.
[root@bagol69~]# ansible -m ping 'percobaan-bagol69.com'
Note
“
Percobaan-bagol69.com merupakan group host
yang sudah di
buat sebelumnya. Yang berisi
alamat ip address
server client.
Artikel Selanjutnya
Output akan
seperti ini.
10.10.10.3 | SUCCESS => {
"changed": false,
"ping": "pong"
}
Akan
memberikan respon “ping”:”pong” yang menandakan server
ansible sudah
berfungsi dengan
baik.
Anda dapat
melakukan pengecekan terhadap
server client dengan mudah menggunakan ansible.
Seperti mengecek “uptime”
server tersebut.
Menggunakan command di
bawah ini.
[root@bagol69 ~]# ansible -m command -a "uptime" 'percobaan-bagol69.com'
10.10.10.3 | SUCCESS | rc=0 >>
17:18:20 up 2:37, 2 users, load average: 0.07, 0.03, 0.01
[root@bagol69 ~]#
Kita juga
dapat melakukan pengecekan
versi kernel server
client.
[root@bagol69 ~]# ansible -m command -a "uname -r" 'percobaan-bagol69.com'
10.10.10.3 | SUCCESS | rc=0 >>
2.6.32-754.2.1.el6.x86_64
[root@bagol69 ~]#
Ternyata menggunakan
ansible dapat buat
user baru di
server tujuan.
[root@bagol69 ~]# ansible -m command -a "useradd wwwbagol69" 'percobaan-bagol69.com'
10.10.10.3 | SUCCESS | rc=0 >>
[root@bagol69 ~]#
Kita juga dapat
melakukan pengecekan kapasitas
hardisk di server
tujuan.
[root@bagol69 ~]# ansible -m command -a "df -Th" 'percobaan-bagol69.com' > /tmp/www-bagol69-com.txt
[root@bagol69~]# cat /tmp/www-bagol69-com.txt
10.10.10.3 | SUCCESS | rc=0 >>
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/vg_bagol691-lv_root
ext4 50G 2.1G 45G 5% /
tmpfs tmpfs 565M 0 565M 0% /dev/shm
/dev/sda1 ext4 477M 66M 386M 15% /boot
/dev/mapper/vg_bagol691-lv_home
ext4 8.4G 20M 8.0G 1% /home
[root@bagol69 ~]#
Alhamdulilah
kita sudah selesai belajar
management server menggunakan
ansible.