Bagikan :
clip icon

Kubernetes Tutorial Lengkap: Panduan Praktis untuk Pemula sampai Mahir

AI Morfo
foto : Morfogenesis Teknologi Indonesia Creative Team
Kubernetes telah menjadi standar de-facto dalam pengelolaan aplikasi berbasis kontainer. Tutorial ini akan membantu Anda memahami konsep dasar Kubernetes dan bagaimana menerapkannya dalam proyek nyata.

Pengenalan Kubernetes dan Arsitektur Dasar
Kubernetes atau k8s adalah platform open-source yang menyediakan mekanisme orkestrasi untuk mengelola aplikasi berbasis kontainer secara otomatis serta skalabel. Arsitektur inti terdiri dari dua komponen utama: Control Plane (master) dan Node (worker). Control Plane bertanggung jawab atas pengambilan keputusan global, seperti penjadwalan pod, manajemen API, serta kontroler umum. Sementara itu, Node adalah mesin kerja tempat aplikasi berjalan dalam bentuk pod-pod kecil.

Instalasi dan Persiapan Lingkungan
Sebelum memulai, pastikan Anda memiliki sistem operasi Linux minimal Ubuntu 20.04 atau macOS dengan Homebrew. Untuk Windows 10, gunakan WSL2 agar performanya optimal. Anda bisa memilih salah satu opsi berikut:
1. Minikube: Cocok untuk eksperimen lokal karena menyediakan cluster single-node
2. Kind (Kubernetes in Docker): Menjalankan cluster di dalam kontainer, ringan dan cepat
3. Kubeadm: Cocok untuk produksi karena memberi kontrol penuh atas komponen cluster

Setelah memilih salah satu opsi, jalankan perintah: minikube start --cpus=2 --memory=4096 untuk membuat cluster lokal dengan resource yang wajar untuk latihan.

Konsep Dasar: Pod, Service, dan Deployment
Pod adalah unit terkecil yang dapat di-deploy dalam Kubernetes; di dalamnya berisi satu atau beberapa kontainer yang saling berbagi resources. Service adalah abstrasi yang menentukan cara untuk mengakses pod, baik secara internal maupun eksternal. Deployment menyediakan kemampuan untuk mendeklarasikan desired state (jumlah replica, image, environment variable) sehingga Kubernetes otomatis memastikan kondisi aktual sesuai dengan yang diinginkan. Contoh file deployment.yaml untuk aplikasi Go:
apiVersion: apps/v1
kind: Deployment
metadata:
name: go-web
spec:
replicas: 3
selector:
matchLabels:
app: go-web
template:
metadata:
labels:
app: go-web
spec:
containers:
- name: app
image: gcr.io/proyek-go/web:1.0.0
ports:
- containerPort: 8080

Kemudian jalankan dengan kubectl apply -f deployment.yaml.

Expose Lalu Lintas dan Auto-Scaling
Untuk menjadikan aplikasi dapat diakses dari luar cluster, buat Service tipe LoadBalancer atau NodePort. Contoh:
apiVersion: v1
kind: Service
metadata:
name: go-web-svc
spec:
selector:
app: go-web
ports:
- port: 80
targetPort: 8080
type: NodePort
Maka Anda bisa mendapatkan port yang dialokasikan dengan kubectl get svc go-web-svc. Selanjutnya, aktifkan Horizontal Pod Autoscaler agar jumlah replica menyesuaikan CPU usage: kubectl autoscale deployment go-web --cpu-percent=60 --min=3 --max=10.

Storage dan ConfigMap
Aplikasi stateful memerlukan persistent storage. Buat PersistentVolume (PV) dan PersistentVolumeClaim (PVC) terlebih dahulu. Contoh PVC:
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: data-pvc
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 5Gi
Attach ke Deployment dengan volumeMounts dan volumes. Untuk konfigurasi dinamis, gunakan ConfigMap untuk menyimpan file konfigurasi tanpa harus mengganti image. Contoh: kubectl create configmap nginx-conf --from-file=nginx.conf, lalu mount sebagai volume di dalam pod.

Observabilitas dan Best Practices
Pantau kesehatan aplikasi dengan mengatur livenessProbe dan readinessProbe. Gunakan namespace untuk memisahkan lingkungan (dev, staging, prod) agar resource lebih terorganisir. Amankan cluster dengan RBAC dan NetworkPolicy. Backup ETCD secara berkala dan simpan di cloud storage untuk mempercepat recovery. Terakhir, upgrade cluster secara rolling-update agar tidak ada downtime, dan tes di lingkungan staging terlebih dahulu.

Kesimpulan
Dengan menguasai Kubernetes, Anda bisa mengelola aplikasi berskala produksi dengan ketersediaan tinggi serta efisiensi resource yang optimal. Latihan secara konsisten akan mempercepat proses pemahaman konsep dari pod hingga cluster-level management.

Ingin fokus pada bisnis inti tanpa memikirkan infrastruktur? Tim expert Morfotech.id siap membantu membangun dan mengelola platform Kubernetes Anda agar selalu aman, hemat, dan skalabel. Hubungi kami di WhatsApp +62 811-2288-8001 atau kunjungi https://morfotech.id untuk konsultasi gratis.
Sumber:
AI Morfotech - Morfogenesis Teknologi Indonesia AI Team
Kamis, Oktober 2, 2025 12:08 AM
Logo Mogi