Cara menggunakan modul ansible untuk tugas administrasi sistem - bagian 6

Cara menggunakan modul ansible untuk tugas administrasi sistem - bagian 6

Di dalam Bagian 6 Dari serial ansible, kami telah membahas beberapa modul ansible dalam topik masa lalu, kami sekarang akan melangkah lebih dalam dan menemukan modul tambahan yang membantu dalam melakukan sejumlah tugas administrasi sistem.

Anda akan mendapatkan ide dasar dari setiap modul dan melihat opsi yang tersedia untuk menyelesaikan tugas tertentu.

Di halaman ini:
  1. Mengelola Paket Perangkat Lunak dan Repositori di Ansible
  2. Mengelola Layanan Menggunakan Ansible
  3. Mengelola Firewall dengan Ansible
  4. Mengarsipkan file atau folder dengan ansible
  5. Jadwalkan tugas dengan ansible
  6. Mengelola pengguna dan grup dengan ansible
  7. Buat file dan direktori dengan ansible
  8. Mengelola penyimpanan dengan Ansible
  9. Mengelola sistem file dengan ansible

1. Mengelola Paket Perangkat Lunak dan Repositori di Ansible

Saat memasang paket pada sistem Linux, distribusi yang berbeda dilengkapi dengan manajer paket yang berbeda. Untuk Topi merah distribusi, kami memiliki yum & dnf sementara untuk Debian Rasa, ada pasti.

Ansible hadir dengan modul yang disebut kemasan, yang menghilangkan kebutuhan untuk menggunakan manajer paket yang berbeda untuk sistem yang berbeda. Secara otomatis menggunakan manajer paket yang sesuai dari sistem host, sehingga membuat pekerjaan lebih mudah.

Instal Paket Perangkat Lunak

Misalnya, untuk menginstal htop dalam sekelompok tuan rumah terdiri dari keduanya Debian & Topi merah distro menggunakan kemasan modul seperti yang ditunjukkan pada install_htop.YML Buku pedoman di bawah ini.

--- - Nama: Instal htop di host Ubuntu dan Centos: Semua tugas: - Paket: Nama: HTOP Status: Diinstal 
Instal Perangkat Lunak Menggunakan Modul Paket Ansible

CATATAN: Nama paket mungkin berbeda dari satu sistem operasi ke yang lain. Misalnya, kami punya httpd di dalam Topi merah distribusi dan Apache2 untuk Debian/Ubuntu Sistem yang semuanya menunjukkan server web apache. Oleh karena itu, kehati -hatian ekstra harus diambil saat melewati paket -paket ini. Biasanya, yang terbaik adalah menggunakan variabel atau pernyataan bersyarat.

2. Mengelola Layanan Menggunakan Ansible

Selanjutnya, kami memiliki file melayani modul, yang digunakan untuk mengelola layanan pada sistem Linux. Itu digunakan untuk memulai, berhenti atau restart layanan. Anda juga dapat menggunakannya untuk mengaktifkan layanan sehingga ketika suatu sistem boot, secara otomatis memulai layanan.

Mulai dan Aktifkan Layanan

Misalnya, untuk memulai & mengaktifkan Webserver Apache di RHEL 8, Gunakan layanan seperti yang ditunjukkan.

--- - Nama: Mulai dan Aktifkan Host Layanan HTTPD: Webservers Tugas: - Layanan: Nama: httpd State: Mulai Diaktifkan: Ya 
Kelola Layanan dengan Ansible

Hentikan layanan

Untuk berhenti httpd layanan, lulus berhenti atribut.

--- - Nama: Berhenti host layanan httpd: Webservers Tugas: - Layanan: Nama: httpd Negara: Berhenti 
Hentikan layanan dengan Ansible

Restart layanan

Untuk memulai kembali httpd layanan, lulus restart atribut.

--- - Nama: Restart httpd Layanan Hosts: WebServers Tugas: - Layanan: Nama: httpd Negara: dimulai ulang 
Restart layanan dengan ansible

3. Mengelola Firewall dengan Ansible

Administrator Sistem Tugas Penting lainnya yang dilakukan adalah pengelolaan firewall. Dalam buku pedoman yang tidak dapat dijelaskan, ini menjadi lebih mudah Firewalld Dan UFW modul. Anda dapat mengonfigurasi firewall untuk mengizinkan atau memblokir port atau layanan atau bahkan alamat sumber.

Ayo lompat dan lihat beberapa contoh:

Open/Block Port 80 di Firewalld

--- - Nama: Izinkan Port 80 Hosts: Webservers Tugas: -Firewalld: Port: 80/TCP Permanen: Ya Status: Diaktifkan 

Di buku pedoman di atas, port 80 diizinkan melintasi firewall.

Pilihan Permanen: Ya menegakkan aturan firewall dan membuatnya gigih di reboot. Namun, aturan ini tidak berlaku segera. Itu hanya mulai berlaku setelah reboot. Untuk segera menegakkan aturan tersebut, gunakan opsi Segera: Ya.

