Cara Mengaktifkan Repositori EPEL di CentOS dengan Ansible

Pada artikel ini, saya akan menunjukkan cara mengaktifkan repositori EPEL di CentOS menggunakan Ansible. Jadi, mari kita mulai.

 			 		 		 		 		 	

Prasyarat

Untuk mengaktifkan repositori EPEL pada engine CentOS 7 atau CentOS 8 dengan Ansible:

  1. Anda harus menginstal Ansible di komputer Anda.
  2. Anda harus memiliki engine CentOS 7 atau CentOS 8 yang dikonfigurasi untuk otomatisasi yang memungkinkan.

Ada banyak artikel di LinuxHint yang didedikasikan untuk Menginstal Ansible dan mengonfigurasi host untuk otomatisasi Ansible. Anda mungkin ingin memeriksa artikel ini jika perlu, untuk tujuan Anda.

Mengaktifkan Repositori EPEL di Host CentOS

Pertama, buat direktori proyek ~/project dengan perintah berikut:

$ mkdir -pv ~/project/playbooks

Navigasikan ke ~/project direktori dengan perintah berikut:

$ cd ~/project

Buat file baru hosts di direktori proyek dan buka dengan editor teks nano sebagai berikut:

$ nano hosts

 

File kosong hosts harus dibuat dan dibuka dengan editor teks nano.

Ketik alamat IP atau nama DNS dari engine CentOS 7 dan CentOS 8 target (di mana Anda ingin mengaktifkan repositori EPEL) di centos bagian dari hosts berkas, sebagai berikut:

[centos]
192.168.20.169
192.168.20.222

Di Sini, 192.168.20.169 adalah alamat IP engine virtual CentOS 8 saya dan 192.168.20.222adalah alamat IP engine virtual CentOS 7 saya. Ini akan berbeda untuk Anda. Pastikan untuk mengganti alamat IP sampel dengan daftar Anda sendiri mulai sekarang.

CATATAN: Anda dapat menemukan alamat IP dari host CentOS Anda dengan perintah berikut:

$ hostname -I

Jika host CentOS Anda memiliki nama DNS yang dikonfigurasi, Anda harus dapat menemukannya dengan perintah berikut:

$ hostname -A

Akhir hosts file akan terlihat seperti yang ditunjukkan pada gambar di bawah.

Sekarang, simpan file host dengan menekan <Ctrl> + X diikuti oleh Y dan <Enter>.

Buat file konfigurasi Ansible ansible.cfg sebagai berikut:

$ nano ansible.cfg

Ketik baris berikut di file a
nsible.cfg:

[defaults]
inventory=./hosts

Setelah Anda menyelesaikan langkah ini, simpan file dengan menekan <Ctrl> + X diikuti oleh Y dan <Enter>.

Sekarang, buat buku pedoman Ansible baru enable_epel_repo.yaml dalam playbooks/ direktori sebagai berikut:

$ nano playbooks/enable_epel_repo.yaml

Selanjutnya, ketik kode berikut di enable_epel_repo.yaml mengajukan:

- hosts: centos
user: ansible
tasks:
- name: Enable EPEL Repository on CentOS 8
dnf:
name: epel-release
state: latest
become: True
when: ansible_facts['os_family'] == 'RedHat' and ansible_facts
['distribution_major_version'] == '8'
- name: Enable EPEL Repository on CentOS 7
yum:
name: epel-release
state: latest
become: True
when: ansible_facts['os_family'] == 'RedHat' and ansible_facts
['distribution_major_version'] == '7'

Dalam kode ini:

host: centos, hanya memilih host dicentos kelompok dari hosts mengajukan.

user: ansible, nama user SSH dari host (di mana Ansible akan menjalankan tugas) akan menjadiansible.

Saya telah mendefinisikan 2 tasksdi sini. Satu untuk host CentOS 8 dan satu untuk host CentOS 7. Alasan saya melakukannya dengan cara ini adalah karena manajer paket default untuk CentOS 8 adalah DNF, dan CentOS 7 adalah YUM. Satu tugas (tugas pertama) akan menggunakan pengelola paket DNF dan hanya akan berjalan pada host CentOS 8. Tugas lainnya (tugas terakhir) akan menggunakan manajer paket YUM dan hanya akan berjalan di host CentOS 7.

Kedua tugas ini hampir identik. Satu-satunya perbedaan adalah modul manajer paket (dnf dan yum) digunakan dalam tugas dan kode pemeriksaan versi CentOS.

dnf danyum Modul yang memungkinkan menerima parameter yang sama.

Di Sini, name: epel-release, paket yang akan diinstal adalah epel-release.

negara: terbaru, paketepel-releaseharus dipasang. Jika paket sudah diinstal dan versi yang diperbarui tersedia, maka paket akan diperbarui.

ketika: kondisi, jikacondition adalah true, maka tugas akan berjalan. Jika tidak, tugas tidak akan berjalan.

ansible_facts, digunakan untuk mengakses variabel host Ansible.

ansible_facts[‘os_family’] == ‘RedHat’, memeriksa apakah OS host adalah CentOS atau RedHat.

ansible_facts[‘distribution_major_version’] == ‘8’, memeriksa apakah versi OS host adalah 8 (CentOS 8 atau RedHat 8, dalam kasus ini).

ansible_facts[‘distribution_major_version’] == ‘7’, memeriksa apakah versi OS host adalah 7 (CentOS 7 atau RedHat 7, dalam kasus ini).

Kemudian, simpan enable_epel_repo.yaml file dengan menekan <Ctrl> + X diikuti oleh Y dan <Enter>.

Sekarang, Anda dapat menjalankan playbook Ansible sebagai berikut:

$ ansible-playbook playbooks/enable_epel_repo.yaml

Playbook harus berjalan tanpa error dan repositori EPEL harus diaktifkan pada host CentOS 7 dan CentOS 8.

Seperti yang Anda lihat, repositori EPEL diaktifkan di host CentOS 8 saya.

Seperti yang Anda lihat, repositori EPEL diaktifkan di host CentOS 7 saya.

Jadi, begitulah cara Anda mengaktifkan repositori EPEL di CentOS menggunakan Ansible. Terima kasih telah membaca artikel ini.

Related Posts