6 poin oleh xguru 2025-02-28 | Belum ada komentar. | Bagikan ke WhatsApp
  • Image mode pada Red Hat Enterprise Linux (RHEL) menyederhanakan proses membangun, menerapkan, dan mengelola RHEL sebagai container yang dapat di-boot
  • Pengembang, tim operasi, dan penyedia solusi dapat mengelola aplikasi serta sistem operasi dasarnya dengan alat dan teknik native container yang sama

Membangun container yang dapat di-boot vs. container aplikasi

  • Seperti container aplikasi pada umumnya, container yang dapat di-boot dapat dibangun menggunakan teknologi container yang sudah ada seperti Podman, Docker, atau buildkit
  • Image dapat disimpan di registry container seperti Quay.io, Docker Hub, GitHub Container Registry, atau registry container internal
  • Container yang dapat di-boot merupakan evolusi alami dari teknologi container, dengan menyediakan alur kerja native container dan pengalaman pengguna yang komprehensif termasuk seluruh sistem operasi dan Linux kernel

Menggunakan Containerfile

  • Containerfile (juga dikenal sebagai Dockerfile) memuat semua informasi yang diperlukan untuk membangun image container, termasuk base image, petunjuk instalasi paket perangkat lunak, penyalinan file dari repositori Git, dan sebagainya
  • Alur kerja dan alat untuk membangun container yang dapat di-boot pada dasarnya sama dengan container aplikasi
  • Namun, ada beberapa praktik terbaik yang berlaku saat membangun container yang dapat di-boot

Praktik terbaik untuk linting

  • Disarankan untuk menjalankan perintah bootc container lint sebagai tahap terakhir di Containerfile
  • Perintah ini melakukan berbagai pemeriksaan di dalam image container dan akan menghasilkan error jika ada masalah
  • Misalnya, perintah ini memeriksa apakah ada beberapa kernel di /usr/lib/modules, memeriksa sintaks file di /usr/lib/bootc/kargs.d, serta mengecek kebersihan (hygiene) pada /etc dan /usr/etc

GitHub Actions dan ruang disk

  • Saat membangun container menggunakan GitHub Actions, Anda dapat menghadapi masalah terkait ruang disk karena ukuran image container yang dapat di-boot
  • Untuk mengatasi masalah ini, Anda dapat menambahkan langkah di file workflow untuk menghapus direktori /opt/hostedtoolcache agar membebaskan ruang disk

Memahami /var

  • /var adalah direktori untuk data dan status lokal mesin yang persisten serta dapat berubah, dan selama pembaruan, isi /var pada image container tidak berubah
  • Karena itu, jika aplikasi menulis data ke /var, sebaiknya pindahkan ke direktori lain seperti /usr/share untuk menghindari masalah mount read-only

Menggunakan perintah useradd

  • Jika useradd dipanggil dalam skrip packaging, modifikasi lokal pada /etc/passwd dapat menyebabkan state drift
  • Untuk menghindari masalah ini, Anda dapat mempertimbangkan penggunaan opsi DynamicUser=yes milik systemd untuk pembuatan pengguna dinamis
  • Namun, pada kasus yang kompleks, beralih ke DynamicUser=yes bisa sulit, dan dalam situasi seperti itu disarankan menggunakan systemd-sysusers untuk membuat pengguna

Menanamkan container dengan Quadlet

  • Menjalankan workload yang dikontainerisasi di systemd adalah cara yang sederhana namun kuat untuk deployment yang andal
  • Podman menyediakan alat bernama Quadlet untuk integrasi dengan systemd, yang memungkinkan pengelolaan workload terkontainerisasi secara deklaratif
  • Quadlet terintegrasi sempurna dengan image mode, dan image yang terikat secara logis dapat digunakan untuk melakukan pre-fetch image container aplikasi saat boot

Ringkasan

  • Dengan menggunakan image mode, terjadi pergeseran paradigma dalam cara kerja host RHEL
  • Anda dapat membangun, menerapkan, dan mengelola sistem operasi dengan alat cloud-native, serta akan berhadapan dengan OS immutabel yang sebagian besar sistemnya di-mount sebagai read-only

Belum ada komentar.

Belum ada komentar.