Untuk menentukan alamat yang diizinkan, gunakan Sumber: 0.0.0.0/0 penyataan.

- Firewalld: Sumber: 192.168.0.0/24 Zona: Negara Publik: Diaktifkan 

Untuk menentukan berbagai port untuk diizinkan menggunakan opsi port sebagai berikut:

- firewalld: port: 213-567/udp permanen: ya status: diaktifkan 

Untuk memblokir port mengubah opsi status menjadi dengan disabilitas seperti yang ditunjukkan:

-firewalld: port: 80/tcp permanen: ya status: dinonaktifkan 

Tambahkan/Blokir Layanan di Firewalld

Selain menambahkan/memblokir port, Anda juga dapat menerapkan aturan yang sama ke suatu layanan. Dan itu cukup sederhana. Gunakan saja melayani modul dan menambahkan layanan yang akan ditambahkan dan memastikan bahwa opsi status diatur ke diaktifkan.

- Firewalld: Layanan: https permanen: true Status: Diaktifkan 

Untuk memblokir layanan, atur negara opsi untuk dengan disabilitas.

- Firewalld: Layanan: https permanen: true Negara: Dinonaktifkan 

4. Mengarsipkan file atau folder dengan ansible

Pengarsipan mengacu pada kompresi file atau folder ke format yang mudah portabel dan lebih kecil. Kapal Ansible dengan modul yang disebut arsip. Mengompres file adalah semudah yang didapat. Yang diperlukan hanyalah menentukan jalur sumber file dan tujuan file terkompresi.

Kompres direktori

Pertimbangkan buku pedoman kompres.YML di bawah.

--- - Hosts: Webservers Tugas: • Nama: Kompres Folder Arsip: Path:/Opt/Data/Web Dest:/TMP/Web.GZ 

Playbook di atas mengompres /opt/data/web direktori dan menyimpannya /tmp/web.GZ.

Buat Arsip dengan Ansible

Kompres direktori dengan format

Format kompresi default adalah .GZ, Namun, ini dapat ditentukan menggunakan atribut format. Cicipi buku pedoman berikutnya.

--- - Hosts: WebServer Tugas: - Nama: Buat Arsip Arsip Zip: Path:/Opt/Data/Web Dest:/TMP/Web Format: Zip 

Buku pedoman di atas kompres /opt/data/web direktori ke /tmp/web.ritsleting.

Lepaskan file

Anda juga dapat melepaskan file terkompresi menggunakan tidak mengarsipkan atribut. Pertimbangkan buku pedoman di bawah ini.

--- - Hosts: Webservers Tugas: - Nama: Uncompress /TMP /Web.GZ ke/Opt Directory pada pengontrol ansible unarchive: src:/tmp/web.bz2 dest: /opt / 

Buku pedoman di atas membuka kompres file /opt/data/web.GZ ke /memilih pada pengontrol yang tidak jelas.

Kecilkan file pada node jarak jauh

Untuk menentukan sistem sumber jarak jauh, gunakan remote_src = ya pilihan.

--- - Hosts: Webservers Tugas: - Nama: Uncompress /TMP /Web.BZ2 TO/OPT ON REMOTE HOST UNARCHIVE: SRC:/TMP/WEB.bz2 dest: /opt / remote_src = ya 

Buku pedoman di atas membuka kompres file /tmp/web.BZ2 pada simpul jarak jauh ke /memilih/ direktori.

5. Jadwalkan tugas dengan ansible

Cron modul Membantu dalam menjadwalkan pekerjaan di buku pedoman ansible.

Buat tugas yang dijadwalkan

Pertimbangkan buku pedoman di bawah ini.

--- - HOSTS: WebServers Tugas: - Nama: Buat Tugas Terjadwal Cron: Nama: Jalankan Pekerjaan Kehadiran Karyawan: SH/OPT/SCRIPTS/KEHIDUPAN.SH Bulan: 4 Hari: 5 Jam: 17 Menit: 00 

Playbook menjalankan skrip kehadiran pada 5 April pukul 17:00.

Jadwalkan skrip pada tanggal tertentu

Jika Anda ingin menjadwalkan skrip ini untuk berjalan hanya jika hari ke -5 April adalah hari Senin, maka gunakan atribut hari kerja: 1. 0 menunjukkan hari Minggu dan 6 menunjukkan Sabtu menurut Notasi Cron.

Bulan: 4 Hari: 5 Jam: 17 Menit: 00 Hari Kerja: 1 

Sebuah tanda bintang (*) Di salah satu bidang ini menunjukkan nilai apa pun.

Jalankan pekerjaan saat kencan

Untuk menjalankan pekerjaan pada 5 April pukul 17:00.

Bulan: 4 Hari: 5 Jam: 17 Menit: 00 Hari Kerja: * 

