Install Ansible di Centos 7

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.