Menjalankan beban kerja modern di AlmaLinux: container rootless dengan Podman, Buildah, dan Skopeo, orkestrasi multi-container dengan podman-compose, integrasi container ke systemd lewat Quadlet, serta virtualisasi penuh dengan KVM dan libvirt memakai virt-install dan virsh.

Di episode 17 sebelumnya kita mengoptimalkan performa sistem. Sekarang kita menghadapi dua cara utama menjalankan beban kerja modern: container dan virtual machine. AlmaLinux mendukung keduanya secara native — container rootless dengan Podman tanpa daemon, dan virtualisasi penuh dengan KVM.
Episode ini membekali kalian dengan toolchain Podman (Podman, Buildah, Skopeo), integrasi container ke systemd dengan Quadlet, orkestrasi dengan podman-compose, lalu pindah ke KVM/libvirt untuk virtualisasi.
Podman adalah engine container daemonless dari Red Hat — tanpa daemon terpusat seperti Docker. Setiap container adalah proses biasa yang dijalankan systemd, sehingga lebih aman dan lebih terintegrasi dengan sistem.
podman --version| Podman | Fungsi |
|---|---|
podman pull <image> | Mengambil image dari registry |
podman run -d --name web -p 8080:80 nginx | Menjalankan container |
podman ps | Daftar container aktif |
podman stop/start/rm <name> | Stop, start, hapus container |
podman images | Daftar image lokal |
Keunggulan utama Podman: rootless — container berjalan sebagai user biasa, tanpa hak root. Ini memperkecil permukaan serangan secara drastis.
podman run -d --name web -p 8080:80 docker.io/library/nginx
podman psEkosistem Podman lengkap dengan dua tool pendamping:
skopeo inspect docker://docker.io/library/nginx:latest | headbuildah bud -t myapp:latest .unqualified-search-registries = ["docker.io", "quay.io"]
[aliases]
almalinux = "quay.io/almalinux/almalinux"podman run -it almalinux bashQuadlet mengubah file container menjadi unit systemd — container dikelola persis seperti service:
[Unit]
Description=My containerized app
[Container]
Image=docker.io/library/nginx
PublishPort=8080:80
[Install]
WantedBy=default.targetsystemctl --user daemon-reload
systemctl --user enable --now myappUntuk beban kerja multi-container, gunakan podman-compose — kompatibel dengan file compose.yaml:
sudo dnf5 install -y podman-composeservices:
web:
image: docker.io/library/nginx:latest
ports:
- "8080:80"
db:
image: docker.io/library/postgres:16
environment:
POSTGRES_PASSWORD: secretpodman-compose up -d
podman-compose psUntuk isolasi total, gunakan KVM — hypervisor penuh yang memanfaatkan hardware virtualization CPU.
sudo dnf5 install -y @virtualization
sudo systemctl enable --now libvirtdsudo virt-install \
--name web01 \
--vcpus 2 --memory 2048 \
--disk path=/var/lib/libvirt/images/web01.qcow2,size=20 \
--os-variant almalinux9 \
--network bridge=br0 \
--location /mnt/iso/AlmaLinux-9-latest-x86_64-dvd.isoInfo
Jaringan bridge (br0) yang kita buat di episode 9 memungkinkan VM mendapat IP dari jaringan fisik yang sama — bukan NAT internal. Inilah alasan mengapa bridge networking penting untuk virtualisasi yang realistis.
virsh adalah tool CLI manajemen libvirt:
virsh list --all
virsh start web01
virsh console web01
virsh shutdown web01virsh pool-list
virsh undefine web01sudo dnf5 install -y virt-managerpodman-compose untuk stack multi-container. Mengelola container satu per satu adalah resep kesalahan.libvirtd. KVM tidak berfungsi sampai daemon virtualization berjalan.Pada episode 18 ini kalian telah menjalankan beban kerja modern di AlmaLinux: container rootless dengan Podman, membangun image dengan Buildah, inspeksi registry dengan Skopeo, integrasi container ke systemd lewat Quadlet, orkestrasi dengan podman-compose, serta virtualisasi penuh KVM dengan virt-install, virsh, dan bridge networking.
Inti yang harus dibawa pulang:
*.container) mengubah container menjadi unit systemd.podman-compose menjalankan stack multi-container dari file compose.yaml.virt-install membuat VM, virsh mengelolanya, br0 memberi jaringan langsung.Dengan container dan VM berjalan, kalian siap membawanya ke cloud. Di episode 19 selanjutnya, kita akan membahas Cloud, WSL & Raspberry Pi Images — deployment GenericCloud dengan cloud-init di AWS, Azure, dan GCP, AlmaLinux di Windows WSL, serta image Raspberry Pi ARM64. Sampai jumpa!