Kubernetes (K8s) adalah platform sumber terbuka standar industri untuk orkestrasi kontainer, yang mengotomatiskan pekerjaan manual yang diperlukan untuk menyebarkan, menskalakan, dan mengelola aplikasi berbasis kontainer. [1, 2]
Fungsi Orkestrasi Inti
Kubernetes bertindak seperti “konduktor” untuk kontainer aplikasi, memastikan kontainer tersebut bekerja secara harmonis melalui beberapa perilaku otomatis utama: [1, 2]
- Perbaikan Mandiri: Secara otomatis memulai ulang kontainer yang gagal, mengganti pod, dan mematikan kontainer yang tidak merespons pemeriksaan kesehatan yang ditentukan pengguna.
- Penskalaan Horizontal: Fitur ini menyesuaikan jumlah kontainer yang berjalan naik atau turun berdasarkan penggunaan sumber daya (seperti CPU) atau metrik khusus untuk menangani lonjakan lalu lintas.
- Penemuan Layanan & Penyeimbangan Beban: Sistem ini menetapkan alamat IP unik dan nama DNS tunggal ke sekumpulan kontainer, secara otomatis mendistribusikan lalu lintas di antara kontainer-kontainer tersebut.
- Peluncuran/Pengembalian Otomatis: Sistem ini secara bertahap meluncurkan perubahan pada aplikasi atau konfigurasi sambil memantau kesehatannya, dengan kemampuan untuk langsung mengembalikan perubahan jika terjadi kegagalan.
- Orkestrasi Penyimpanan: Secara otomatis memasang sistem penyimpanan, baik lokal, cloud publik, atau berbasis jaringan (NFS, iSCSI). [1, 2, 3, 4, 5]
Komponen Utama
Klaster Kubernetes terdiri dari dua bagian utama yang bekerja sama untuk mempertahankan “kondisi yang diinginkan” dari aplikasi Anda: [1, 2]
| Komponen [1, 2, 3, 4, 5] | Keterangan |
|---|---|
| Bidang Kontrol | “Otak” yang membuat keputusan global (misalnya, penjadwalan) dan mendeteksi/merespons peristiwa. |
| Node Pekerja | Mesin (fisik atau virtual) yang menjadi host dan menjalankan beban kerja aplikasi yang sebenarnya. |
| Pod | Unit terkecil yang dapat diimplementasikan di Kubernetes; sebuah pembungkus yang berisi satu atau lebih kontainer. |
| Kubelet | Agen yang berjalan di setiap node untuk memastikan kontainer berjalan sesuai dengan yang ditentukan dalam manifest. |
Alat Manajemen Orkestrasi Populer
Meskipun Kubernetes adalah mesin intinya, organisasi sering menggunakan platform tambahan untuk menyederhanakan pengelolaannya: [1, 2]
- SUSE Rancher: Ideal untuk mengelola banyak klaster di berbagai lingkungan dari satu antarmuka tunggal.
- Red Hat OpenShift: Distribusi kelas perusahaan dengan fitur CI/CD dan keamanan terintegrasi.
- Portainer: Lapisan manajemen yang mudah digunakan yang menyederhanakan operasi sehari-hari tanpa memerlukan keahlian YAML yang mendalam.
- Layanan Terkelola: Penyedia layanan cloud menawarkan versi terkelola seperti Amazon EKS, Google GKE, dan Azure AKS, yang menangani pemeliharaan infrastruktur yang mendasarinya. [1, 2, 3, 4, 5, 6]
Kubernetes (K8s) is the industry-standard open-source platform for container orchestration, which automates the manual work required to deploy, scale, and manage containerized applications. [1, 2]
Core Orchestration Functions
Kubernetes acts like a “conductor” for an application’s containers, ensuring they work in harmony through several key automated behaviors: [1, 2]
- Self-Healing: It automatically restarts containers that fail, replaces pods, and kills containers that don’t respond to user-defined health checks.
- Horizontal Scaling: It adjusts the number of running containers up or down based on resource usage (like CPU) or custom metrics to handle traffic spikes.
- Service Discovery & Load Balancing: It assigns unique IP addresses and a single DNS name to sets of containers, automatically distributing traffic across them.
- Automated Rollouts/Rollbacks: It progressively rolls out changes to applications or configurations while monitoring health, with the ability to instantly roll back if a failure occurs.
- Storage Orchestration: It automatically mounts storage systems, whether local, public cloud, or network-based (NFS, iSCSI). [1, 2, 3, 4, 5]
Key Components
A Kubernetes cluster consists of two main parts that work together to maintain the “desired state” of your application: [1, 2]
| Component [1, 2, 3, 4, 5] | Description |
|---|---|
| Control Plane | The “brain” that makes global decisions (e.g., scheduling) and detects/responds to events. |
| Worker Nodes | The machines (physical or virtual) that host and run the actual application workloads. |
| Pods | The smallest deployable unit in Kubernetes; a wrapper that contains one or more containers. |
| Kubelet | An agent running on each node to ensure containers are running as specified in the manifests. |
Popular Orchestration Management Tools
While Kubernetes is the core engine, organizations often use additional platforms to simplify its management: [1, 2]
- SUSE Rancher: Ideal for managing multiple clusters across different environments from a single interface.
- Red Hat OpenShift: An enterprise-grade distribution with integrated CI/CD and security features.
- Portainer: A user-friendly management layer that simplifies day-to-day operations without requiring deep YAML expertise.
- Managed Services: Cloud providers offer managed versions like Amazon EKS, Google GKE, and Azure AKS, which handle the maintenance of the underlying infrastructure. [1, 2, 3, 4, 5, 6]