Kubernetes adalah platform orkestrasi container yang mengelola penjadwalan, jaringan, penyimpanan, dan pemulihan beban kerja secara otomatis pada skala besar. Jalur ini dibangun dari Pod sampai ke ekosistem produksi melalui sebelas modul yang urutannya mengikuti rantai dependensi nyata: workload terlebih dahulu, lalu jaringan dan konfigurasi, kemudian penjadwalan, pengemasan, keamanan, dan operasi. Praktik di jalur ini menggunakan kluster lokal minikube atau kind dengan kubectl 1.30 atau lebih baru, dan pengetahuan dasar Docker dianggap sudah dimiliki sejak awal.
Kubernetes
Jalur lengkap Kubernetes dari konsep container dasar sampai mampu men-deploy, mengemas, mengamankan, dan men-debug workload nyata pada kluster.
0/0 selesai
Modul pembuka: alasan platform orkestrasi ada, peta arsitektur kluster, dan penyiapan lab lokal.
- Mengapa Kubernetes AdaLatar munculnya Kubernetes dari masalah pengelolaan container dalam skala besar dan peran platform orkestrasi.
- Peta ArsitekturStruktur kluster Kubernetes: control plane, Node pekerja, kubelet, etcd, dan API server beserta pembagian tugasnya.
- Penyiapan Lab LokalMembangun kluster belajar di komputer sendiri menggunakan minikube atau kind, beserta pengenalan kubectl dan dasbor.
Fondasi beban kerja: Pod, label dan selector, anatomi manifest, Pod multi-container, serta probe.
- PodUnit penjadwalan terkecil di Kubernetes: container dalam Pod, siklus hidupnya, dan manifest pertama.
- Label dan SelectorSistem metadata label dan selector yang menjadi fondasi pemilihan objek di seluruh Kubernetes.
- Anatomi ManifestStruktur YAML manifest Kubernetes: apiVersion, kind, metadata, dan spec beserta aturan penulisannya.
- Pod Multi-ContainerPola Pod dengan beberapa container: sidecar, volume bersama, dan jaringan yang dipakai bersama.
- ProbeProbe liveness, readiness, dan startup beserta perilaku kegagalan dan dampaknya pada siklus hidup Pod.
Kepemilikan Pod pada skala: ReplicaSet, Deployment, riwayat rollout, dan penskalaan replika.
- ReplicaSetCara ReplicaSet memelihara jumlah Pod yang diinginkan dan hubungan kepemilikan Pod di dalamnya.
- DeploymentDeklarasi template Pod melalui Deployment beserta mekanisme rollout terkelola dari pihak controller.
- Riwayat RolloutRevisi Deployment, perintah undo, dan disiplin pencatatan change-cause pada setiap perubahan.
- PenskalaanPenskalaan jumlah replika secara manual dan pengenalan HorizontalPodAutoscaler untuk skala otomatis.
Membuat Pod dapat dijangkau: ClusterIP, NodePort, LoadBalancer, Ingress, DNS kluster, dan NetworkPolicy.
- ClusterIPService tipe ClusterIP dengan IP virtual yang stabil sebagai dasar service discovery di dalam kluster.
- NodePort dan LoadBalancerTipe Service NodePort dan LoadBalancer sebagai opsi akses eksternal beserta trade-off masing-masing.
- IngressAturan routing HTTP dengan Ingress dan peran ingress controller di dalam kluster.
- DNS KlusterNama DNS internal untuk Service dan Pod serta cara penyelesaian nama bekerja di dalam kluster.
- NetworkPolicyPerilaku jaringan bawaan yang mengizinkan segalanya dan pembatasan jalur trafik dengan NetworkPolicy.
Konfigurasi runtime dan data yang bertahan: ConfigMap, Secret, volume, PV dan PVC, serta StorageClass.
- ConfigMapPemisahan konfigurasi dari image melalui ConfigMap: variabel lingkungan, berkas, dan pola mounting.
- SecretPenyimpanan data sensitif dengan Secret: encoding, mounting, dan keterbatasan yang perlu diakui.
- VolumeVolume efemeral pada Pod, mulai dari emptyDir sampai mounting berkas ke dalam container.
- PV dan PVCPersistentVolume dan PersistentVolumeClaim beserta alur binding dari claim ke penyimpanan nyata.
- StorageClassProvisioning dinamis penyimpanan melalui StorageClass dan pengaruhnya terhadap PVC.
Cara scheduler menempatkan Pod: request dan limit, kelas QoS, kendali penempatan, serta prioritas.
- Request dan LimitSemantik request dan limit CPU serta memori dan alasan request yang mendorong keputusan penjadwalan.
- Kelas QoSKelas QoS Guaranteed, Burstable, dan BestEffort beserta urutan eviksi saat tekanan sumber daya.
- Kendali PenempatanKendali penempatan Pod melalui Node affinity, taint, dan toleration.
- Prioritas dan PreemptionPrioritas Pod dan mekanisme preemption saat sumber daya kluster tidak mencukupi.
Workload di luar Deployment: StatefulSet, service headless, Job dan CronJob, serta DaemonSet.
- StatefulSetIdentitas jaringan dan penyimpanan yang stabil pada StatefulSet beserta deployment terurutnya.
- Service HeadlessService headless tanpa IP virtual dan DNS per Pod yang menjadikannya pasangan alami StatefulSet.
- Job dan CronJobKerja batch sekali jalan dengan Job dan kerja terjadwal dengan CronJob beserta kebijakan ulangnya.
- DaemonSetAgen yang berjalan satu per Node melalui DaemonSet: pola logging, pemantauan, dan penjadwalannya.
Manifest dalam skala: Kustomize untuk overlay, Helm untuk chart, dan disiplin pengelolaan release.
- KustomizePenyesuaian manifest dengan Kustomize: struktur base, overlay, dan patch untuk tiap lingkungan.
- Dasar HelmModel pengemasan Helm: chart, values, template, dan konsep release di dalam kluster.
- Penulisan Chart yang SesungguhnyaPenulisan chart Helm untuk aplikasi multi-resource nyata dengan template dan fungsi templating.
- Pengelolaan ReleasePeningkatan, rollback, dan disiplin values dalam pengelolaan release Helm sehari-hari.
Lapisan keamanan kluster: autentikasi dan otorisasi, ServiceAccount dan RBAC, security context, serta Pod Security Standards.
- Autentikasi dan OtorisasiCara API server Kubernetes memverifikasi identitas permintaan dan mengotorisasi aksesnya.
- ServiceAccount dan RBACServiceAccount, Role, ClusterRole, dan binding untuk prinsip hak akses minimum.
- Security ContextPengamanan container dengan security context: non-root, filesystem hanya-baca, dan capabilities.
- Standar Keamanan PodProfil Pod Security Standards baseline dan restricted beserta penerapannya pada namespace.
Menjalankan kluster sehari-hari: perkakas debugging kubectl, alur diagnosis, metrik, kuota, dan siklus hidup kluster.
- Perkakas Debugging kubectlPerkakas debugging inti kubectl: describe, logs, exec, port-forward, dan pembacaan event.
- Alur Penelusuran MasalahDiagnosis sistematis dari lapisan Pod, service, sampai ingress beserta event yang menyertai.
- Metrikmetrics-server, perintah kubectl top, dan loop umpan balik pengaturan sumber daya.
- Namespace dan KuotaPembatasan konsumsi per tim dengan namespace, ResourceQuota, dan LimitRange.
- Siklus Hidup KlusterPeningkatan versi kluster, kebijakan version skew, dan trade-off managed versus self-hosted.
Langkah menuju produksi: Kubernetes terkelola, GitOps, service mesh, dan pengerjaan proyek nyata.
- Kubernetes TerkelolaPosisi layanan Kubernetes terkelola seperti EKS, GKE, dan AKS beserta kesadaran biayanya.
- GitOpsModel GitOps dengan Argo CD dan Flux yang menjadikan git sebagai sumber kebenaran kluster.
- Kesadaran Service MeshPosisi Istio dan Linkerd dalam arsitektur serta pertimbangan kapan mesh sepadan dengan biayanya.
- Perencanaan ProyekDesain aplikasi multi-service untuk Kubernetes: struktur manifest, dependensi, dan konfigurasi.
- Build dan DeployAlur build image, pengemasan chart, dan konfigurasi per lingkungan sampai deployment berjalan.