Ansible sendiri ditulis dengan Python dan memiliki kurva belajar yang cukup minim. Ansible mengikuti prosedur pengaturan sederhana dan tidak bergantung pada perangkat lunak tambahan, server, atau daemon klien. Ini mengelola node melalui SSH dan paralel secara default.
Dalam panduan ini, kita akan mempelajari cara Menginstal dan Mengonfigurasi Ansible di Rocky Linux/CentOS 8.
Konten terkait
- Cara Menginstal Python 2 dan Python 3 di Rocky Linux/Centos 8
- Cara Menginstal Python 2 dan Python 3 di Fedora 35
- Cara Memasang dan Mengonfigurasi Ansible di Fedora 35
Prasyarat
Untuk mengikuti, pastikan Anda memiliki:
- Server Rocky Linux/Centos 8 terbaru
- Akses ke internet
- Pengetahuan tentang terminal Linux
Daftar Isi
- Pastikan bahwa paket OS terbaru
- Menginstal Python di Server Rocky Linux/Centos 8
- Menginstal Kemungkinan
- Menguji penginstalan yang memungkinkan
1. Pastikan paket OS terbaru
Sebelum melanjutkan, selalu disarankan untuk memperbarui sistem dan paket yang diinstal.
Gunakan perintah ini untuk memastikan bahwa paket sistem terbaru:
sudo dnf -y update
2. Menginstal Python di Server Rocky Linux/Centos 8
Kemungkinan ditulis dengan Python. Karena program python diinterpretasikan, mereka selalu membutuhkan python runtime yang tersedia untuk dijalankan. Ansible tidak terkecuali, kita membutuhkan Python untuk menjalankan Ansible. Ansible berfungsi untuk Python 2 dan Python 3.
Gunakan ini untuk menginstal python3 di server:
sudo dnf install -y python3
Pip adalah manajer paket untuk Python. Kita dapat menggunakan pip untuk mengelola paket python python dan dependensinya. Kami juga membutuhkan pip untuk Menginstal yang memungkinkan. Gunakan perintah ini untuk menginstal pip:
sudo dnf -y install python3-pip
Disarankan juga untuk menginstal pip versi terbaru. Gunakan perintah ini untuk meningkatkan pip
sudo pip3 install --upgrade pip
3. Menginstal Ansible
Ada dua cara yang bisa kita gunakan untuk menginstal Ansible di sistem kita.
i. Instal mungkin Menggunakan repo EPEL
Paket Ekstra untuk Linux Perusahaan (atau EPEL) adalah Grup Minat Khusus Fedora yang membuat, memelihara, dan mengelola serangkaian paket tambahan berkualitas tinggi untuk Linux Perusahaan. Tambahkan repositori EPEL ke sistem Rocky Linux/Centos 8 Anda menggunakan perintah ini:
sudo dnf -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
Kami kemudian dapat menginstal kemungkinan yang disediakan di repo EPEL menggunakan perintah ini:
sudo dnf install ansible
Periksa versi Ansible yang diinstal pada sistem Anda menggunakan perintah ini:
$ ansible --version
ansible 2.9.25
config file = /etc/ansible/ansible.cfg
configured module search path = ['/home/rocky/.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 21 2021, 18:40:00) [GCC 8.4.1 20200928 (Red Hat 8.4.1-1)]
Instal dimungkinkan menggunakan pip
Pip dapat digunakan untuk menginstal ansible pada sistem kami.
pip3 install ansible --user
Karena saya sudah menginstal yang memungkinkan dalam kasus saya, saya mendapatkan ini
$ pip3 install ansible --user
Requirement already satisfied: ansible in /usr/lib/python3.6/site-packages (2.9.25)
Requirement already satisfied: jinja2 in /usr/lib/python3.6/site-packages (from ansible) (2.10.1)
Requirement already satisfied: PyYAML in /usr/lib64/python3.6/site-packages (from ansible) (3.12)
Requirement already satisfied: cryptography in /usr/lib64/python3.6/site-packages (from ansible) (3.2.1)
Requirement already satisfied: six>=1.4.1 in /usr/lib/python3.6/site-packages (from cryptography->ansible) (1.11.0)
Requirement already satisfied: cffi!=1.11.3,>=1.8 in /usr/lib64/python3.6/site-packages (from cryptography->ansible) (1.11.5)
Requirement already satisfied: MarkupSafe>=0.23 in /usr/lib64/python3.6/site-packages (from jinja2->ansible) (0.23)
Requirement already satisfied: pycparser in /usr/lib/python3.6/site-packages (from cffi!=1.11.3,>=1.8->cryptography->ansible) (2.14)
4. Menguji Instalasi yang memungkinkan
Ansible menggunakan ssh untuk menghubungkan dan menjalankan perintah di server jauh. Jadi agar Ansible berfungsi, kita perlu memastikan bahwa kita dapat terhubung ke server jarak jauh menggunakan ssh.
Untuk melakukan ssh tanpa kata sandi ke server jauh, gunakan perintah ini untuk menghasilkan kunci ssh:
$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/rocky/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/rocky/.ssh/id_rsa.
Your public key has been saved in /home/rocky/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:vRdPlegZg17H4aMt30jQsiTYe0Jnh0zErhnSnuUQj3g [email protected]
The key's randomart image is:
+---[RSA 3072]----+
| oo . |
| o.ooo+ o|
| .o+*O=o*.|
| ooE**=B..|
| S++X+=o. |
| =+.=o..|
| . . o..|
| . |
| |
+----[SHA256]-----+
Salin id ke server jauh:
ssh-copy-id [email protected]
Sekarang buat file inventaris:
vim hosts
Dengan konten ini:
10.2.40.182 ansible_ssh_user=fedora
Gunakan modul ping untuk menguji kemungkinan:
$ ansible -i hosts 10.2.40.182 -m ping 10.2.40.182 | SUCCESS => { "ansible_facts": { "discovered_interpreter_python": "/usr/bin/python" }, "changed": false, "ping": "pong" }
Untuk perintah yang memerlukan sudo, berikan opsi --ask-become-pass
. Ini akan meminta kata sandi eskalasi hak istimewa. Ini mungkin memerlukan pemasangan sshpass
program.
$ ansible -i hosts 10.2.40.182 -m command -a "sudo yum install vim" --ask-become-pass
BECOME password:
[WARNING]: Consider using 'become', 'become_method', and 'become_user' rather than running sudo
10.2.40.182 | CHANGED | rc=0 >>
Last metadata expiration check: 0:23:39 ago on Wed 03 Nov 2021 08:35:14 PM UTC.
Package vim-enhanced-2:8.2.3512-1.fc34.x86_64 is already installed.
Dependencies resolved.
Nothing to do.
Complete!
Kesimpulan
Kami telah berhasil menginstal Ansible dan menguji koneksi ke server jauh dalam panduan ini.