GNU/Linux >> Belajar Linux >  >> Ubuntu

Cara Menginstal Ansible di Ubuntu 18.04

Pada artikel ini, kami akan menjelaskan langkah-langkah yang diperlukan untuk menginstal dan mengkonfigurasi Ansible di Ubuntu 18.04 LTS. Sebelum melanjutkan dengan tutorial ini, pastikan Anda masuk sebagai pengguna dengan hak istimewa sudo. Semua perintah dalam tutorial ini harus dijalankan sebagai pengguna non-root.

Ansible adalah alat Konfigurasi dan otomatisasi sumber terbuka dan gratis untuk sistem operasi seperti UNIX. Ini ditulis dengan python dan mirip dengan Chef atau Puppet tetapi ada satu perbedaan dan keuntungan dari Ansible adalah kita tidak perlu menginstal agen apa pun di node. Ia menggunakan SSH untuk membuat komunikasi ke node-nya.

Pada artikel ini kami akan mendemonstrasikan cara menginstal dan mengkonfigurasi Ansible di Ubuntu dan akan mencoba mengelola dua nodenya:

  • Server yang Memungkinkan – ansible.idroot.us ( 192.168.13.33 )
  • Klien yang Mungkin – 192.168.100.120

Instal Ansible di Ubuntu

Langkah 1. Pertama, sebelum Anda mulai menginstal paket apa pun di server Ubuntu Anda, kami selalu menyarankan untuk memastikan bahwa semua paket sistem telah diperbarui.

sudo apt update
sudo apt upgrade

Langkah 2. Instal Ansible di Ubuntu.

Kita harus mengaktifkan repo yang memungkinkan terlebih dahulu. Instal repo dengan perintah berikut:

sudo apt-add-repository ppa:ansible/ansible

Setelah menambahkan repositori Ansible, jalankan perintah di bawah ini untuk menginstal:

sudo apt update
sudo apt install ansible

Setelah penginstalan Ansible berhasil, Anda dapat memverifikasi versi ansible yang diinstal dengan menjalankan:

sudo ansible --version

Langkah 3. Atur konfigurasi SSH tanpa kata sandi antara server yang memungkinkan dan klien yang memungkinkan.

Kita perlu membuat kunci ssh pada server yang memungkinkan dan menyalin kunci ini ke kunci publik pada klien yang memungkinkan:

[[email protected] ~]# ssh-keygen -t rsa -b 4096 -C "[email protected]"
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:rqAwbwQ8/meilanamaria4D2V0fQ49amw2WKbYIA [email protected]
The key's randomart image is:
+---[RSA 4096]----+
| .oo.+o |
| . =.=.. . |
|. E o + X . o |
|.o. + + = X . |
| .o. + oSX + |
| .. o.+ = |
|o. o oo.o |
| +.. +oo |
| .o ... |
+----[SHA256]-----+
[[email protected] ~]#

Kita dapat menggunakan perintah ssh-copy-id untuk menyalin kunci publik dari server yang memungkinkan ke klien yang memungkinkan:

[[email protected] ~]# ssh-copy-id [email protected]
/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.

