Memahami komponen teras Ansible - Bahagian 1

Memahami komponen teras Ansible - Bahagian 1

Pakar Bersertifikat Red Hat dalam Peperiksaan Automasi Ansible (EX407) adalah program pensijilan baru oleh topi merah yang menguji kemahiran anda untuk digunakan Ansible Untuk mengautomasikan konfigurasi sistem dan aplikasi.

Siri ini akan bertajuk "Pakar Bersertifikat Red Hat dalam Peperiksaan Automasi Ansible (EX407)"Dan meliputi objektif peperiksaan berikut berdasarkan Red Hat Enterprise Linux 7.5 dan Ansible 2.7, yang akan kita sampaikan dalam hal ini Ansible Siri:

Untuk melihat yuran dan mendaftar untuk peperiksaan di negara anda, periksa halaman peperiksaan automasi ansible.

Bahagian 1: Memahami komponen teras Ansible Bahagian 2: Pasang dan konfigurasikan nod kawalan ansible Bahagian 3: Cara mengkonfigurasi nod yang diuruskan oleh Ansible dan menjalankan arahan ad-hoc Bahagian 4: Cara membuat inventori statik dan dinamik untuk menentukan kumpulan tuan rumah Bahagian 5: Cara membuat drama dan buku main yang boleh Bahagian 6: Cara Menggunakan Modul Ansible untuk Tugas Pentadbiran Sistem Bahagian 7: Cara membuat dan menggunakan templat untuk membuat fail konfigurasi tersuai Bahagian 8: Cara bekerja dengan pembolehubah dan fakta ansible Bahagian 9: Cara membuat dan memuat turun peranan galaksi ansible dan menggunakannya Bahagian 10: Cara Menggunakan Ansible Vault dalam PlayBooks untuk Melindungi Data Sensitif

Di dalam ini Bahagian 1 daripada Ansible siri, kami akan membincangkan beberapa gambaran asas komponen teras di Ansible.

Memahami komponen teras Ansible

Ansible adalah platform automasi percuma dan openSource oleh Topi merah yang membolehkan anda mengurus dan mengawal pelbagai pelayan dari satu lokasi pusat. Ia sangat sesuai apabila anda mempunyai pelbagai tugas dan berulang -ulang yang perlu dilakukan. Oleh itu, bukannya masuk ke setiap nod jauh ini dan menjalankan tugas anda, anda boleh dengan selesa melakukannya dari lokasi pusat dan menguruskan pelayan anda dengan selesa.

Ini bermanfaat apabila anda ingin mengekalkan konsistensi dalam penggunaan aplikasi, mengurangkan kesilapan manusia dan mengautomasikan tugas berulang dan agak biasa.

Sudah tentu, ada alternatif lain untuk Ansible seperti Boneka, Chef, dan Garam. Walau bagaimanapun, Ansible kebanyakannya lebih disukai kerana mudah digunakan dan mudah untuk dipelajari.

Mengapa mudah untuk belajar anda mungkin bertanya? Ini adalah kerana Ansible penggunaan Yaml (Satu lagi bahasa markup) dalam pekerjaan konfigurasi dan automasinya yang boleh dibaca manusia dan cukup mudah untuk diikuti. Yaml penggunaan SSH protokol untuk berkomunikasi dengan pelayan jauh, tidak seperti platform automasi lain yang memerlukan anda memasang ejen pada nod jauh untuk berkomunikasi dengan mereka.

Sebelum kita memulakan dengan Ansible, Adalah penting agar anda mengenali beberapa terminologi asas supaya anda tidak tersesat atau keliru ketika kami bergerak maju.

Inventori

An inventori adalah fail teks yang mengandungi senarai pelayan atau nod yang anda uruskan dan mengkonfigurasi. Biasanya, pelayan disenaraikan berdasarkan nama host atau alamat IP mereka.

An inventori Fail boleh mengandungi sistem jauh yang ditakrifkan oleh alamat IP mereka seperti yang ditunjukkan:

10.200.50.50 10.200.50.51 10.200.50.52 

Sebagai alternatif, mereka boleh disenaraikan mengikut kumpulan. Dalam contoh di bawah, kami mempunyai pelayan yang diletakkan di bawah 2 kumpulan - pelayan web dan pangkalan data. Dengan cara ini mereka boleh dirujuk mengikut nama kumpulan mereka dan bukan alamat IP mereka. Ini seterusnya memudahkan proses operasi.

[Webservers] 10.200.50.60 10.200.50.61 [pangkalan data] 10.200.50.70 10.200.50.71 

Anda boleh mempunyai pelbagai kumpulan dengan pelbagai pelayan jika anda berada dalam persekitaran pengeluaran yang besar.

Playbook

A Playbook adalah satu set skrip pengurusan konfigurasi yang menentukan bagaimana tugas akan dilaksanakan pada tuan rumah jauh atau sekumpulan mesin tuan rumah. Skrip atau arahan ditulis dalam Yaml format.

