Cara Menginstal dan Mengkonfigurasi Ansible di RedHat Enterprise Linux 8

Cara Menginstal dan Mengkonfigurasi Ansible di RedHat Enterprise Linux 8

Tutorial ini mencakup instalasi langkah demi langkah dan konfigurasi ansible di redHat Enterprise Linux 8.
Ansible adalah sistem manajemen konfigurasi sumber terbuka terkemuka. Itu memudahkan administrator dan tim operasi untuk mengendalikan ribuan server dari Central Machine tanpa memasang agen di atasnya.

Dalam tutorial ini Anda akan belajar:

  • Tinjauan umum
  • Instal dan Konfigurasikan Python
  • Atur SSH Kata Sandi-Tanpa
  • Instal ansible
  • Menguji dan mengelola ansible

Arsitektur Ansible.

Persyaratan dan konvensi perangkat lunak yang digunakan

Persyaratan Perangkat Lunak dan Konvensi Baris Perintah Linux
Kategori Persyaratan, konvensi atau versi perangkat lunak yang digunakan
Sistem Red Hat Enterprise Linux 8
Perangkat lunak Python3, ansible
Lainnya Akses istimewa ke sistem Linux Anda sebagai root atau melalui sudo memerintah.
Konvensi # - mensyaratkan perintah linux yang diberikan untuk dieksekusi dengan hak istimewa root baik secara langsung sebagai pengguna root atau dengan menggunakan sudo memerintah
$ - mensyaratkan perintah Linux yang diberikan untuk dieksekusi sebagai pengguna biasa

Tinjauan umum

Ansible adalah mesin otomatisasi TI yang secara radikal sederhana yang mengotomatisasi penyediaan cloud, manajemen konfigurasi, penyebaran aplikasi, orkestrasi intra-layanan, dan banyak kebutuhan TI lainnya.



Dirancang untuk penyebaran multi-tier sejak hari pertama, ansible memodelkan infrastruktur TI Anda dengan menggambarkan bagaimana semua sistem Anda saling berhubungan, daripada hanya mengelola satu sistem pada satu waktu.

Ini tidak menggunakan agen dan tidak ada infrastruktur keamanan khusus tambahan, jadi mudah untuk digunakan - dan yang paling penting, ia menggunakan bahasa yang sangat sederhana (YAML, dalam bentuk buku pedoman ansible) yang memungkinkan Anda untuk menggambarkan pekerjaan otomatisasi Anda dengan cara yang mendekati pendekatan Bahasa Inggris biasa. Ansible bekerja dengan menghubungkan ke node Anda dan mendorong program kecil, yang disebut "modul ansible" untuk mereka.
Program -program ini ditulis untuk menjadi model sumber daya dari keadaan sistem yang diinginkan. Ansible kemudian menjalankan modul -modul ini (lebih dari SSH secara default), dan menghapusnya setelah selesai.

Perpustakaan modul Anda dapat berada di mesin apa pun, dan tidak ada server, daemon, atau basis data yang diperlukan. Biasanya Anda akan bekerja dengan program terminal favorit Anda, editor teks, dan mungkin sistem kontrol versi untuk melacak perubahan pada konten Anda.

Instal dan Konfigurasikan Python

Versi default Python di Rhel 8 adalah Python 3.6. Tapi Python 2 tetap tersedia di RHEL 8. Jika karena alasan apa pun Python 3.6 tidak ada di instalasi Red Hat Enterprise Linux 8, Anda harus menginstalnya secara manual.

Python 3.6 dapat diinstal pada RHEL 8 dengan menjalankan perintah di bawah ini di terminal Anda. Python perlu diinstal pada server ansible dan semua host/klien di mana ia akan terhubung.



