Menjalankan satu container itu mudah. Menjalankan beberapa ribu container di puluhan mesin, sementara pengguna mengharapkan aplikasi tetap hidup apa pun yang terjadi, adalah masalah yang sangat berbeda. Container mana yang ditempatkan di mesin mana? Apa yang terjadi jika satu container mati pukul 3 pagi? Bagaimana cara merilis versi baru tanpa downtime? Kubernetes, biasa disingkat K8s, adalah sistem open source yang menjawab semua pertanyaan itu secara otomatis: ia men-deploy, menaikkan kapasitas, dan mengelola aplikasi berbasis container untuk Anda (Google Cloud).
Poin Penting
Kubernetes adalah platform orkestrasi container open source: ia menjadwalkan container ke mesin, me-restart container yang gagal, dan menaikkan atau menurunkan kapasitas aplikasi secara otomatis.
Ia diumumkan Google pada Juni 2014, mengambil pelajaran dari sistem internal Google yaitu Borg dan Omega, lalu menjadi teknologi benih untuk Cloud Native Computing Foundation (CNCF).
Blok bangunan intinya sederhana: pod menampung container Anda, deployment menjaga jumlah yang diinginkan tetap berjalan, dan service memberi aplikasi alamat yang stabil.
Ia tidak menggantikan Docker: Kubernetes mengelola container, Docker (dan runtime seperti containerd) mengemas dan menjalankannya.
Adopsinya sangat besar: 82% pengguna container menjalankan Kubernetes di production, menurut survei CNCF tahun 2025 (CNCF).
Mengapa "Kubernetes"? Asal Nama dan Kisahnya
Nama ini berasal dari bahasa Yunani Kuno κυβερνήτης (*kubernḗtēs*), yang berarti juru mudi atau pilot, akar kata yang sama yang melahirkan "cybernetics" dan, lewat bahasa Latin, "governor" (Wikipedia). Dokumentasi Google Cloud sendiri menerjemahkannya sebagai "kapten." Idenya sama: tangan yang mantap mengemudikan kapal. Singkatan K8s sekadar menghitung delapan huruf di antara K dan s.
Latar belakangnya menjelaskan mengapa ia ada. Sebelum Kubernetes, Google sudah menjalankan beban kerja container yang sangat besar: ketika VP infrastruktur Eric Brewer mengumumkan proyek ini pada 2014, ia mengatakan Google meluncurkan "lebih dari 2 miliar instance container" di data center-nya *setiap minggu*, dan bahwa "semua hal di Google, dari Search hingga Gmail, dikemas dan dijalankan dalam container Linux" (Virtualization Review). Beroperasi pada skala sebesar itu mengajarkan Google cara menjadwalkan, memantau, dan memulihkan armada container, pertama lewat sistem internal bernama Borg lalu Omega. Kubernetes dibangun sebagai versi yang lebih ringan dari ide-ide tersebut, dirilis sebagai open source, dan ditulis dengan bahasa Go.
Kubernetes diumumkan Google pada 6 Juni 2014 (digagas oleh Joe Beda, Brendan Burns, dan Craig McLuckie), mencapai versi 1.0 pada Juli 2015, dan ditawarkan sebagai teknologi benih Cloud Native Computing Foundation ketika CNCF dibentuk pada 2015 (Wikipedia). Kini ia dirawat dengan irama rilis kira-kira setiap tiga bulan; rilis stabil yang tercatat pada akhir September 2026 adalah 1.37.1.
Masalah yang Ia Selesaikan: Container dalam Skala Besar
Docker, yang dibahas di penjelasan kami sebelumnya, menyelesaikan masalah pengemasan: aplikasi berjalan sama di mana pun. Kubernetes menyelesaikan masalah *operasi* yang muncul begitu Anda punya lebih dari segelintir container:
Penjadwalan. Dengan 100 container dan 10 server, container mana ditempatkan di server mana? Kubernetes memantau CPU dan memori yang tersedia lalu menempatkan beban kerja di tempat yang cocok, sesuai batasan yang Anda tetapkan.
Pemulihan otomatis. Jika sebuah container mati, Kubernetes me-restart-nya. Jika satu mesin mati total, ia memindahkan container-container mesin itu ke tempat yang sehat. Tidak ada lagi yang terbangun pukul 3 pagi hanya karena satu container mati.
Penskalaan. Trafik melonjak? Kubernetes menambah salinan aplikasi Anda, lalu menguranginya saat trafik turun. Anda mendeskripsikan *keadaan yang diinginkan* ("saya ingin 5 salinan aplikasi ini berjalan") dan Kubernetes bekerja terus-menerus agar kenyataan sesuai dengan deskripsi itu.
Update tanpa downtime. Ada versi baru aplikasi? Kubernetes menggulirkannya bertahap, memastikan setiap salinan baru sehat sebelum lanjut ke berikutnya, dan bisa rollback jika ada yang salah.
Service discovery dan jaringan. Container terus datang dan pergi; Kubernetes memberi aplikasi Anda IP dan nama DNS yang stabil agar layanan lain selalu tahu di mana menemukannya, dan ia membagi trafik ke seluruh salinan yang ada.
Model "keadaan yang diinginkan" itu adalah pergeseran pola pikirnya. Dengan server model lama, Anda memberi perintah: jalankan ini, hentikan itu. Dengan Kubernetes, Anda mendeklarasikan seperti apa seharusnya dunia, dan sistem bekerja sendiri untuk mencapainya, memulihkan dan menyesuaikan secara otomatis.
Konsep Inti: Pod, Deployment, Service
Anda hanya perlu tiga blok bangunan untuk memahami 80% Kubernetes.
Pod adalah unit terkecil yang bisa di-deploy: satu atau lebih container yang berbagi penyimpanan dan jaringan, dan selalu dijadwalkan bersama. Anggap pod sebagai pembungkus: Anda hampir tidak pernah menjalankan container sendirian, melainkan pod yang menampungnya (Google Cloud).
Deployment adalah yang menjaga aplikasi Anda pada jumlah replika yang diinginkan dan menangani update yang mulus. Beri tahu ia "jalankan 5 salinan aplikasi web saya," maka ia membuat 5 pod, mengganti pod mana pun yang mati, dan mengelola upgrade bergulir agar pengguna tidak pernah menyadari proses deploy (Google Cloud).
Service menyediakan alamat IP dan nama DNS yang stabil untuk aplikasi Anda, mengarahkan trafik ke pod-pod yang sedang sehat meski pod-pod individual mati dan dibuat ulang (Google Cloud).
Di balik layar, semua itu berjalan pada arsitektur dengan dua bagian. Control plane (API server, database etcd, scheduler, dan controller) adalah otaknya: ia menerima keadaan yang Anda inginkan dan mengambil keputusan. Worker node adalah ototnya: masing-masing menjalankan agen kubelet, container runtime, dan kube-proxy, yang menjalankan container dan menyambungkan jaringan (Wikipedia).
Konsep | Fungsinya | Analogi |
|---|---|---|
Detail | Pod: unit terkecil; membungkus satu atau lebih container | Kotak bekal yang menampung container Anda |
Deployment | Menjaga jumlah pod yang diinginkan tetap berjalan; menangani rolling update | Manajer yang menjaga jumlah staf tetap terpenuhi |
Service | IP dan DNS stabil untuk aplikasi yang pod-nya terus berubah | Nomor telepon yang mengikuti Anda berganti perangkat |
Node | Mesin pekerja yang menjalankan pod | Awak kapal |
Control plane | API server, etcd, scheduler; memutuskan ke mana semuanya pergi | Anjungan kapten |
Kubernetes vs Docker: Bukan Saingan
Ini kebingungan paling umum, dan jawaban resminya jelas: "Docker bukanlah alternatif Kubernetes" (Google Cloud). Docker adalah standar industri terbuka untuk *mengemas dan mendistribusikan* aplikasi dalam container. Kubernetes adalah untuk *mengelola* container-container itu setelah dikemas. Seperti kata Google Cloud: begitu Anda mulai mengemas aplikasi, Anda butuh cara mengelolanya, dan di situlah Kubernetes berperan.
Kubernetes bahkan bisa dipakai dengan atau tanpa Docker. Untuk menjalankan container di level terendah, ia mengandalkan runtime khusus, containerd dan CRI-O. Dukungan untuk lapisan runtime Docker sendiri (dockershim) sudah dihapus total di Kubernetes v1.24 pada Mei 2022, karena merawatnya menjadi beban berat dan runtime yang lebih baru mendukung fitur seperti cgroups v2 dan user namespace (blog Kubernetes). Yang penting, tidak ada yang berubah untuk image: "image yang dihasilkan `docker build` tetap bekerja dengan semua implementasi CRI," dan Anda tetap bisa memakai Docker di komputer lokal apa pun runtime yang dipakai cluster Anda.
Jika Anda mencari proyek open source berbasis container untuk dicoba, video-video signal repo singkat di RepoManiac rutin menampilkan proyek-proyek yang layak di-deploy ke cluster kecil.
Di Mana Ia Berjalan: Kubernetes Terkelola
Anda bisa menjalankan Kubernetes di mana saja: laptop Anda, server bare metal, cloud apa pun. Tetapi mengoperasikan control plane sendiri adalah pekerjaan berat, sehingga kebanyakan tim memakai layanan terkelola. Amazon EKS adalah contoh khas: ia menyediakan dan menaikkan kapasitas control plane, termasuk API server dan lapisan persistensi, di beberapa Availability Zone demi ketersediaan tinggi, otomatis mendeteksi dan mengganti node control-plane yang tidak sehat, serta mem-patch control plane untuk Anda (AWS). Bagi tim yang ingin melupakan server sepenuhnya, ada Fargate yang "menyediakan compute serverless untuk container" dan "menghilangkan kebutuhan menyediakan dan mengelola server" (AWS). GKE dari Google dan AKS dari Azure mengikuti pola terkelola yang sama.
Hasilnya: tim Anda cukup menulis pod, deployment, dan service, dan orang lain yang menjaga otak cluster tetap hidup.
Kisah Adopsi: Mengapa Semua Orang Menstandarkannya
Angka di balik kebangkitan Kubernetes sangat mencolok. Survei tahunan CNCF 2025, dirangkum dengan headline "82% pengguna container menjalankan Kubernetes di production," menunjukkan orkestrasi sudah berubah dari eksperimen menjadi standar (CNCF). Setahun sebelumnya, survei terhadap 689 profesional TI menemukan 80% sudah menjalankan Kubernetes di production, dengan 13% lainnya sedang pilot atau aktif menguji (Cloud Native Now). Survei yang sama melaporkan organisasi rata-rata kini menjalankan 2.341 container, naik dari 1.140 hanya setahun sebelumnya, dan 52% memakai container untuk menjalankan sebagian besar atau seluruh aplikasi mereka.
Pertumbuhan itu menjelaskan mengapa keahlian Kubernetes terus muncul di lowongan devops, dan mengapa penjelasan kami tentang bagaimana kontribusi open source bisa mengantar Anda ke pekerjaan tech pertama cocok dipadukan dengan mempelajari tool yang jelas-jelas sudah menjadi standar industri.
Pertanyaan Umum
Apakah Kubernetes sulit dipelajari?
Dasar-dasarnya mudah didekati: Anda mendeskripsikan aplikasi dalam YAML, menerapkannya, dan melihat pod bermunculan. Tool seperti minikube atau kind memungkinkan Anda menjalankan satu cluster utuh di laptop secara gratis. Kedalamannya muncul kemudian: jaringan, penyimpanan, kebijakan keamanan, dan setup multi-cluster adalah tempat keahlian sesungguhnya berada. Mulai dari pod dan deployment, lalu berkembang.
Apakah saya harus paham Docker dulu?
Sangat membantu. Kubernetes mengelola container, jadi memahami image dan siklus hidup container (penjelasan Docker kami membahas ini) membuat semua hal tentang pod dan deployment lebih cepat masuk akal. Anda tidak perlu jadi pakar Docker, tetapi sebaiknya tahu apa itu image.
Apakah Kubernetes gratis?
Perangkat lunaknya open source dan gratis dijalankan sendiri. Biaya muncul dari infrastruktur tempat ia berjalan (server atau VM cloud) dan dari biaya control-plane terkelola jika memakai layanan seperti EKS, GKE, atau AKS. Untuk belajar, opsi lokal seperti minikube tidak memakan biaya.
Kapan saya sebaiknya TIDAK memakai Kubernetes?
Untuk proyek sampingan sederhana atau satu server, Kubernetes berlebihan: setup Docker Compose biasa lebih sederhana dan murah. Kubernetes sepadan dengan kompleksitasnya ketika Anda punya beberapa layanan, butuh ketersediaan tinggi, atau ingin penskalaan otomatis dan deploy tanpa downtime. Mulai dari yang sederhana, adopsi orkestrasi saat rasa sakit mengelola semuanya manual mulai muncul.
Kesimpulan
Kubernetes mengambil pelajaran mahal Google dari menjalankan miliaran container setiap minggu dan mengubahnya menjadi standar terbuka yang bisa dipakai seluruh industri. Deskripsikan keadaan yang Anda inginkan, dan ia menangani penjadwalan, pemulihan, penskalaan, dan update agar keadaan itu tetap nyata. Dari rilis open source pada 2014 hingga 82% pengguna container menjalankannya di production, ia menang karena masalah yang ia selesaikan, menjaga aplikasi terdistribusi tetap hidup dalam skala besar, hanya makin umum ditemui. Jika Anda sudah nyaman dengan Docker, membangun cluster lokal adalah langkah alami berikutnya. Momen `kubectl get pods` pertama yang menampilkan armada yang sehat dan pulih sendiri biasanya adalah momen semuanya jadi masuk akal.
*Baca artikel ini dalam bahasa Inggris: Kubernetes Explained: What It Is and Why It Runs the Cloud.*
