GNU/Linux >> Belajar Linux >  >> Linux

Pengantar singkat tentang peran Ansible untuk administrasi sistem Linux

Ansible adalah platform otomatisasi open source yang mencakup pengelolaan konfigurasi, penerapan aplikasi, dan orkestrasi infrastruktur. Ini adalah alat otomatisasi populer untuk engineer DevOps dan administrator sistem. Administrator sistem sering menghadapi kelelahan karier karena jam kerja yang panjang dan karena melakukan tugas yang berulang di banyak sistem, tetapi Ansible membantu membuat tugas ini lebih mudah untuk diselesaikan. Tugas seperti pembuatan pengguna, pengelolaan layanan, dan penginstalan software dapat diselesaikan menggunakan Ansible. Ansible adalah berbasis prosedur, bukan deklaratif, yang berarti Anda menulis semua langkah yang diperlukan ke dalam file YAML, lalu menjalankannya secara berurutan di semua sistem target.

[ Anda mungkin juga ingin membaca: Menggunakan playbook Ansible untuk mengelola pembaruan workstation dan server ]

Node

Dalam arsitektur Ansible, Anda memiliki node pengontrol dan node terkelola. Ansible hanya diinstal pada node pengontrol. Ini adalah alat tanpa agen dan tidak perlu diinstal pada node yang dikelola. Pengontrol dan node yang dikelola terhubung menggunakan protokol SSH. Semua tugas ditulis ke dalam "buku pedoman" menggunakan bahasa YAML. Setiap buku pedoman dapat berisi beberapa permainan, yang berisi tugas , dan tugas berisi modul . Modul adalah skrip mandiri yang dapat digunakan kembali yang mengelola beberapa aspek perilaku sistem. Modul yang memungkinkan juga dikenal sebagai plugin tugas atau plugin perpustakaan.

Peran

Buku pedoman untuk tugas-tugas kompleks bisa menjadi panjang dan karena itu sulit untuk dibaca dan dipahami. Solusi untuk masalah ini adalah peran yang Memungkinkan . Dengan menggunakan peran, Anda dapat memecah playbook panjang menjadi beberapa file sehingga setiap playbook mudah dibaca dan dipahami. Peran adalah kumpulan template, file, variabel, modul, dan tugas. Tujuan utama di balik peran adalah untuk menggunakan kembali kode Ansible. Insinyur dan sysadmin DevOps harus selalu mencoba menggunakan kembali kode mereka. Peran Ansible dapat berisi beberapa buku pedoman. Itu dapat dengan mudah menggunakan kembali kode yang ditulis oleh siapa pun jika perannya cocok untuk kasus tertentu. Misalnya, Anda dapat menulis buku pedoman untuk hosting Apache, lalu menggunakan kembali kode ini dengan mengubah konten index.html untuk mengubah opsi untuk beberapa aplikasi atau layanan lain.

Berikut ini adalah ikhtisar dari struktur peran Ansible. Ini terdiri dari banyak subdirektori, seperti:

|-- README.md
|-- defaults
|-------main.yml
|-- files
|-- handlers
|-------main.yml
|-- meta
|-------main.yml
|-- tasks
|-------main.yml
|-- templates
|-- tests
|-------inventory
|-- vars
|-------main.yml

Awalnya, semua file dibuat kosong dengan menggunakan ansible-galaxy memerintah. Jadi, bergantung pada tugasnya, Anda dapat menggunakan direktori ini. Misalnya, vars direktori menyimpan variabel. Dalam tasks direktori, Anda memiliki main.yml , yang merupakan buku pedoman utama. templates direktori adalah untuk menyimpan template Jinja. handlers direktori untuk menyimpan penangan.

Keuntungan dari peran Ansible:

  • Izinkan penggunaan ulang konten
  • Jadikan proyek besar dapat dikelola

Peran yang memungkinkan adalah direktori terstruktur yang berisi sub-direktori.

Tapi tahukah Anda bahwa Red Hat Enterprise Linux juga menyediakan beberapa Peran Sistem yang Mungkin untuk mengelola tugas sistem operasi?

Peran sistem