# yum instal python3 memperbarui repositori manajemen berlangganan. Memperbarui repositori manajemen berlangganan. Pemeriksaan Kedaluwarsa Metadata Terakhir: 8:59:59 yang lalu di Sun 03 Feb 2019 11:20:51 PM +04. Ketergantungan diselesaikan. ==================================================== ==================================================== ==================================================== Paket Arch Version Repositori Ukuran ============================================== ==================================================== ==================================================== ===== Menginstal: Python36 x86_64 3.6.6-17.el8+2102+a4bbd900 rhel-8-for-x86_64-appstream-beta-rpms 22 K Aliran modul yang mengaktifkan: python36 3.6 Ringkasan Transaksi ================================================= ==================================================== ==================================================== === Instal 1 Paket Total Ukuran Unduh: 22 K Ukuran Terinstal: 22 K Apakah ini OK [Y/N]: Y Paket Pengunduhan: Python36-3.6.6-17.EL8+2102+A4BBD900.x86_64.RPM 6.0 kb/s | 22 KB 00:03 --------------------------------------------- -------------------------------------------------- -------------------------------------------------- ----- Total 6.0 kb/s | 22 kb 00:03 Peringatan:/var/cache/dnf/rhel-8-for-x86_64-appstream-beta-rpms-64aba9de5ea7e089/paket/python36-3.6.6-17.EL8+2102+A4BBD900.x86_64.RPM: Header V3 RSA/SHA256 Tanda Tangan, Kunci ID F21541EB: NoKey Red Hat Enterprise Linux 8 untuk x86_64 - AppStream Beta (RPMS) 3.2 kb/s | 3.3 kb 00:01 Mengimpor kunci GPG 0xf21541eb: userid: "Red Hat, Inc. (Kunci beta 2) "Sidik jari: B08B 659E E86A F623 BC90 E8DB 938A 80CA F215 41EB Dari:/etc/pki/rpm-gpg/rpm-gpg-redhat-beta ini OK [y/n]: y. : Python36-3.6.6-17.EL8+2102+A4BBD900.x86_64 Lengkap! 

Untuk menggunakan Python 3, cukup ketik Python3 di terminal.

Anda harus mencatat bahwa menggunakan Python 3, perintahnya adalah Python3 dan Python2 untuk Python 2. Bagaimana jika aplikasi Anda dikonfigurasi untuk merujuk ke Python yang tidak tersedia di seluruh sistem. Anda akan mendapatkan kesalahan bash di bawah ini.

# python -bash: python: perintah tidak ditemukan 

Anda dapat menggunakan mekanisme alternatif untuk mengaktifkan sistem perintah python yang tidak berversial di seluruh sistem, dan mengaturnya ke versi tertentu. Untuk mengatur Python 3 sebagai default jalankan perintah berikut.



# alternatif -set Python/usr/bin/python3

Menjalankan python -v harus menampilkan versi python default yang dikonfigurasi:

#python -v Python 3.6.6 

atau dengan memulai Python sebuah konsol:

# Python Python 3.6.6 (default, 16 Okt 2018, 01:53:53) [GCC 8.2.1 20180905 (Red Hat 8.2.1-3)] pada tipe linux "bantuan", "hak cipta", "kredit" atau "lisensi" untuk informasi lebih lanjut. >>> 

Atur SSH Kata Sandi-Tanpa

Buat pengguna semu di semua host:

# useradd ansible; echo "" | passwd --stdin ansible

Buat entri yang diperlukan dalam file sudoers /etc/sudoersuntuk pengguna yang tidak dapat dijalankan untuk akses sudo tanpa kata sandi:

ansible all = (all) nopasswd: all 
Menyalin

Sekarang Hasilkan Kunci SSH di server ansible:



$ ssh-keygen menghasilkan pasangan kunci RSA publik/pribadi. Masukkan file untuk menyimpan kunci (/home/ansible/.ssh/id_rsa): Direktori yang dibuat '/home/ansible/.ssh '. Masukkan frasa sandi (kosong tanpa frasa sandi): Masukkan frasa sandi yang sama lagi: Identifikasi Anda telah disimpan di/home/ansible/.ssh/id_rsa. Kunci publik Anda telah disimpan di/home/ansible/.ssh/id_rsa.pub. Sidik jari kuncinya adalah: SHA256: wnt/uneprkrv+hhv/djgtexk2bjogvpbr9ynigxm2em ansible@rhel8-server-server gambar randomArt kunci adalah:+--- [rsa 2048] ----+| | | . | | o e o | | + * + o | | . S * o * | | . += + + | | == o@ +.| | Oboo+= | | +O ++*BB | +---- [SHA256]-----+ 

Salin ke server jarak jauh sebagai pengguna yang tidak mungkin:

$ ssh-copy-id ansible@rhel8-ansible-client/usr/bin/ssh-copy-id: info: sumber kunci yang akan diinstal: "/home/ansible/.ssh/id_rsa.Pub "Keaslian Tuan Rumah 'RHEL8-ANGIBLE-CLIENT (192.168.1.109) 'tidak bisa didirikan. ECDSA Key Fingerprint adalah SHA256: e+nfcek/kvnignwdhgfvikhjbwwghiijjkfjygr7nki. Apakah Anda yakin ingin terus menghubungkan (ya/tidak)? YA/USR/BIN/SSH-COPY-ID: Info: Mencoba masuk dengan kunci baru, untuk memfilter semua yang sudah diinstal/usr/bin/ssh-copy-id: Info: 1 tombol ( s) tetap akan diinstal-jika Anda diminta sekarang adalah untuk menginstal tombol baru ansible@rhel8-ansible-client's Password: Jumlah kunci yang ditambahkan: 1 Sekarang coba masuk ke mesin, dengan: "ssh ' ansible@rhel8-antikan-klien '"dan periksa untuk memastikan bahwa hanya kunci yang Anda inginkan ditambahkan. 