Contohnya, anda boleh mempunyai Playbook fail untuk memasang webserver Apache di CentOS 7 dan memanggilnya httpd.yml.

Untuk membuat Playbook Jalankan arahan.

$ sentuh playbook_name.yml 

Contohnya untuk membuat buku main yang dipanggil httpd, Jalankan arahan.

$ sentuh httpd.yml 

Fail yaml bermula dengan 3 tanda hubung seperti yang ditunjukkan. Di dalam fail, tambahkan arahan berikut.

--- - Nama: Ini Memasang dan Memulakan Apache Webserver Hosts: Webservers Tasks: - Nama: Pasang Apache Webserver Yum: Name = Httpd State = Terkini - Nama: Semak Perkhidmatan Status Httpd: Name = Httpd State = Bermula 

Di atas Playbook memasang Pelayan web Apache pada sistem jauh yang ditakrifkan sebagai Webservers dalam fail inventori. Selepas pemasangan webserver, Ansible kemudian memeriksa jika pelayan web Apache dimulakan dan dijalankan.

Modul

Modul adalah unit kod diskret yang digunakan dalam Buku Playbooks untuk melaksanakan arahan pada tuan rumah atau pelayan terpencil. Setiap modul diikuti dengan hujah.

Format asas modul adalah Kunci: Nilai.

- Nama: Pasang Pakej Apache Yum: Name = Httpd State = Hadir 

Di atas Yaml Coretan kod, -nama dan yum adalah modul.

Bermain

Ansible bermain adalah skrip atau arahan yang mentakrifkan tugas yang akan dijalankan di pelayan. Koleksi drama merupakan buku main. Dengan kata lain, buku main adalah koleksi pelbagai drama, yang masing -masing jelas menetapkan tugas yang akan dijalankan di pelayan. Bermain ada dalam format yaml.

Pembolehubah

Sekiranya anda mempunyai latar belakang dalam pengaturcaraan, kemungkinan besar anda telah menggunakan pembolehubah. Pada asasnya, pemboleh ubah mewakili nilai. Pemboleh ubah boleh termasuk huruf, angka, dan garis bawah tetapi mesti selalu bermula dengan huruf.

Pembolehubah digunakan apabila arahan berbeza dari satu sistem ke sistem yang lain. Ini benar terutamanya semasa konfigurasi atau pelbagai perkhidmatan dan ciri.

Terdapat 3 jenis pembolehubah utama:

  • Pembolehubah PlayBook
  • Pembolehubah inventori
  • Pembolehubah khas

Dalam Ansible, Pembolehubah pertama ditakrifkan menggunakan vars k, kemudian diikuti dengan nama pembolehubah dan nilainya.

Sintaks seperti yang ditunjukkan:

vars: var name1: 'pembolehubah pertama saya' var name2: 'pembolehubah kedua saya' 

Pertimbangkan kod di bawah.

- Hos: Webservers Vars: - Web_directory:/var/www/html/ 

Dalam contoh di atas, pemboleh ubah di sini adalah web_directory dan ia mengarahkan Ansible untuk membuat direktori di /var/www/html/ jalan.

Fakta

Fakta Adakah sifat sistem yang dikumpulkan oleh Ansible ketika melaksanakan buku main pada sistem tuan rumah. Ciri -ciri termasuk nama host, keluarga OS, jenis CPU, dan teras CPU untuk menyebut beberapa.

Untuk melihat sekilas bilangan fakta yang tersedia untuk kegunaan mengeluarkan arahan.

$ ansible localhost -m persediaan 
Senarai Fakta Ansible Tersedia

Seperti yang anda lihat, sebilangan besar fakta telah dipaparkan secara lalai. Anda dapat mempersempit hasilnya dengan menggunakan parameter penapis seperti yang ditunjukkan.

$ ansible localhost -m persediaan -a "penapis =*ipv4" 
Senaraikan fakta IPv4 Ansible

Fail konfigurasi

Dalam Ansible, Fail konfigurasi adalah fail yang mengandungi tetapan parameter yang berbeza yang menentukan bagaimana berjalannya ansible. Fail konfigurasi lalai adalah ansible.cfg fail yang terletak di /etc/ansible/ direktori.

Anda boleh melihat fail konfigurasi dengan menjalankan:

$ kucing/etc/ansible/ansible.cfg 
Fail konfigurasi ansible

Seperti yang anda boleh perhatikan, beberapa parameter termasuk seperti inventori dan Perpustakaan laluan fail, pengguna sudo, penapis plugin, modul, dll. Parameter ini boleh diselaraskan hanya dengan mengulas dan mengubah nilai di dalamnya.

Di samping.

Ringkasan

Setelah melihat komponen teras di Ansible, Kami harap anda berada dalam kedudukan untuk menjaga mereka di hujung jari anda dan memilihnya ketika kami bergerak maju. Sertailah kami dalam topik anda yang seterusnya.