[[email protected] ~]#
[[email protected] ~]# ssh-copy-id [email protected]
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"
The authenticity of host '192.168.43.131 (192.168.43.131)' can't be established.
ECDSA key fingerprint is SHA256:OuHrnRxppengenkimpoi5Z+1tOWOF8eYZ5Le5MNwUQ.
ECDSA key fingerprint is MD5:78:1c:a5:72:bb:25:fa:c7:67:39:fc:91:b9:fb:b6:20.
Are you sure you want to continue connecting (yes/no)? 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
[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.

[[email protected] ~]#
===============================
[[email protected] ~]# ssh [email protected]
Last login: Thu Sep 19 16:00:57 2019 from bezafari-c1
[[email protected] ~]# exit
logout
Connection to 192.168.100.120 closed.
[[email protected] ~]#

Kita perlu memeriksa server yang memungkinkan dan klien yang memungkinkan apakah sandi berfungsi lebih sedikit atau tidak? Kami dapat memeriksa seperti di bawah ini:

[[email protected] ~]# ssh [email protected]
Last login: Thu Jan 17 17:00:57 2019 from bezafari-c1
[[email protected] ~]# exit
logout
Connection to 192.168.100.120 closed.
[[email protected] ~]#

Langkah 4. Konfigurasi server yang memungkinkan untuk mengelola klien yang memungkinkan.

Anda dapat menginventarisasi server yang memungkinkan dan klien yang memungkinkan menggunakan file host server yang memungkinkan. File host dapat ditemukan di jalur ini di server yang memungkinkan /etc/ansible/host:

[[email protected] ~]# nano /etc/ansible/hosts
[test-servers]
192.168.13.33
192.168.100.120

Langkah 5. Kelola klien yang memungkinkan dari server yang memungkinkan.

Periksa konektivitas 'server uji' atau klien yang memungkinkan menggunakan ping:

[[email protected] ~]# ansible -m ping 'test-servers'
192.168.13.33 | SUCCESS => {
"changed": false,
"ping": "pong"
}
192.168.100.120 | SUCCESS => {
"changed": false,
"ping": "pong"
}
[[email protected] ~]#

Kami dapat memeriksa waktu aktif klien kami dari server yang memungkinkan:

[[email protected] ~]# ansible -m command -a "uptime" 'test-servers'
192.168.100.120 | CHANGED | rc=0 >>
16:17:35 up 20 min, 3 users, load average: 0.09, 0.16, 0.29

192.168.13.33 | CHANGED | rc=0 >>
16:17:35 up 22 min, 4 users, load average: 0.18, 0.29, 0.55

[[email protected] ~]#

Mengalihkan output perintah ke file. Seperti di bawah ini:

[[email protected] ~]# ansible -m command -a "df -Th" 'test-servers' > /tmp/command-output.txt
[[email protected] ~]# cat /tmp/command-output.txt
192.168.13.33 | CHANGED | rc=0 >>
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/centos-root xfs 13G 5.0G 8.0G 39% /
devtmpfs devtmpfs 482M 0 482M 0% /dev
tmpfs tmpfs 497M 212K 497M 1% /dev/shm
tmpfs tmpfs 497M 7.1M 490M 2% /run
tmpfs tmpfs 497M 0 497M 0% /sys/fs/cgroup
/dev/sda1 xfs 497M 158M 340M 32% /boot
tmpfs tmpfs 100M 16K 100M 1% /run/user/0
192.168.100.120 | CHANGED | rc=0 >>
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/centos-root xfs 13G 3.9G 9.1G 30% /
devtmpfs devtmpfs 906M 0 906M 0% /dev
tmpfs tmpfs 921M 84K 920M 1% /dev/shm
tmpfs tmpfs 921M 8.7M 912M 1% /run
tmpfs tmpfs 921M 0 921M 0% /sys/fs/cgroup
/dev/sda1 xfs 497M 157M 341M 32% /boot
tmpfs tmpfs 185M 20K 184M 1% /run/user/42
tmpfs tmpfs 185M 0 185M 0% /run/user/0
[[email protected] ~]#

Hanya itu yang perlu Anda lakukan untuk menginstal Ansible di Ubuntu 18.04. Saya harap Anda menemukan tip cepat ini bermanfaat. Jika Anda memiliki pertanyaan atau saran, jangan ragu untuk meninggalkan komentar di bawah.


Ubuntu
  1. Cara menginstal Ansible di Ubuntu Server 21.04

  2. Cara Menginstal Ansible di Ubuntu 18.04 LTS

  3. Cara menginstal R di Ubuntu 16.04

  1. Cara Menginstal R di Ubuntu 20.04

  2. Cara Menginstal Go di Ubuntu 18.04

  3. Cara Menginstal R di Ubuntu 18.04

  1. Cara Menginstal AWX yang Mungkin di Ubuntu 20.04 LTS

  2. Cara Menginstal Ansible di Ubuntu 20.04 LTS / 21.04

  3. Cara Menginstal Ansible di Ubuntu