GNU/Linux >> Belajar Linux >  >> Cent OS

Cara menginstal Ansible di CentOS 8 Linux

Ansible adalah alat otomatisasi TI sumber terbuka yang digunakan untuk mengotomatisasi manajemen konfigurasi, penyediaan, penerapan aplikasi, orkestrasi, dan banyak proses TI lainnya tanpa perlu menginstal agen apa pun di node klien. Itu bergantung pada protokol SSH untuk berkomunikasi dengan node klien. Ansible memberikan kemudahan penggunaan dan instalasi bila dibandingkan dengan alat serupa lainnya seperti boneka, chef, terraform dll. Dalam tutorial ini, kita akan belajar cara menginstal Ansible di CentOS 8 Linux dan mengkonfigurasinya.

Instal Ansible di CentOS 8 Linux

Langkah 1: Instal dan Aktifkan EPEL gudang

[root@install-ansible ~]# dnf install epel-release -y

Langkah 2: Unduh indeks paket jarak jauh ke cache file lokal untuk mempercepat dnf subsequent berikutnya perintah.

[root@install-ansible ~]# dnf makecache
CentOS Linux 8 - AppStream 2.6 kB/s | 4.3 kB 00:01
CentOS Linux 8 - BaseOS 2.6 kB/s | 3.9 kB 00:01
CentOS Linux 8 - Extras 1.0 kB/s | 1.5 kB 00:01
Extra Packages for Enterprise Linux 8 - x86_64 8.7 kB/s | 11 kB 00:01
Extra Packages for Enterprise Linux Modular 8 - x86_64 9.6 kB/s | 10 kB 00:01
Remi's Modular repository for Enterprise Linux 8 - x86_64 501 B/s | 833 B 00:01
Safe Remi's RPM repository for Enterprise Linux 8 - x86_64 802 B/s | 833 B 00:01
Metadata cache created.

Langkah 3: Instal Ansible

[root@install-ansible ~]# dnf install ansible -y
Last metadata expiration check: 0:02:17 ago on Tue 01 Mar 2022 10:28:48 AM IST.
Dependencies resolved.
=============================================================================================================================================================
Package Architecture Version Repository Size
=============================================================================================================================================================
Installing:
ansible noarch 2.9.27-1.el8 epel 17 M
Installing dependencies:
python3-bcrypt x86_64 3.1.6-2.el8.1 epel 44 k
python3-jmespath noarch 0.9.0-11.el8 appstream 45 k
python3-pyasn1 noarch 0.3.7-6.el8 appstream 126 k
python3-pynacl x86_64 1.3.0-5.el8 epel 100 k
sshpass x86_64 1.06-9.el8 epel 27 k
Installing weak dependencies:
python3-paramiko noarch 2.4.3-1.el8 epel 289 k

Transaction Summary
=============================================================================================================================================================
Install 7 Packages
Installed:
  ansible-2.9.27-1.el8.noarch          python3-bcrypt-3.1.6-2.el8.1.x86_64    python3-jmespath-0.9.0-11.el8.noarch    python3-paramiko-2.4.3-1.el8.noarch
  python3-pyasn1-0.3.7-6.el8.noarch    python3-pynacl-1.3.0-5.el8.x86_64      sshpass-1.06-9.el8.x86_64

Complete!

 Langkah 4: Verifikasi pemasangan yang memungkinkan

