Dalam dunia kontainer modern, istilah “Pod” sudah tidak asing lagi, terutama bagi mereka yang familiar dengan Kubernetes.
Pod adalah unit terkecil yang dapat di-deploy di Kubernete, ia adalah sebuah grup yang terdiri dari satu atau beberapa kontainer yang berbagi penyimpanan (volume) dan jaringan, termasuk alamat IP, port dan namespace.
Apa itu Pod dalam Podman?
Pod pada Podman adalah unit terkecil yang mengelompokkan satu atau lebih kontainer berbagi sumber daya. Mirip docker-compose skala kecil, tapi dengan integrasi kernel lebih erat.
Podman membuat “kontainer infrastruktur” (infra container) yang pertama dijalankan dan terakhir dihentikan. Ia memegang namespace jaringan, IPC, dan UTS (hostname) untuk digunakan bersama kontainer lain.
Kontainer infra biasanya hanya “sleep” untuk mempertahankan namespace tetap hidup.

Membuat Pod di Podman
Podman pod –help digunakan untuk menampilkan halaman bantuan (help) untuk manajemen Pod di Podman.
Menampilkan daftar sub-perintah yang tersedia, sintaks penggunaan, dan penjelasan singkat tentang cara mengelola grup kontainer (pod) yang berbagi resource yang sama.
podman pod --help
Output: Manage pods Description: Pods are a group of one or more containers sharing the same network, pid and ipc namespaces. Usage: podman pod [command] Available Commands: clone Clone an existing pod create Create a new empty pod exists Check if a pod exists in local storage inspect Display a pod configuration kill Send the specified signal or SIGKILL to containers in pod logs Fetch logs for pod with one or more containers pause Pause one or more pods prune Remove all stopped pods and their containers ps List pods restart Restart one or more pods rm Remove one or more pods start Start one or more pods stats Display a live stream of resource usage statistics for the containers in one or more pods stop Stop one or more pods top Display the running processes of containers in a pod unpause Unpause one or more pods
Membuat sebuah Pod kosong baru dengan nama geeks-golang-pod. Pod adalah grup kontainer yang berbagi namespace network, PID, dan IPC, sehingga kontainer-kontainer di dalamnya dapat berkomunikasi via localhost dan berbagi resource.
podman pod create --name geeks-golang-pod
Perintah ini akan mengembalikan ID penuh pod yang baru dibuat (contoh: c5344f5fb68ab9cdd7573c8174db9fdb1ea7703050c147c9986735c8b253ab66). Saat ini pod masih kosong dan belum berjalan statusnya Created. Kontainer dapat ditambahkan ke dalam pod ini .
Menampilkan daftar (list) semua Pod yang ada di sistem lokal beserta informasi ringkasnya.
podman pod ls
Output: POD ID NAME STATUS CREATED INFRA ID # OF CONTAINERS c5344f5fb68a geeks-golang-pod Created About a minute ago 8273cb56cefb 1
Menampilkan daftar semua kontainer (-a = all, termasuk yang sudah berhenti) beserta informasi Pod tempat kontainer tersebut berada (–pod). Ini adalah cara cepat untuk melihat relasi antara kontainer dan pod-nya.
podman ps -a --pod
Menambahkan Container kedalam Pod
Menjalankan sebuah kontainer baru dari image geeks-golang di dalam pod yang sudah ada bernama geeks-golang-pod. Kontainer akan berjalan di background (detached) dengan alokasi pseudo-TTY.
podman run -dt --pod geeks-golang-pod geeks-golang
Output: CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES POD ID PODNAME 8273cb56cefb 9 minutes ago Up 51 seconds c5344f5fb68a-infra c5344f5fb68a geeks-golang-pod b76b735cbdc4 localhost/geeks-golang:latest /geeks-golang 51 seconds ago Up 51 seconds 8080/tcp adoring_nightingale c5344f5fb68a geeks-golang-pod
Menghentikan (stop) kontainer yang memiliki nama adoring_nightingale. Kontainer akan diberi sinyal SIGTERM untuk graceful shutdown, dan jika tidak berhenti dalam waktu tunggu default (10 detik), Podman akan mengirim SIGKILL untuk menghentikan paksa.
podman stop adoring_nightingale
Output: CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES POD ID PODNAME 8273cb56cefb 16 minutes ago Up 7 minutes c5344f5fb68a-infra c5344f5fb68a geeks-golang-pod b76b735cbdc4 localhost/geeks-golang:latest /geeks-golang 7 minutes ago Exited (2) 47 seconds ago 8080/tcp adoring_nightingale c5344f5fb68a geeks-golang-pod
Menjalankan kembali (start) kontainer bernama adoring_nightingale yang sebelumnya telah dihentikan (status Exited). Kontainer akan kembali berjalan dengan konfigurasi yang sama seperti saat pertama kali dibuat.
podman start adoring_nightingale
Output: CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES POD ID PODNAME 8273cb56cefb 17 minutes ago Up 8 minutes c5344f5fb68a-infra c5344f5fb68a geeks-golang-pod b76b735cbdc4 localhost/geeks-golang:latest /geeks-golang 8 minutes ago Up 2 seconds 8080/tcp adoring_nightingale c5344f5fb68a geeks-golang-pod
Menghapus (remove) kontainer adoring_nightingale secara permanen dari storage lokal. Kontainer harus dalam keadaan berhenti (Exited), kecuali menggunakan flag -f.
podman stop adoring_nightingale podman rm adoring_nightingale
Output: CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES POD ID PODNAME 8273cb56cefb 24 minutes ago Up 15 minutes c5344f5fb68a-infra c5344f5fb68a geeks-golang-pod
Managemen Pod Podman
Manajemen pod di Podman memungkinkan pengguna untuk meniru pola deployment Kubernetes secara langsung dari command line, tanpa memerlukan daemon sentral atau orchestration engine yang kompleks.
Perintah podman pod ls (atau bisa juga menggunakan podman pod ps) berfungsi untuk menampilkan daftar semua pod yang ada di sistem beserta informasi dasar mengenai status masing-masing pod.
podman pod ls
Output: POD ID NAME STATUS CREATED INFRA ID # OF CONTAINERS c5344f5fb68a geeks-golang-pod Running 39 minutes ago 8273cb56cefb 1
Perintah ini berfungsi untuk menghentikan (stop) semua kontainer yang berjalan di dalam pod bernama geeks-golang-pod secara bersamaan.
podman pod stop geeks-golang-pod
Output: POD ID NAME STATUS CREATED INFRA ID # OF CONTAINERS c5344f5fb68a geeks-golang-pod Exited 40 minutes ago 8273cb56cefb 1
Berfungsi untuk menjalankan (start) semua kontainer yang ada di dalam pod bernama geeks-golang-pod secara bersamaan.
podman pod start geeks-golang-pod
Output: POD ID NAME STATUS CREATED INFRA ID # OF CONTAINERS c5344f5fb68a geeks-golang-pod Running 42 minutes ago 8273cb56cefb 1
Kombinasi perintah ini berfungsi untuk menghentikan (stop) lalu menghapus (remove) pod bernama geeks-golang-pod secara berurutan.
podman pod stop geeks-golang-pod podman pod rm geeks-golang-pod
Pastikan pod tidak ada pada podman
podman pod ls
Output: POD ID NAME STATUS CREATED INFRA ID # OF CONTAINERS
Kesimpulan
Memahami Pod pada Podman adalah langkah fundamental untuk beralih dari sekadar menjalankan kontainer menuju orkestrasi kontainer lokal yang sesungguhnya.
Pod bukan hanya fitur Kubernetes yang dibawa ke lokal, filosofi baru dalam mengelola kontainer yang berhubungan erat, menawarkan isolasi yang lebih baik, komunikasi yang disederhanakan, dan alur pengembangan yang mulus menuju produksi.
Dengan mengadopsi Pod dalam alur kerja Podman, tidak hanya membuat pengembangan lokal lebih kuat dan mirip produksi, tetapi juga menyederhanakan transisi ke orkestrasi berskala besar.

