Aku sedang mencoba, Ringo. Saya berusaha sangat keras untuk menjadi gembala – Jules Winnfield [Pulp Fiction, 1994]
Selama bertahun-tahun telah terjadi perang komunitas di pos, utas, dan tweet, di mana systemd
didiskreditkan dan dikritik, tetapi apakah itu benar-benar buruk? Saya tidak begitu tahu, tetapi sebagai sysadmin, salah satu tugas utama saya adalah mengelola dan memantau layanan di setiap server saya, dan dalam beberapa tahun terakhir sebagian besar distro telah menerapkan systemd
ini. sebagai standar.
Sysadmin menemukan kembali diri kita sendiri terus-menerus, dan kami selalu meneliti dan belajar. Jadi, mari kita praktikkan systemd
dan mengembangkan keterampilan baru. Berlawanan dengan init
tradisional , di mana proses booting berurutan, systemd
menggunakan konsep boot paralelisasi dengan membuat soket untuk memulai setiap layanan yang membutuhkannya. Pada gilirannya, perilaku ini memungkinkannya berinteraksi dengan daemon lain dengan mengabstraksi soket tersebut dan menetapkan prosesnya ke grup kontrol. Proses tersebut kemudian dilacak menggunakan grup kontrol ini, bukan dengan ID proses (PID), yang diterjemahkan menjadi proses booting yang lebih sederhana dan lebih sedikit waktu untuk memulai.

Di systemd
, layanan didefinisikan dalam file unit dengan daemon dan arahan perilaku mereka. /etc/systemd/system/
direktori dicadangkan untuk file unit yang Anda buat atau sesuaikan.
Untuk membuat layanan, Anda harus membuatnya dengan formulir:<unit_name>.<service>
.

File unit ini memulai skrip yang ditunjukkan dalam ExecStart
opsi dengan <user>
atur dengan User
. Jika skrip gagal atau berhenti, upaya akan dilakukan untuk memulai ulang seperti yang ditunjukkan dalam Restart
pilihan. StandardOutput
dan StandardError
opsi memastikan bahwa standar skrip dan keluaran kesalahan akan ditulis ke systemd
log.
Dalam pengalaman terakhir saya, sebagai contoh kehidupan nyata, sehari-hari, saya memiliki server dengan layanan web kecil yang berjalan di dalam wadah (ya, saya tahu, tetapi Anda tahu pelanggannya). Untuk mengoptimalkan dan mengotomatisasi layanan, saya membuat systemd
unit file untuk wadah Podman untuk memungkinkan pengguna mengontrol siklus hidup wadah melalui systemctl
.

Setelah menyalin file unit ke /etc/systemd/system/myhttpservice.service
, muat ulang systemd
konfigurasi manager dengan perintah:systemctl daemon-reload
. Kemudian, Anda dapat menangani penampung sebagai systemd
-layanan terkelola:
# systemctl start myhttpservice.service ← to start the container
# systemctl status myhttpservice.service ← to check the container service status
# systemctl start myhttpservice.service ← to stop the container
Fungsionalitas penampung tidak terpengaruh saat dikelola oleh systemd
. Anda bahkan dapat menggunakan perintah Podman untuk memantau kesehatan container:
[root@server ~]# podman healthcheck run myhttpservice
healthy
Jadi jangan khawatir. Systemd dapat membantu Anda, percaya saja. Jika Anda ingin tahu lebih banyak:
- Dasar-dasar sistem RHEL7
- Mengungkap sistemd
- Lembar Cheat systemd untuk Red Hat Enterprise Linux 7
- Pengantar Podman
- Memantau vitalitas dan ketersediaan container dengan Podman
- Bagaimana cara mengontrol wadah podman melalui systemd?
Saya harap informasi ini membantu Anda.