[root@install-ansible ~]# ansible --version
ansible 2.9.27
config file = /etc/ansible/ansible.cfg
configured module search path = ['/root/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
ansible python module location = /usr/lib/python3.6/site-packages/ansible
executable location = /usr/bin/ansible
python version = 3.6.8 (default, Sep 10 2021, 09:13:53) [GCC 8.5.0 20210514 (Red Hat 8.5.0-3)]

Konfigurasi Ansible pada CentOS 8

Pertimbangkan arsitektur di bawah ini untuk tutorial ini. Anda dapat memperluas hal yang sama ke n jumlah klien.

Mengelola/Mengatur Klien dari Ansible Server

Untuk mengelola klien, SSH harus diinstal dan dijalankan. Port SSH harus terbuka dan dapat diakses dari Server Ansible.

Langkah 5: Buka /etc/hosts file di server yang memungkinkan

Pada artikel ini, kita akan menggunakan /etc/hosts file untuk resolusi nama DNS dari klien IP Addr.

[root@ansible-server ~]# vim /etc/hosts
IP Addr atau Nama DNS untuk klien

Anda dapat menggunakan IP Addr atau nama DNS klien untuk mengelola

Tambahkan entri di bawah ini pada alamat IP klien yang memungkinkan dan nama host

10.180.10.122 ansible-client

Menyiapkan Otentikasi Tanpa Kata Sandi SSH

Langkah 6: Buat kunci SSH di Server Ansible (Management Node) tanpa dimintai frasa sandi.

[centos@ansible-server ~]$ ssh-keygen -f id_rsa -t rsa -N ''
Generating public/private rsa key pair.
Your identification has been saved in id_rsa.
Your public key has been saved in id_rsa.pub.
The key fingerprint is:
SHA256:vqvgSILGrVxCDsLuORbJojxiYDEFEFlNQi5ZrHeqYhE centos@ansible-server
The key's randomart image is:
+---[RSA 3072]----+
|+B*o.            |
|.+.o.            |
|o.o              |
|oE. .            |
|++=o    S        |
|@*o    .         |
|OB+o.   .        |
|OX=o .   .       |
|*=+ . ..o.       |
+----[SHA256]-----+

Langkah 7: Salin kunci SSH ke Ansible Client

[centos@ansible-server ~]$ ssh-copy-id centos@ansible-client
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/home/centos/.ssh/id_rsa.pub"
The authenticity of host 'ansible-client (10.180.141.122)' can't be established.
ECDSA key fingerprint is SHA256:oDKa1jiDVmPzHmD0HqKr5v10xhalFVbklrdudxAFx5M.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
/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
centos@ansible-client's password:

Number of key(s) added: 1

Now try logging into the machine, with: "ssh 'centos@ansible-client'"
and check to make sure that only the key(s) you wanted were added.
Prompt kata sandi untuk pengguna centos di klien yang memungkinkan

Ketikkan kata sandi masuk untuk pengguna centos di Ansible-client untuk pertama kalinya. Setelah kunci SSH disalin, Anda akan dapat masuk menggunakan tanpa kata sandi

Langkah 8: Verifikasi koneksi tanpa kata sandi

[centos@ansible-server ~]$ ssh centos@ansible-client
Last login: Tue Mar 1 05:57:15 2022 from 10.180.6.115
[centos@ansible-client ~]$

Langkah 9:  Akses Sudo untuk centos pengguna di klien yang memungkinkan

Pastikan, centos pengguna di klien yang memungkinkan memiliki akses Sudo tanpa kata sandi. Ini membantu memungkinkan untuk menjalankan root perintah pada klien yang memungkinkan menggunakan centos pengguna.

# visudo

## Add the below content
centos ALL=(ALL) NOPASSWD:ALL

Sekarang klien-ansible siap dikelola dari server-ansible (Management Node) menggunakan centos pengguna di klien yang memungkinkan.

Cara menggunakan Ansible

Langkah 10: Buat Inventaris yang Mungkin

Ansible menyimpan daftar semua informasi klien jarak jauh yang dikelolanya dalam file bernama inventory mengajukan. File inventaris yang memungkinkan hanyalah file teks biasa sederhana dan lokasi file default adalah:/etc/ansible/hosts

File Inventaris yang Mungkin

Kami dapat membuat file inventaris Ansible selain dari lokasi default.

[centos@ansible-server ~]$ mkdir ~/ansible
[centos@ansible-server ~]$ cd ~/ansible
[centos@ansible-server ansible]$ vim hosts

Tambahkan semua entri klien yang memungkinkan

ansible-client ansible_user=centos
opsi ansible_user dalam file ansible/hosts

opsi ansible_user digunakan untuk mendefinisikan pengguna pada klien ansible yang akan menjalankan perintah.

File Inventaris yang Mungkin - Campuran Nama Host dan alamat IP

Anda juga dapat mencampur Alamat IP dan nama DNS dari klien jarak jauh di file inventaris

10.180.10.122 ansible_user=centos
Kelompokkan klien jarak jauh dalam file Inventaris

Anda juga dapat mengelompokkan klien jarak jauh dalam file inventaris berdasarkan penggunaan di sana. Misalnya, jika Anda memiliki 4 klien sebagai server web dan 2 sebagai server db.

[centos]
ansible-client ansible_user=centos

Langkah 11 Daftar semua host dari file inventaris

[centos@ansible-server ansible]$ ansible -i hosts --list-hosts all
  hosts (1):
    ansible-client

Langkah 12: Pastikan host aktif

[centos@ansible-server ansible]$ ansible -i hosts -m ping all
ansible-client | SUCCESS => {
"ansible_facts": {
"discovered_interpreter_python": "/usr/bin/python"
},
"changed": false,
"ping": "pong"
}

Langkah 13: Jalankan perintah pada klien yang memungkinkan jarak jauh (berbasis semua/nama grup)

[centos@ansible-server ansible]$ ansible -i hosts -m shell -a "more /etc/redhat-release" ansible-client
ansible-client | CHANGED | rc=0 >>
CentOS Linux release 7.8.2003 (Core)

Itu dia! Sekarang mulailah mengelola klien jarak jauh Anda menggunakan ansible dengan cara Anda sendiri.

Ansible Playbook membantu mengelola server Anda dengan lebih mudah dengan membuat tindakan TI yang kompleks dijalankan dengan keterlibatan manusia yang terbatas atau tanpa keterlibatan manusia. Kami akan mencoba membahas Ansible Playbook di artikel kami berikutnya.


Cent OS
  1. Cara debootstrap di CentOS Linux

  2. Cara Menginstal dan Mengonfigurasi Ansible di Rocky Linux/CentOS 8

  3. Cara menginstal Erlang di Rocky Linux/Alma Linux/CentOS 8

  1. Cara menginstal PHP 8 di CentOS 8 Linux

  2. Cara Menginstal Ansible di CentOS 7

  3. Cara Menginstal Kernel Linux 5.0 di CentOS 7

  1. Cara menginstal redmine di RHEL 8 / CentOS 8 Linux

  2. Cara Menginstal Ansible di CentOS 8

  3. Cara Menginstal Ansible di Oracle Linux 8