rhel-system-roles paket tersedia di saluran Extras (EPEL). rhel-system-roles package digunakan untuk mengkonfigurasi host RHEL. Ada tujuh rhel-system-roles default tersedia:

  • rhel-system-roles.kdump - Peran ini mengonfigurasi layanan pemulihan kerusakan kdump. Kdump adalah fitur kernel Linux dan berguna saat menganalisis penyebab kerusakan kernel.
  • rhel-system-roles.network - Peran ini didedikasikan untuk antarmuka jaringan. Ini membantu mengonfigurasi antarmuka jaringan di sistem Linux.
  • rhel-system-roles.selinux - Peran ini mengelola SELinux. Ini membantu mengonfigurasi mode SELinux, file, konteks port, dll.
  • rhel-system-roles.timesync - Peran ini digunakan untuk mengonfigurasi NTP atau PTP di sistem Linux Anda.
  • rhel-system-roles.postfix - Peran ini didedikasikan untuk mengelola agen transfer email Postfix.
  • rhel-system-roles.firewall - Seperti namanya, peran ini adalah tentang mengelola konfigurasi firewall sistem host.
  • rhel-system-roles.tuned - Tuned adalah layanan penyetelan sistem di Linux untuk memantau perangkat yang terhubung. Jadi peran ini adalah untuk mengonfigurasi layanan yang disetel untuk kinerja sistem.

rhel-system-roles paket berasal dari peran sistem Linux open source. Peran sistem Linux ini tersedia di Ansible Galaxy. rhel-system-roles didukung oleh Red Hat, jadi Anda dapat menganggap ini sebagai rhel-system-roles adalah hilir dari peran sistem Linux. Untuk menginstal rhel-system-roles di mesin Anda, gunakan:

$ sudo yum -y install rhel-system-roles
or
$ sudo dnf -y install rhel-system-roles

Peran ini terletak di /usr/share/ansible/roles/ direktori.

Ini adalah jalur default, jadi setiap kali Anda menggunakan playbook untuk merujuk peran ini, Anda tidak perlu secara eksplisit menyertakan jalur absolut. Anda juga dapat merujuk ke dokumentasi untuk menggunakan peran Ansible. Jalur untuk dokumentasi adalah /usr/share/doc/rhel-system-roles

Direktori dokumentasi untuk setiap peran memiliki informasi rinci tentang peran itu. Misalnya, file README.md adalah contoh peran itu, dll. Dokumentasinya sudah cukup jelas.

Berikut ini adalah contoh peran.

Contoh

Jika Anda ingin mengubah mode SELinux mesin localhost atau mesin host apa pun, gunakan peran sistem. Untuk tugas ini, gunakan rhel-system-roles.selinux

Untuk tugas ini, buku pedoman yang mungkin terlihat seperti ini:

---

- name: a playbook for SELinux mode
 hosts: localhost
 roles:

- rhel-system-roles.selinux
 vars:

- selinux_state: disabled

Setelah menjalankan playbook, Anda dapat memverifikasi apakah mode SELinux berubah atau tidak.

[ Mencari lebih banyak tentang otomatisasi sistem? Mulailah dengan The Automated Enterprise, buku gratis dari Red Hat. ] 

Menutup

Pengantar singkat tentang peran Ansible ini seharusnya cukup untuk membantu Anda mulai menggunakannya di buku pedoman Anda. Ingatlah bahwa Ansible dimaksudkan untuk merampingkan dan menyederhanakan tugas-tugas berulang tersebut dan untuk membuat hidup sysadmin Anda lebih mudah.


Linux
  1. 10 Modul yang memungkinkan untuk otomatisasi sistem Linux

  2. Demystifying Memungkinkan untuk sysadmin Linux

  3. 10 Buku Administrasi Sistem Linux Penting untuk Pemula dan Berpengalaman

  1. Apa Itu Linux? Panduan untuk Pengguna Non-teknis

  2. 8 tips untuk otomatisasi sistem Linux yang andal

  3. RHCE Ansible Series #10:Peran Sistem RHEL

  1. Pengantar bpftrace untuk Linux

  2. Pengantar emulator terminal DomTerm untuk Linux

  3. Pengantar Sistem File Linux