Back to IF4054 Pengoperasian Sistem Perangkat Lunak

Kubernetes Architecture and Core Objects

Questions/Cues

  • Apa komponen control plane dan worker node?
  • Apa fungsi Pod, Deployment, dan Service?
  • Apa beda Kind dan Minikube untuk development?

Reference Points

  • IF4054 IaC & Cluster Security (Slides 20-22)

Arsitektur Kubernetes

flowchart TB
    U["kubectl<br/>HTTP request"] --> API
    subgraph CP["Control plane"]
        API["API server<br/>front door"]
        SCH["Scheduler<br/>placement"]
        ETCD["etcd<br/>source of truth"]
        API --- SCH
        API --- ETCD
    end
    subgraph W["Worker nodes"]
        K1["kubelet + container"]
        K2["kubelet + container"]
    end
    API --- K1
    API --- K2
  • Control plane adalah otak cluster: API server (pintu depan), scheduler (menentukan penempatan), dan etcd (sumber kebenaran).
  • Worker node menjalankan workload; kubelet pada tiap node berbicara dengan control plane dan mengelola container secara lokal.
  • Setiap perintah kubectl hanyalah HTTP request ke API server, satu-satunya komponen yang dipercaya semua bagian lain. Seluruh materi RBAC, admission control, dan scheduling terhubung ke arsitektur ini.

Objek Inti

ObjekFungsi
PodUnit deploy terkecil; biasanya satu container dengan identitas jaringan stabil
DeploymentMendeklarasikan “saya ingin N replika pod” dan merekonsiliasi realita agar sesuai
ServiceAlamat jaringan stabil di depan sekumpulan pod yang berubah; pemanggil tak perlu melacak IP pod

Ketiganya menyatakan ide deklaratif yang sama seperti Terraform satu lapis di atas: deskripsikan desired state, biarkan controller konvergen.

Kind vs Minikube

Kind (Kubernetes in Docker)Minikube
Cara kerjaNode cluster sebagai container DockerVM (atau container) sebagai cluster single-node
KekuatanCepat dan ringan; cocok di CI (cluster sekali pakai); multi-node mudahDriver luas (VirtualBox, Hyper-V, Docker); addon kaya (dashboard, ingress, metrics)

Summary

Kubernetes terdiri atas control plane (API server, scheduler, etcd) dan worker node (kubelet) di mana semua interaksi kubectl melewati API server. Tiga objek inti — Pod, Deployment, Service — mengekspresikan desired state yang direkonsiliasi controller. Untuk development lokal, Kind unggul di CI dan topologi multi-node, sedangkan Minikube unggul pada dukungan driver dan addon bawaan.