Cara menggunakan modul ansible untuk tugas administrasi sistem - bagian 6
- 3686
- 645
- Dwayne Hackett
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:
- Mengelola Paket Perangkat Lunak dan Repositori di Ansible
- Mengelola Layanan Menggunakan Ansible
- Mengelola Firewall dengan Ansible
- Mengarsipkan file atau folder dengan ansible
- Jadwalkan tugas dengan ansible
- Mengelola pengguna dan grup dengan ansible
- Buat file dan direktori dengan ansible
- Mengelola penyimpanan dengan Ansible
- 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: DiinstalInstal 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: YaKelola Layanan dengan Ansible
Hentikan layanan
Untuk berhenti httpd layanan, lulus berhenti atribut.
--- - Nama: Berhenti host layanan httpd: Webservers Tugas: - Layanan: Nama: httpd Negara: BerhentiHentikan 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 ulangRestart 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 AnsibleKompres 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.
- « Cara Membuat Template Di Ansible Untuk Membuat Konfigurasi Pada Node yang Dikelola - Bagian 7
- POLO - Manajer File Berbobot Ringan Modern untuk Linux »