All Products
Search
Document Center

Container Service for Kubernetes:Buat workload

Last Updated:Aug 21, 2026

Di dalam kluster Kubernetes, workload adalah instans aplikasi atau layanan yang berjalan di kluster tersebut. Deploy, scale, perbarui, dan pulihkan workload untuk menjaga stabilitas pod dan kelangsungan layanan. Topik ini menjelaskan jenis-jenis workload umum, termasuk Deployment, StatefulSet, DaemonSet, Job, dan CronJob.

Pod

Pod merupakan unit deployable terkecil dalam Kubernetes yang membungkus satu atau beberapa kontainer beserta penyimpanan bersama (volume), jaringan, dan konfigurasi. Anda jarang membuat pod secara langsung; gunakan pengontrol seperti Deployment dan StatefulSet untuk mengelolanya.

Deployment dan StatefulSet

Deployment

Kubernetes awalnya menggunakan ReplicaSet untuk menentukan jumlah replika, pemilih label, dan templat pod. Saat ini, Deployment mengelola ReplicaSet—yang mengelola pod—dan menambahkan kontrol yang lebih canggih.

Gunakan Deployment untuk aplikasi yang tidak memerlukan persistensi data atau operasi berurutan, seperti server web dan layanan mikro.

Skenario

Deskripsi

Layanan web tanpa status

Layanan web frontend melakukan scaling secara dinamis sesuai fluktuasi traffic. Deployment mendukung skalabilitas horizontal, pembaruan, dan rollback.

Layanan arsitektur layanan mikro

Dalam sistem layanan mikro, deploy dan kelola setiap layanan secara independen dengan Deployment.

StatefulSet

Pod dalam Deployment bersifat independen dan tanpa status, tetapi beberapa aplikasi memerlukan status dan ketergantungan. Misalnya, pada database primary-replica, pod menyimpan status dan saling bergantung satu sama lain. Gunakan StatefulSet untuk pod-pod stateful yang saling terhubung ini.

Gunakan StatefulSet untuk aplikasi yang memerlukan penyimpanan persisten dan deployment instans secara berurutan, seperti database dan sistem penyimpanan terdistribusi.

Skenario

Deskripsi

Database stateful

Database stateful memerlukan penyimpanan persisten dan identitas jaringan yang stabil setelah pod dijadwalkan ulang. Sebagai contoh, setiap instans MySQL menyimpan data dan konfigurasi meskipun direstart.

Layanan antrian pesan terdistribusi

Sistem messaging terdistribusi bergantung pada status berurutan dan log persisten di setiap node. Sebagai contoh, Apache Kafka mengharuskan setiap broker mempertahankan konsistensi data dan menyimpan log pada volume persisten untuk mencegah kehilangan data.

Perbedaan antara Deployment dan StatefulSet

Pilih jenis workload berdasarkan perbedaan antara Deployment dan StatefulSet.

Item

Deployment

StatefulSet

Kasus penggunaan

Aplikasi tanpa status seperti server web dan layanan API yang memerlukan scaling cepat serta pembaruan rolling.

Aplikasi stateful seperti database dan sistem file terdistribusi yang memerlukan penyimpanan persisten yang stabil dan deployment berurutan.

Penyimpanan persisten

Semua pod replika berbagi satu persistent volume claim (PVC). Saat dijadwalkan ulang atau diperbarui, pod akan menyambung kembali ke PVC dan data yang sama.

Setiap pod memiliki persistent volume claim-nya sendiri untuk memastikan persistensi dan konsistensi data. Penyimpanan tetap ada meskipun pod direstart atau dijadwalkan ulang.

Identifikasi jaringan

Pod tidak memiliki identifikasi yang stabil. Nama dan alamat IP berubah setiap kali pod dibuat ulang.

Setiap pod memiliki identifikasi yang stabil dalam format <nama StatefulSet>-<ordinal>, seperti web-0 dan web-1, yang dipertahankan meskipun pod direstart.

Strategi pembaruan

  • Rolling Update:

    Pembaruan rolling secara bertahap mengganti pod lama dengan yang baru sambil mempertahankan ketersediaan layanan.

  • Recreate:

    Recreate menghentikan semua pod lama sebelum membuat yang baru, menyebabkan gangguan layanan singkat ketika versi lama dan baru tidak dapat berjalan bersamaan.

  • Rolling Update:

    Pembaruan diterapkan secara berurutan berdasarkan indeks ordinal. Pod berikutnya hanya diperbarui setelah pod saat ini siap.

  • OnDelete:

    Hapus pod secara manual untuk memicu pembaruannya ketika Anda memerlukan kontrol pembaruan yang ketat.

Penemuan layanan

Layanan (Service) menyediakan penemuan layanan dan melakukan load balancing terhadap lalu lintas masuk ke pod. Lihat Manajemen layanan.

Setiap pod memiliki nama DNS unik dan stabil. Layanan headless yang dikelola oleh StatefulSet memungkinkan penemuan yang stabil dan akses langsung ke pod.

DaemonSet

DaemonSet menjalankan satu replika pod di setiap node kluster untuk layanan latar belakang seperti pengumpulan log, pemantauan, dan plug-in jaringan. Ketika node bergabung atau meninggalkan kluster, DaemonSet membuat atau menghapus pod yang sesuai.

Gunakan DaemonSet untuk menjalankan proses daemon yang sama di setiap node kluster.

Skenario

Deskripsi

Pengumpulan log

DaemonSet cocok untuk alat pengumpulan log seperti add-on pengumpulan log di kluster ACK yang berjalan di setiap node untuk mengumpulkan file log dan meneruskannya ke sistem manajemen log terpusat.

Agen pemantauan

Deploy agen pemantauan seperti Prometheus Node Exporter atau Datadog Agent di setiap node untuk mengumpulkan metrik resource dan memantau status node secara real time.

Job dan CronJob

Job dan CronJob menjalankan tugas satu kali dan tugas terjadwal untuk workload yang tidak berjalan secara terus-menerus, seperti pemrosesan batch dan pekerjaan data.

  • Job menjalankan tugas hingga selesai dan menghentikan pod-nya setelah selesai. Gunakan Job untuk tugas satu kali seperti pemrosesan data dan backup.

  • CronJob menjadwalkan Job menggunakan ekspresi cron dengan bidang menit, jam, hari, bulan, dan hari dalam minggu untuk tugas periodik seperti backup database dan pembersihan log.

Kelola objek workload

Kelola workload di ACK melalui Konsol, kubectl, atau API Kubernetes untuk deploy, memantau, dan melakukan scaling layanan aplikasi.

Konsol

Gunakan Konsol ACK untuk membuat, mengelola, dan memantau workload secara visual. Topik-topik berikut mencakup manajemen Konsol untuk setiap jenis workload.

CLI

Dapatkan file kubeconfig kluster dan gunakan kubectl untuk terhubung ke kluster guna deploy aplikasi, mengelola resource, dan memantau kluster.

API Kubernetes

Gunakan API Kubernetes untuk membuat, memperbarui, menghapus, dan memantau workload.

FAQ

Lihat FAQ Workload untuk mengatasi masalah workload.

Referensi