Kubernetes & Orchestration
- Dapatkan link
- X
- Aplikasi Lainnya
๐๐ Bab 23 – SOP Kubernetes & Orchestration di Ubuntu Server
Bab ini akan membawa dokumentasi kamu ke level enterprise, karena Kubernetes adalah standar industri untuk mengelola container skala besar. Dengan Kubernetes, aplikasi bisa dijalankan, diskalakan, dan dipulihkan secara otomatis.
๐ฏ Tujuan
- Memasang Kubernetes di Ubuntu Server.
- Menjalankan aplikasi dalam cluster container.
- Mengelola scaling, load balancing, dan self-healing.
- Memahami konsep dasar orchestration.
๐ง Lingkup
- Sistem operasi: Ubuntu Server
- Tools: Kubernetes (k8s), kubeadm, kubectl, minikube (untuk testing)
- Container runtime: Docker/Containerd
3. Langkah Kerja
๐ง 3.1 Instalasi Kubernetes (Cluster)
- Update sistem:
sudo apt update && sudo apt upgrade -y - Install dependency:
sudo apt install -y apt-transport-https ca-certificates curl - Tambahkan repository Kubernetes:
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add - echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list⚠️ Catatan: Repository
apt.kubernetes.iosudah tidak digunakan lagi sejak Maret 2024. Gunakan repository baru dipkgs.k8s.iountuk instalasi terbaru. - Install kubeadm, kubelet, kubectl:
sudo apt update sudo apt install -y kubelet kubeadm kubectl sudo apt-mark hold kubelet kubeadm kubectl
⚡ 3.2 Inisialisasi Cluster
- Jalankan di master node:
sudo kubeadm init --pod-network-cidr=10.244.0.0/16 - Konfigurasi kubectl:
mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config - Install network plugin (Flannel):
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
๐ 3.3 Join Worker Node
Di server worker, jalankan perintah join yang diberikan oleh kubeadm init, contoh:
sudo kubeadm join 192.168.1.100:6443 --token abcdef.0123456789abcdef --discovery-token-ca-cert-hash sha256:xxxxxxxx
๐ฆ 3.4 Deploy Aplikasi di Kubernetes
Contoh: deploy Nginx.
kubectl create deployment nginx --image=nginx
kubectl expose deployment nginx --port=80 --type=NodePort
Cek service:
kubectl get svc
Akses aplikasi via IP node + port.
๐ 3.5 Scaling & Self-Healing
- Scale deployment:
kubectl scale deployment nginx --replicas=3 - Kubernetes otomatis restart pod jika crash.
๐ 3.6 Monitoring Cluster
- Lihat node:
kubectl get nodes - Lihat pod:
kubectl get pods -o wide - Lihat log pod:
kubectl logs nama_pod
4. Command Ringkas
| Fungsi | Command |
|---|---|
| Install kubeadm/kubectl | sudo apt install -y kubelet kubeadm kubectl |
| Init cluster | sudo kubeadm init --pod-network-cidr=10.244.0.0/16 |
| Join worker node | sudo kubeadm join ... |
| Deploy Nginx | kubectl create deployment nginx --image=nginx |
| Expose service | kubectl expose deployment nginx --port=80 --type=NodePort |
| Scale deployment | kubectl scale deployment nginx --replicas=3 |
| Lihat nodes | kubectl get nodes |
| Lihat pods | kubectl get pods -o wide |
| Lihat log pod | kubectl logs nama_pod |
5. Catatan Penting
-
๐งช
Gunakan minikube untuk testing lokal sebelum ke cluster production.
-
๐ฆ
Pastikan semua node punya runtime container (Docker/Containerd).
-
๐
Gunakan network plugin (Flannel, Calico) agar pod bisa berkomunikasi.
-
๐
Kubernetes otomatis melakukan load balancing, scaling, dan self-healing.
๐ก Pro Tips
Integrasikan dengan Prometheus + Grafana di Kubernetes → monitoring cluster modern.
๐ Dengan bab ini, kamu sudah bisa mengelola aplikasi skala besar dengan Kubernetes, siap untuk deployment enterprise.
- Dapatkan link
- X
- Aplikasi Lainnya
Komentar
Posting Komentar