Pelatihan Kubernetes Administration — Part 1: Memahami Dasar Containerization
Catatan pengalaman saya selama mengikuti pelatihan Kubernetes di BMKG — memahami konsep dasar containerization sebagai fondasi dari…
Pelatihan Kubernetes Administration — Part 1: Memahami Dasar Containerization
Catatan pengalaman saya selama mengikuti pelatihan Kubernetes di BMKG — memahami konsep dasar containerization sebagai fondasi dari pengelolaan aplikasi modern.
Baru-baru ini, saya berkesempatan mengikuti pelatihan Kubernetes Administration yang diselenggarakan oleh Direktorat Data dan Komputasi BMKG. Jika melihat tujuan diselenggarakannya pelatihan, yaitu untuk meningkatkan kompetensi SDM di Direktorat Data dan Komputasi BMKG di bidang pengelolaan infrastruktur berbasis container orchestration.

Pelatihan Kubernetes Administration ini dibimbing langsung oleh mas Moch Rafi Riadi, seorang Principal Engineer sekaligus Certified Kubernetes Administrator. Menariknya, beliau juga dikenal sebagai Kubestronaut pertama di Indonesia, sebutan keren untuk seseorang yang sudah menguasai seluruh sertifikasi Kubernetes resmi.

Pada pelatihan ini, yang berlangsung selama 2 hari, kami mempelajari tentang poin-poin berikut ini:
- Containerization Concept
- Kubernetes Fundamentals
- Hands-on: Installation Cluster Practices
- Hands-on: Kubernetes Workloads Practices
- Hands-on: Kubernetes Configurations Practices
- Hands-on: Kubernetes Networking and Services Practices
Melalui tulisan ini, saya ingin menuliskan kembali berbagai hal yang saya pelajari selama pelatihan, sekaligus membagikannya kepada siapa pun yang mungkin sedang mencari referensi atau ingin memahami dasar-dasar Kubernetes dengan cara yang lebih sederhana dan praktis.
Konsep Container
Pada bagian ini, menariknya kita belajar dari sejarah tentang pengiriman barang sebelum dan sesudah adanya kontainer standar di industri pelayaran.

Bayangkan zaman dulu, setiap barang dikemas dengan cara berbeda. Ada yang pakai karung, peti kayu, bahkan kardus seadanya. Saat sampai di pelabuhan, butuh waktu berhari-hari untuk bongkar muat karena semua tidak seragam.
Begitu kontainer standar diperkenalkan, semuanya berubah. Barang apa pun bisa dikirim ke mana pun dengan cara yang sama. Efisien, cepat, dan aman.
Konsep yang sama kini berlaku di dunia IT.
Pada masa sebelum penggunaan container, setiap aplikasi memiliki lingkungan dan konfigurasi yang berbeda-beda. Kondisi ini sering menimbulkan masalah — aplikasi yang berjalan di satu server belum tentu berfungsi dengan baik di server lain akibat perbedaan versi library atau sistem operasi.
Melalui teknologi container, seluruh kebutuhan aplikasi dikemas menjadi satu paket yang konsisten, sehingga aplikasi dapat dijalankan di berbagai lingkungan tanpa mengalami kendala kompatibilitas.
Virtual Machine vs Container
Sebelum ada container, kita mengandalkan Virtual Machine (VM) untuk memisahkan aplikasi. VM bekerja dengan meniru seluruh sistem operasi (OS) di atas hypervisor. Ini aman dan terisolasi, tapi berat.