Jalankan pekerjaan pada hari tertentu setiap bulan

Untuk melaksanakan pekerjaan cron pada hari ke -5 setiap bulan pada pukul 17:00, gunakan pengaturan di bawah ini.

Bulan: * Hari: 5 Jam: 17 Menit: 00 Hari Kerja: * 

Jalankan pekerjaan setiap hari

Untuk melaksanakan pekerjaan cron setiap hari pada pukul 17:00, atur pengaturan waktu seperti yang ditunjukkan:

Bulan: * Hari: * Jam: 17 Menit: 00 Hari Kerja: * 

Jalankan pekerjaan setiap 5 jam

Untuk menjalankan pekerjaan cron setiap 5 jam, gunakan nilai langkah */5 seperti yang ditunjukkan.

Bulan: * Hari: * Jam: */5 Menit: * Hari Kerja: * 

6. Mengelola pengguna dan grup dengan ansible

Anda juga dapat mengelola pengguna dan grup di dalam buku pedoman ansible dengan cukup mudah.

Buat pengguna baru

Untuk membuat pengguna baru, gunakan pengguna modul seperti yang ditunjukkan.

--- - Hosts: WebServers Tugas: - Nama: Buat Pengguna Pengguna Baru: Nama: Jack 

Anda juga dapat menambahkan opsi tambahan seperti UID, grup.

- Nama: Buat Pengguna Baru Baru: Nama: Jack Komentar: Jack Peters UID: 1002 Grup: Administrator Shell: /Bin /Bash 

Hapus pengguna

Untuk menghapus pengguna, gunakan Hapus: Ya penyataan.

- Nama: Hapus Pengguna 'Jack' Pengguna: Nama: Jack State: Absen Hapus: Ya 

Buat grup baru

Untuk membuat grup baru, gunakan kelompok modul.

- Nama: Buat grup grup: Nama: Pengembang 

7. Buat file dan direktori dengan ansible

Untuk membuat file direktori, gunakan mengajukan modul.

Buat direktori baru

Misalnya, untuk membuat direktori baru.

--- - Hosts: WebServers Tugas: - Nama: Buat File Direktori Baru: Path: /Opt /App State: Direktori 

Anda dapat menambahkan atribut lain seperti izin pemilik, grup dan file.

- Hosts: WebServers Tugas:-Nama: Buat File Direktori Baru: Path: /Opt /Web State: Pemilik Direktori: WWW-Data Group: WWW-Data Mode: 0644 

Selain itu, Anda dapat membuat direktori secara rekursif menggunakan Berlangsung: Ya penyataan.

--- - HOSTS: WebServer Tugas:-Nama: Buat direktori File Rekursif: Path:/Opt/Web/Aplikasi Status: Pemilik Direktori: WWW-Data Group: WWW-Data Mode: 0644 Recurse: Ya 

Buat file

Untuk membuat file, gunakan Negara: Sentuh pilihan.

--- - HOSTS: WebServer Tugas: - Nama: Buat File File Baru: Path:/Opt/Web/Indeks.html Negara: Sentuh Pemilik: WWW-Data Group: WWW-Data Mode: 0644 

8. Mengelola penyimpanan dengan Ansible

Itu LVG Modul digunakan untuk mengonfigurasi volume dan grup LVM.

Buat grup volume LVM

Pertimbangkan buku pedoman di bawah ini:

--- - Hosts: Webservers Tugas: • Nama: Buat LVM Volume Group LVG: VG: VG1 PVS: /Dev /SDA1 Pesize: 32 

Ini menciptakan grup volume di atas /dev/sda1 partisi dengan ukuran tingkat fisik 32 MB.

Setelah dibuat, gunakan lvol modul untuk membuat volume logis seperti yang ditunjukkan

Buat volume logis

--- - Hosts: WebServers Tugas: - Nama: Buat LVM Volume LVOL: VG: VG1 LV: LVOL1 PVS: /DEV /SDA1 

9. Mengelola sistem file dengan ansible

Untuk membuat sistem file pada perangkat blok, gunakan berkas sistem modul.

Buat sistem file

Buku pedoman di bawah ini membuat jenis sistem file xfs pada volume blok.

--- - HOSTS: WebServer Tugas: - Nama: Buat sistem file fileStem: fstype: xfs dev:/dev/vg1/lvol1 

Pasang sistem file

Anda selanjutnya dapat melanjutkan untuk memasang volume blok menggunakan gunung Modul seperti yang ditunjukkan dalam buku pedoman di bawah ini:

--- - Hosts: WebServer Tugas: - Nama: Pasang sistem file Mount: FSTYPE: XFS SRC:/DEV/VG1/LVOL1 PATH:/OPT/Status Web: Dipasang 
Kesimpulan

Ini menyimpulkan topik. Kami telah membahas berbagai tugas administrasi sistem yang dapat diselesaikan dengan modul bawaan spesifik di buku pedoman ansible.