Instal ansible

Setelah python diinstal, lanjutkan untuk menginstal PIP yang merupakan manajer paket Python yang akan kami gunakan untuk menginstal ansible:

# yum -y menginstal repositori manajemen berlangganan pembaruan python3 -pip. Memperbarui repositori manajemen berlangganan. Pemeriksaan Kedaluwarsa Metadata Terakhir: 9:03:18 yang lalu di Sun 03 Feb 2019 11:20:51 PM +04. Paket Python3-PIP-9.0.3-4.EL8.Noark sudah terpasang. Ketergantungan diselesaikan. Tidak ada yang bisa dilakukan. Menyelesaikan! 

Setelah kita punya Pip3 diinstal, gunakan untuk mendapatkan ansible terpasang di sistem manajemen ansible sebagai pengguna ansible.

$ pip3 instal ansible --user

Anda dapat melihat ansible diinstal menggunakan perintah berikut:

$ ansible --version ansible 2.7.6 File config = Tidak ada yang dikonfigurasi Path pencarian modul = ['/home/ansible/.ansible/plugin/modul ','/usr/share/ansible/plugin/modul '] Lokasi modul python ansible =/home/ansible/.lokal/lib/python3.6/Situs-Paket/Lokasi Eksekusi Ansible =/Home/Ansible/.Versi Python Lokal/Bin/Ansible = 3.6.6 (default, 16 Okt 2018, 01:53:53) [GCC 8.2.1 20180905 (Red Hat 8.2.1-3)] 

Menguji dan mengelola

Buat file inventaris ansible, default /etc/ansible/host Tetapi Anda dapat menyalin file host di direktori home dari pengguna yang tidak dapat dijelaskan. Anda juga dapat membuat sekelompok host jarak jauh seperti di bawah ini di file host.

 [web] 192.168.1.105 [db] 192.168.1.107 [Aplikasi] 192.168.1.108 192.168.1.109 192.168.1.110 
Menyalin

Anda dapat menggunakan modul ping untuk menguji ansible dan setelah berhasil dijalankan Anda dapat melihat output di bawah ini.

$ ansible -i host 192.168.1.109 -m ping 192.168.1.109 | Success => "diubah": false, "ping": "pong" 


Opsi -i digunakan untuk menyediakan jalur ke file inventaris. Anda harus mendapatkan output yang sama untuk nama grup "aplikasi".

$ ansible -i hosts aplikasi -m ping 192.168.1.108 | Success => "berubah": false, "ping": "pong" 192.168.1.109 | Success => "berubah": false, "ping": "pong" 192.168.1.110 | Success => "diubah": false, "ping": "pong" 

Kesimpulan

Kesederhanaan dan kemampuan Ansible untuk mengurangi kompleksitas alat lain telah membuatnya menjadi pelamar yang andal untuk lingkungan Anda. Kekhawatiran terpentingnya adalah keamanan dan keandalan. Ini menggunakan OpenSsh untuk transportasi, dan bahasa dirancang di sekitar auditabilitas bahkan oleh mereka yang tidak terbiasa dengan program ini. Ansible cukup cocok untuk mengelola kedua pengaturan kecil dengan beberapa instance serta lingkungan perusahaan.

Tutorial Linux Terkait:

  • Hal -hal yang harus diinstal pada ubuntu 20.04
  • Pengantar Otomatisasi Linux, Alat dan Teknik
  • Hal -hal yang harus dilakukan setelah menginstal ubuntu 20.04 FOSSA FOSSA Linux
  • Hal -hal yang harus diinstal pada Ubuntu 22.04
  • File Konfigurasi Linux: 30 Teratas Paling Penting
  • Unduh Linux
  • Can Linux mendapatkan virus? Menjelajahi kerentanan Linux…
  • Menguasai loop skrip bash
  • Mint 20: Lebih baik dari Ubuntu dan Microsoft Windows?
  • Daftar Alat Linux Kali Terbaik untuk Pengujian Penetrasi dan ..