Dengan container, aplikasi tidak butuh OS lengkap di dalamnya. Ia hanya membawa apa yang benar-benar dibutuhkan: kode, dependensi, dan konfigurasi. Hasilnya, container bisa berjalan lebih cepat, lebih hemat sumber daya, dan lebih mudah dipindahkan ke mana saja.
Sebagai contoh, sebuah VM Ubuntu biasanya membutuhkan penyimpanan 1–2 GB hanya untuk sistem operasinya saja, belum termasuk aplikasi di dalamnya. Proses booting VM pun bisa memakan waktu 30 detik hingga 1 menit, tergantung spesifikasi perangkat dan jumlah layanan yang dijalankan.
Sementara itu, container Ubuntu (misalnya image ubuntu:latest di Docker Hub) hanya berukuran sekitar 70–100 MB, karena container tidak menyertakan kernel dan komponen OS penuh, hanya membawa apa yang benar-benar dibutuhkan. Container bisa start dalam hitungan 1–2 detik, bahkan sering kali di bawah satu detik, tergantung image dan hardware yang digunakan.
Dengan perbedaan sebesar itu, jelas mengapa container jauh lebih efisien. Ia mengemas kode, dependensi, dan konfigurasi dalam satu paket ringan yang dapat dijalankan di mana saja. Hasilnya, aplikasi bisa diluncurkan lebih cepat, hemat sumber daya, dan mudah dipindahkan antar lingkungan — baik dari laptop ke server, maupun ke cloud.
Komponen Utama dalam Dunia Container
Setelah memahami konsep dasar container, kami kemudian mempelajari tiga komponen utama yang membentuk ekosistem container. Ketiganya saling melengkapi agar aplikasi bisa dikemas, disimpan, dan dijalankan dengan cara yang konsisten di berbagai lingkungan.
1. Container Image
Container image dapat diibaratkan sebagai cetak biru (blueprint) atau template dari sebuah container.
Di dalamnya terdapat aplikasi beserta semua dependensi, pustaka, dan konfigurasi yang dibutuhkan untuk menjalankan aplikasi tersebut.
Misalnya, image nginx:latest sudah berisi web server Nginx yang siap dijalankan tanpa perlu instalasi manual.
Saat kita menjalankan perintah seperti:
docker run -d -p 8080:80 nginx
Docker akan mengambil image nginx dan membuat instance aktifnya — inilah yang disebut container.
2. Container Registry
Container registry berfungsi sebagai tempat penyimpanan dan distribusi image.
Bayangkan seperti perpustakaan digital tempat kita bisa menyimpan, mengambil, atau membagikan image ke tim lain.
Contoh registry yang umum digunakan antara lain:
- Docker Hub — registry publik terbesar dan paling populer.
- GitHub Container Registry
- Google Artifact Registry
- Amazon ECR (Elastic Container Registry)
Dengan adanya registry, kolaborasi tim menjadi lebih mudah karena image dapat dikelola dan di-deploy ke server mana pun dengan satu perintah.
3. Container Runtime
Container runtime adalah mesin utama yang menjalankan container. Ia bertugas untuk menarik image dari registry, mengeksekusinya, dan mengatur siklus hidup container (mulai dari start, stop, hingga remove).
Beberapa runtime yang umum digunakan di ekosistem Kubernetes antara lain:
- Docker Engine — runtime paling populer yang memperkenalkan container ke arus utama.
- containerd — runtime ringan yang sekarang menjadi bawaan Kubernetes.
- CRI-O — runtime yang dikembangkan secara khusus agar sesuai dengan standar Container Runtime Interface (CRI) di Kubernetes.
Dengan kombinasi tiga komponen ini — image, registry, dan runtime — sebuah aplikasi dapat dikemas sekali dan dijalankan di mana pun, baik di laptop, server fisik, maupun lingkungan cloud.
Kenapa Container Begitu Efisien
Salah satu hal yang membuat container begitu powerful adalah kemampuannya berbagi kernel dengan sistem operasi (host OS). Artinya, semua container yang berjalan di satu mesin menggunakan kernel yang sama, tetapi tetap terisolasi satu sama lain.
Pendekatan ini menjadikan container:
- Lebih ringan dibanding Virtual Machine (VM) karena tidak memerlukan OS terpisah,
- Lebih cepat di-deploy karena proses inisialisasinya hanya dalam hitungan detik,
- Lebih mudah diskalakan sesuai kebutuhan beban aplikasi.
Selain itu, sifatnya yang portable membuat container dapat dijalankan di mana pun — baik di laptop, server bare-metal, maupun berbagai platform cloud provider seperti AWS, GCP, atau Azure, tanpa perlu konfigurasi ulang.
Penutup
Pada bagian 1 tulisan ini, kita telah lebih mengenal konsep kontainer, apa itu, bagaimana cara kerjanya, serta beberapa alasan mengapa kontainer menjadi pilihan efisien untuk pengembangan dan deployment aplikasi.
Di tulisan berikutnya, insyaAllah saya akan melanjutkan pembahasan dengan fokus pada Kubernetes Fundamentals.
Terima kasih telah berkunjung dan membaca, semoga bermanfaat!
메타데이터
- post_id
- b06369cffdcb
- slug
- pelatihan-kubernetes-administration-part-1-memahami-dasar-containerization-b06369cffdcb
- url
- https://medium.com/@mahisaajy/pelatihan-kubernetes-administration-part-1-memahami-dasar-containerization-b06369cffdcb
- canonical_url
- https://medium.com/@mahisaajy/pelatihan-kubernetes-administration-part-1-memahami-dasar-containerization-b06369cffdcb
- author_url
- https://medium.com/@mahisaajy
- status
- ok
- fetched_at
- 2026-06-18 07:02:39