Prasyarat
Untuk mendayakan repositori EPEL pada mesin CentOS 7 atau CentOS 8 dengan Ansible:
- Anda mesti memasang Ansible di komputer anda.
- Anda mesti mempunyai mesin CentOS 7 atau CentOS 8 yang dikonfigurasi untuk automasi Ansible.
Terdapat banyak artikel mengenai LinuxHint yang dikhaskan untuk Memasang Ansible dan mengkonfigurasi host untuk automasi Ansible. Anda mungkin ingin menyemak artikel ini jika perlu, untuk tujuan anda.
Mengaktifkan EPEL Repository pada CentOS Hosts
Pertama, buat direktori projek ~ / projek dengan arahan berikut:
$ mkdir -pv ~ / projek / buku permainan
Navigasi ke ~ / projek direktori dengan arahan berikut:
$ cd ~ / projek
Buat fail baru tuan rumah dalam direktori projek dan membukanya dengan penyunting teks nano seperti berikut:
hos $ nano
Fail kosong tuan rumah harus dibuat dan dibuka dengan penyunting teks nano.
Taipkan alamat IP atau nama DNS sasaran mesin CentOS 7 dan CentOS 8 (di mana anda mahu mengaktifkan repositori EPEL) di centos bahagian dari tuan rumah fail, seperti berikut:
[centos]192.168.20.169
192.168.20.222
Di sini, 192.168.20.169 adalah alamat IP mesin maya CentOS 8 saya dan 192.168.20.222 adalah alamat IP mesin maya CentOS 7 saya. Ini akan berbeza bagi anda. Pastikan untuk mengganti alamat IP sampel dengan senarai anda sendiri mulai sekarang.
NOTA: Anda boleh mendapatkan alamat IP host CentOS anda dengan arahan berikut:
$ nama host -I
Sekiranya host CentOS anda mempunyai nama DNS yang dikonfigurasi, anda seharusnya dapat mencarinya dengan arahan berikut:
$ nama host -A
Yang terakhir tuan rumah fail akan kelihatan seperti yang ditunjukkan dalam tangkapan skrin di bawah.
Sekarang, simpan fail host dengan menekan
Buat fail konfigurasi Ansible tidak boleh dimakan.cfg seperti berikut:
$ nano tidak boleh dimakan.cfg
Taipkan baris-baris berikut di ansible.fail cfg:
[lalai]persediaan =./ tuan rumah
Setelah anda menyelesaikan langkah ini, simpan fail dengan menekan
Sekarang, buat buku main Ansible baru aktifkan_epel_repo.keladi di dalam buku permainan / direktori seperti berikut:
Buku main $ nano / enable_epel_repo.keladi
Seterusnya, taipkan kod berikut di aktifkan_epel_repo.keladi fail:
- tuan rumah: centospengguna: tidak boleh dimakan
tugas:
- name: Dayakan EPEL Repository di CentOS 8
dnf:
nama: pelepasan epel
nyatakan: terkini
menjadi: Benar
bila: ansible_facts ['os_family'] == 'RedHat' dan ansible_facts
['distribusi_major_version'] == '8'
- name: Dayakan EPEL Repository di CentOS 7
yum:
nama: pelepasan epel
nyatakan: terkini
menjadi: Benar
bila: ansible_facts ['os_family'] == 'RedHat' dan ansible_facts
['distribusi_major_version'] == '7'
Dalam kod ini:
tuan rumah: centos, memilih hos sahaja di centos kumpulan dari tuan rumah fail.
pengguna: tidak boleh dimakan, nama pengguna SSH host (di mana Ansible akan menjalankan tugas) tidak boleh dimakan.
Saya telah menentukan 2 tugas di sini. Satu untuk hos CentOS 8 dan satu untuk hos CentOS 7. Sebab saya melakukannya dengan cara ini adalah kerana pengurus pakej lalai untuk CentOS 8 adalah DNF, dan CentOS 7 adalah YUM. Satu tugas (tugas pertama) akan menggunakan pengurus pakej DNF dan akan dijalankan hanya pada host CentOS 8. Tugas lain (tugas terakhir) akan menggunakan pengurus pakej YUM dan hanya akan dijalankan pada host CentOS 7.
Kedua-dua tugas ini hampir sama. Satu-satunya perbezaan adalah modul pengurus pakej (dnf dan yum) digunakan dalam tugas dan kod pemeriksaan versi CentOS.
dnf dan yum Modul yang boleh diterima menerima parameter yang sama.
Di sini, nama: pelepasan epel, pakej yang akan dipasang adalah pelepasan epel.
nyatakan: terkini, bungkusannya pelepasan epel harus dipasang. Sekiranya pakej sudah dipasang dan versi terkini tersedia, maka pakej akan dikemas kini.
bila: keadaan, sekiranya keadaan adalah benar, maka tugas akan dijalankan. Jika tidak, tugas itu tidak akan dijalankan.
ansible_facts, digunakan untuk mengakses pemboleh ubah host Ansible.
ansible_facts ['os_family'] == 'RedHat', memeriksa sama ada OS hos adalah CentOS atau RedHat.
ansible_facts ['distribusi_major_version'] == '8', memeriksa sama ada versi OS hos adalah 8 (CentOS 8 atau RedHat 8, dalam kes ini).
ansible_facts ['distribusi_major_version'] == '7', memeriksa sama ada versi OS hos adalah 7 (CentOS 7 atau RedHat 7, dalam kes ini).
Kemudian, simpan aktifkan_epel_repo.keladi fail dengan menekan
Sekarang, anda boleh menjalankan buku main Ansible seperti berikut:
$ ansible-playbook playbooks / enable_epel_repo.keladi
Buku permainan harus berjalan tanpa sebarang kesalahan dan repositori EPEL harus diaktifkan pada kedua 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 kerana membaca artikel ini.