Cara Menggunakan Modul Ansible Untuk Tugas Pentadbiran Sistem - Bahagian 6
- 907
- 226
- Clarence Powlowski
Di dalam ini Bahagian 6 Daripada siri Ansible, kami telah merangkumi beberapa modul ansible dalam topik yang lalu, kami kini akan lebih mendalam dan menemui modul tambahan yang membantu dalam melaksanakan beberapa tugas pentadbiran sistem.
Anda akan mendapat idea asas setiap modul dan melihat pilihan yang tersedia untuk menyelesaikan tugas tertentu.
Di halaman ini:
- Menguruskan pakej perisian dan repositori di Ansible
- Menguruskan Perkhidmatan Menggunakan Ansible
- Menguruskan Firewall dengan Ansible
- Mengarkibkan fail atau folder dengan Ansible
- Jadual tugas dengan Ansible
- Urus pengguna dan kumpulan dengan Ansible
- Buat fail dan direktori dengan Ansible
- Menguruskan penyimpanan dengan Ansible
- Menguruskan sistem fail dengan Ansible
1. Menguruskan pakej perisian dan repositori di Ansible
Semasa memasang pakej pada sistem linux, pengedaran yang berbeza datang dengan pengurus pakej yang berbeza. Untuk Topi merah pengagihan, kami mempunyai yum & dnf sementara untuk Debian perisa, ada yang tepat.
Ansible dilengkapi dengan modul yang dipanggil pakej, yang menghilangkan keperluan untuk menggunakan pengurus pakej yang berbeza untuk sistem yang berbeza. Ia secara automatik menggunakan pengurus pakej yang sepadan dengan sistem tuan rumah, dengan itu membuat kerja lebih mudah.
Pasang pakej perisian
Contohnya, untuk memasang HTOP dalam kumpulan tuan rumah terdiri daripada kedua -duanya Debian & Topi merah distros menggunakan pakej modul seperti yang ditunjukkan dalam install_htop.yml Playbook di bawah.
--- - Nama: Pasang HTOP di Ubuntu dan Centos Hosts: Semua Tugas: - Pakej: Nama: HTOP Negeri: DipasangPasang perisian menggunakan modul pakej Ansible
CATATAN: Nama pakej mungkin berbeza dari satu sistem operasi ke yang lain. Contohnya, kita ada httpd dalam Topi merah pengagihan dan Apache2 untuk Debian/Ubuntu Sistem yang semuanya menunjukkan webserver Apache. Oleh itu, berhati -hati perlu diambil semasa lulus pakej ini. Biasanya, sebaiknya menggunakan pembolehubah atau pernyataan bersyarat.
2. Menguruskan Perkhidmatan Menggunakan Ansible
Seterusnya, kami mempunyai perkhidmatan modul, yang digunakan untuk menguruskan perkhidmatan pada sistem linux. Ia digunakan untuk memulakan, menghentikan atau memulakan semula perkhidmatan. Anda juga boleh menggunakannya untuk membolehkan perkhidmatan supaya apabila sistem but, ia secara automatik memulakan perkhidmatan.
Mulakan dan aktifkan perkhidmatan
Contohnya, untuk memulakan & membolehkan webserver Apache di RHEL 8, Gunakan perkhidmatan seperti yang ditunjukkan.
--- - Nama: Mula dan Dayakan Hos Perkhidmatan Httpd: Tugas Webservers: - Perkhidmatan: Nama: Httpd Negeri: Dimulakan Diaktifkan: YaUrus perkhidmatan dengan Ansible
Hentikan perkhidmatan
Untuk berhenti httpd perkhidmatan, lulus berhenti atribut.
--- - Nama: Stop Httpd Host Service: Webservers Tasks: - Service: Nama: HTTPD Negeri: BerhentiBerhenti perkhidmatan dengan Ansible
Mulakan semula perkhidmatan
Untuk memulakan semula httpd perkhidmatan, lulus dimulakan semula atribut.
--- - Nama: Mulakan semula hos perkhidmatan httpd: Tugas Webservers: - Perkhidmatan: Nama: HTTPD Negeri: Dimulakan semulaMulakan semula perkhidmatan dengan Ansible
3. Menguruskan Firewall dengan Ansible
Satu lagi pentadbir sistem tugas penting adalah pengurusan firewall. Dalam buku playbooks, ini telah dibuat lebih mudah dengan Firewalld dan ufw modul. Anda boleh mengkonfigurasi firewall untuk membenarkan atau menyekat pelabuhan atau perkhidmatan atau alamat sumber.
Mari melompat masuk dan lihat beberapa contoh:
Buka/blok port 80 di firewalld
--- - Nama: Benarkan Port 80 Hos: Tugas Webservers: -Firewalld: Port: 80/TCP Tetap: Ya Negeri: didayakan
Dalam buku main di atas, Port 80 dibenarkan melintasi firewall.
Pilihan Tetap: Ya
Menguatkuasakan peraturan firewall dan menjadikannya berterusan di reboot. Walau bagaimanapun, peraturan ini tidak terpakai dengan segera. Ia hanya berkuat kuasa selepas reboot. Untuk menguatkuasakan peraturan dengan segera, gunakan pilihan Segera: Ya
.
Untuk menentukan alamat yang dibenarkan, gunakan Sumber: 0.0.0.0/0 penyata.
- Firewalld: Sumber: 192.168.0.0/24 Zon: Negeri Awam: Diaktifkan
Untuk menentukan pelbagai port yang dibenarkan menggunakan pilihan port seperti berikut:
- Firewalld: Pelabuhan: 213-567/UDP Tetap: Ya Negeri: Diaktifkan
Untuk menyekat pelabuhan menukar pilihan keadaan ke kurang upaya seperti yang ditunjukkan:
-Firewalld: Port: 80/TCP Tetap: Ya Negeri: Dilumpuhkan
Tambahkan/menyekat perkhidmatan di firewalld
Selain menambah/menyekat port, anda juga boleh menggunakan peraturan yang sama untuk perkhidmatan. Dan ia agak mudah. Hanya gunakan perkhidmatan modul dan tambahkan perkhidmatan untuk ditambah dan pastikan pilihan negeri ditetapkan ke didayakan.
- Firewalld: Perkhidmatan: HTTPS Tetap: Benar Negeri: didayakan
Untuk menyekat perkhidmatan menetapkan Negeri pilihan untuk kurang upaya.
- Firewalld: Perkhidmatan: HTTPS Tetap: Benar Negeri: Dilumpuhkan
4. Mengarkibkan fail atau folder dengan Ansible
Pengarsipan merujuk kepada pemampatan fail atau folder ke format yang mudah mudah alih dan lebih kecil. Kapal ansible dengan modul yang dipanggil arkib. Memampatkan fail hampir semudah itu. Yang diperlukan ialah menentukan laluan sumber fail dan destinasi fail termampat.
Memampatkan direktori
Pertimbangkan buku main memampatkan.yml di bawah.
--- - Hos: Tugas Webservers: • Nama: Memampatkan Arkib Folder: Laluan:/Opt/Data/Web Dest:/TMP/Web.Gz
Buku play di atas memampatkan /memilih/data/web direktori dan menjimatkannya ke /TMP/Web.Gz.
Buat arkib dengan ansibleMemampatkan direktori dengan format
Format mampatan lalai adalah .Gz
, Walau bagaimanapun, ini boleh ditentukan menggunakan atribut format. Contoh buku main seterusnya.
--- - Hos: Tugas Webservers: - Nama: Buat Arkib Arkib Zip: Laluan:/Opt/Data/Web Dest:/TMP/Format Web: ZIP
Buku main di atas memampatkan /memilih/data/web direktori ke /TMP/Web.zip.
Tidak membuat fail
Anda juga boleh mengadakan fail termampat menggunakan tidak menentu atribut. Pertimbangkan buku main di bawah.
--- - Hos: Tugas Webservers: - Nama: Uncompress /TMP /Web.Direktori Gz ke/Opt pada Pengawal Ansible Unarchive: Src:/TMP/Web.BZ2 DEST: /OPT /
Buku Play di atas tidak memadam fail /memilih/data/web.Gz ke /Memilih pada pengawal ansible.
Tidak memaparkan fail pada nod jauh
Untuk menentukan sistem sumber jauh gunakan remote_src = ya
pilihan.
--- - Hos: Tugas Webservers: - Nama: Uncompress /TMP /Web.BZ2 TO/OPT ON REMOTE HOST UNARCHIVE: SRC:/TMP/WEB.BZ2 DEST: /OPT / remote_src = ya
Buku Play di atas tidak memadam fail /TMP/Web.BZ2 di nod jauh ke /Memilih/ direktori.
5. Jadual tugas dengan Ansible
Cron modul Membantu dalam penjadualan pekerjaan dalam buku main ansible.
Buat tugas yang dijadualkan
Pertimbangkan buku main di bawah.
--- - Hos: Tugas Webservers: - Nama: Buat Tugas Tugas Berjadual: Nama: Jalankan Pekerja Kehadiran Pekerja.SH Bulan: 4 Hari: 5 Jam: 17 minit: 00
Buku main menjalankan skrip kehadiran pada 5 April jam 5:00 petang.
Jadualkan skrip pada tarikh tertentu
Sekiranya anda ingin menjadualkan skrip ini untuk dijalankan hanya jika hari ke -5 April adalah hari Isnin, maka gunakan hari kerja: 1 atribut. 0 menandakan hari Ahad dan 6 menandakan Sabtu mengikut notasi Cron.
Bulan: 4 Hari: 5 Jam: 17 minit: 00 Hari minggu: 1
An asterisk (*) dalam mana -mana bidang ini menunjukkan sebarang nilai.
Jalankan pekerjaan pada tarikh
Untuk menjalankan tugas pada 5 April jam 5:00 petang tidak kira apa hari kerja, gunakan parameter masa seperti yang ditunjukkan.
Bulan: 4 Hari: 5 Jam: 17 minit: 00 Hari minggu: *
Jalankan pekerjaan pada hari tertentu pada setiap bulan
Untuk melaksanakan pekerjaan Cron pada hari ke -5 setiap bulan jam 5:00 petang Gunakan tetapan di bawah.
Bulan: * Hari: 5 Jam: 17 minit: 00 hari kerja: *
Melaksanakan pekerjaan setiap hari
Untuk melaksanakan pekerjaan Cron setiap hari pada pukul 5:00 petang tetapkan masa seperti yang ditunjukkan:
Bulan: * Hari: * Jam: 17 minit: 00 hari kerja: *
Jalankan pekerjaan pada setiap 5 jam
Untuk melaksanakan pekerjaan Cron setiap 5 jam, gunakan nilai langkah */5
seperti yang ditunjukkan.
Bulan: * Hari: * Jam: */5 minit: * Hari minggu: *
6. Urus pengguna dan kumpulan dengan Ansible
Anda juga boleh menguruskan pengguna dan kumpulan di dalam buku kecil Ansible dengan mudah.
Buat pengguna baru
Untuk membuat pengguna baru, gunakan pengguna modul seperti yang ditunjukkan.
--- - Hos: Tugas Webservers: - Nama: Buat Pengguna Pengguna Baru: Nama: Jack
Anda juga boleh menambah pilihan tambahan seperti UID, kumpulan.
- Nama: Buat Pengguna Baru Pengguna: Nama: Jack Komen: Jack Peters UID: 1002 Kumpulan: Pentadbir Shell: /Bin /Bash
Keluarkan pengguna
Untuk mengalih keluar pengguna, gunakan Keluarkan: Ya
penyata.
- Nama: Keluarkan Pengguna 'Jack' Pengguna: Nama: Jack State: Absent Keluarkan: Ya
Buat kumpulan baru
Untuk membuat kumpulan baru, gunakan kumpulan modul.
- Nama: Buat Kumpulan Kumpulan: Nama: Pemaju
7. Buat fail dan direktori dengan Ansible
Untuk membuat fail direktori, gunakan fail modul.
Buat direktori baru
Contohnya, untuk membuat direktori baru.
--- - Hos: Tugas Webservers: - Nama: Buat Fail Direktori Baru: Path: /Opt /App State: Direktori
Anda boleh menambah atribut lain seperti pemilik, kumpulan dan kebenaran fail.
- Hos: Tugas Webservers:-Nama: Buat Fail Direktori Baru: Path: /Opt /Web State: Direktori Pemilik: Www-Data Group: Www-Data Mode: 0644
Di samping itu, anda boleh membuat direktori secara rekursif menggunakan RECURSE: Ya penyata.
--- - Hos: Tugas Webservers:-Nama: Buat Direktori Recursively File: Path:/Opt/Web/App State: Direktori Pemilik: Www-Data Group: Www-Data Mode: 0644 Recurse: Ya
Buat fail
Untuk membuat fail, gunakan Negeri: Sentuh
pilihan.
--- - Hos: Tugas Webservers: - Nama: Buat Fail Fail Baru: Path:/Opt/Web/Index.html Negeri: Sentuh Pemilik: Kumpulan WWW-Data: Mod www-data: 0644
8. Menguruskan penyimpanan dengan Ansible
The lvg Modul digunakan untuk mengkonfigurasi jumlah dan kumpulan LVM.
Buat kumpulan kelantangan LVM
Pertimbangkan buku main di bawah:
--- - Hos: Tugas Webservers: • Nama: Buat LVM Volume Group LVG: VG: VG1 PVS: /Dev /SDA1 PESIZE: 32
Ini mewujudkan kumpulan kelantangan di atas /dev/sda1
pemisahan dengan saiz tahap fizikal 32 Mb.
Setelah dibuat, gunakan lvol modul untuk mencipta jumlah logik seperti yang ditunjukkan
Buat kelantangan logik
--- - Hos: Tugas Webservers: - Nama: Buat LVM Volume LVOL: VG: VG1 LV: LVOL1 PVS: /DEV /SDA1
9. Menguruskan sistem fail dengan Ansible
Untuk membuat sistem fail pada peranti blok, gunakan sistem fail modul.
Buat sistem fail
Buku main di bawah mewujudkan jenis sistem fail xfs pada jumlah blok.
--- - Hos: Tugas Webservers: - Nama: Buat sistem fail sistem fail: FStype: XFS Dev:/dev/vg1/lvol1
Pasang sistem fail
Anda boleh meneruskan untuk melancarkan jumlah blok menggunakan gunung Modul seperti yang ditunjukkan dalam buku main di bawah:
--- - Hos: Tugas Webservers: - Nama: Gunung Filesystem Mount: FStype: XFS Src:/Dev/Vg1/Lvol1 Path:/Opt/Web State: Mounted
Kesimpulan
Ini menyimpulkan topik. Kami telah meliputi pelbagai tugas pentadbiran sistem yang dapat dicapai oleh modul terbina dalam tertentu dalam buku main yang boleh.
- « Cara membuat templat dalam Ansible untuk membuat konfigurasi pada nod yang diuruskan - Bahagian 7
- Polo - Pengurus fail ringan moden untuk Linux »