Sejak awal kemunculannya, container selalu menggunakan Linux. Namun, terdapat dua jenis Linux yang berbeda: sistem operasi host dan yang ada di dalam setiap container. Keduanya beroperasi secara independen dan memerlukan seperangkat alat yang berbeda untuk membangun, mengelola, dan mengonfigurasinya.
Namun, semua itu kini berubah! Mode gambar untuk Red Hat Enterprise Linux (RHEL) memungkinkan Anda membangun dan mengelola sistem operasi penuh seperti gambar container.
Apa Itu Bootable Containers?
Gambar dasar container aplikasi adalah gambar container Open Container Initiative (OCI) yang biasanya dikurangi sebanyak mungkin, untuk mengecualikan kernel OS, dukungan perangkat keras, dan hal lain yang tidak dibutuhkan oleh container aplikasi saat berjalan di dalam OS host.
Bootable containers menggunakan format gambar OCI yang sama, tetapi berisi kernel penuh dan dukungan perangkat keras dengan ukuran gambar yang tetap minimal. Artinya, menggunakan mereka semudah mengganti Containerfile (atau Dockerfile) untuk menarik dari gambar yang berbeda; misalnya, gambar container bootable RHEL:
DockerfileCopy codeFROM registry.redhat.io/rhel9/rhel-bootc:9.4
Karena ini adalah gambar container biasa, Anda dapat membangunnya menggunakan Podman atau Buildah, mendorong dan menarik dari registri gambar seperti Red Hat Quay, dan menggunakan semua alat yang sama untuk bootable containers seperti yang Anda lakukan untuk container aplikasi biasa. Sekarang mungkin untuk menggunakan alur kerja CI/CD tunggal, alat pemindaian gambar, dan lebih banyak lagi, untuk menerapkan baik OS maupun container aplikasi.
Bagaimana Menggunakan Bootable Containers Sebagai Sistem Operasi?
Salah satu cara paling jelas untuk menggunakan bootable container sebagai sistem operasi adalah membangunnya menjadi gambar disk. Proyek Bootc Image Builder yang baru adalah alat yang melakukan hal itu. Tergantung pada kebutuhan Anda, alat ini dapat menghasilkan berbagai jenis gambar disk, termasuk:
- raw: Format gambar umum yang digunakan oleh banyak alat virtualisasi.
- qcow: Format gambar yang terutama digunakan oleh QEMU.
- iso: Untuk membuat media bootable menggunakan alat seperti Balena Etcher.
- vmdk: Untuk membuat VM menggunakan VMware Workstation atau ESXi.
- ami: Untuk membuat server virtual di Amazon EC2.
Jenis-jenis gambar disk ini memberikan banyak opsi untuk menerapkan bootable containers—mulai dari booting dari USB drive, memulai mesin virtual, atau menerapkan server virtual ke cloud.
Manfaat Menggunakan Containers
Manfaat menggunakan containers tidak berhenti di sini—misalnya, pembaruan transaksional dapat diterapkan “di tempat” dari gambar container baru, tanpa perlu mengganti seluruh gambar disk. Ini menjaga kedua model tetap sinkron dan sekali lagi memungkinkan jalur tunggal dan manfaat containers tanpa mengorbankan kinerja saat patching atau memperbarui sistem operasi.
Ekstensi Bootable Containers untuk Podman Desktop
Podman Desktop menyediakan cara mudah untuk memulai dengan bootable containers dan membangun gambar disk.
Karena bootable containers adalah container biasa, Anda dapat menggunakan semua alat di Podman Desktop untuk melihat, mendorong, menarik, dan menandai mereka menggunakan Podman. Anda bahkan dapat membangun gambar bootable container kustom dengan memasukkan gambar dasar yang kompatibel dengan bootc di entri FROM dari containerfile.
Langkah-Langkah Menggunakan Bootable Containers di Podman Desktop
- Instal Ekstensi Bootable Containers:
- Pilih Extensions di bilah navigasi kiri.
- Klik Catalog dan instal ekstensi Bootable Containers.
- Menggunakan Ekstensi:
- Akses ikon Bootable Containers di sebelah kiri untuk mendapatkan tautan ke gambar contoh dan dokumentasi.
- Atau, instal Red Hat Extension Pack untuk integrasi yang mulus dengan solusi Red Hat.
- Membangun Gambar Disk:
- Klik tombol Build untuk memilih opsi pembuatan gambar disk.
- Pilih gambar bootable container sumber, folder output, dan jenis gambar disk.
- Opsi platform (arsitektur) dipilih secara otomatis berdasarkan gambar sumber.
- Jika menggunakan gambar multi-arsitektur, ekstensi secara otomatis mendeteksi arsitektur yang tersedia dan mengisinya ke halaman build.
- Proses Pembangunan:
- Mulai proses pembangunan, yang akan memulai container menjalankan bootc-image-builder di latar belakang.
- Pantau kemajuan melalui task manager atau halaman containers.
- Setelah selesai, gambar disk yang dihasilkan akan tersedia di folder output yang dipilih.
Kesimpulan
Bootable containers mewakili kemajuan signifikan dalam manajemen dan penerapan sistem operasi. Dengan memanfaatkan teknologi container, mereka menyederhanakan proses membangun, memperbarui, dan menerapkan sistem operasi penuh, memastikan kompatibilitas dengan alat container yang ada dan alur kerja. Untuk panduan lebih rinci dan informasi tambahan, kunjungi halaman Bootc GitHub.
Dengan demikian, bootable containers menawarkan solusi praktis dan efisien untuk memadukan keunggulan sistem operasi tradisional dengan fleksibilitas dan kemudahan penggunaan container. Integrasi dengan Podman Desktop membuatnya semakin mudah diakses, memungkinkan pengguna untuk memanfaatkan teknologi ini dalam berbagai skenario, mulai dari pengembangan hingga penerapan di lingkungan produksi. Jangan lewatkan kesempatan untuk mencoba teknologi inovatif ini dan rasakan sendiri manfaatnya!