Dari persiapan VM hingga cluster Ready — lengkap dengan perintah CLI.
Gambar. Alur lab: siapkan VM → install Rancher → create cluster → join nodes → verifikasi.Gambar. Pratinjau perintah CLI yang akan Anda jalankan di lab.
1Siapkan tiga VM (hostname, update, SSH)
Buat 3 VM di VirtualBox/VMware/Proxmox. Di setiap VM, update sistem dan pasang tools dasar:
Pastikan ketiga node terlihat di halaman Nodes. Cek agen:
sudo systemctl status rancher-system-agent --no-pager
sudo docker ps # atau crictl/ps runtime yang dipakai node
5Verifikasi cluster dengan kubectl
Unduh kubeconfig dari Rancher (Cluster → Download KubeConfig), lalu di workstation:
mkdir -p ~/.kube
# simpan file sebagai ~/.kube/config-lab-3vm.yaml
export KUBECONFIG=~/.kube/config-lab-3vm.yaml
kubectl cluster-info
kubectl get nodes -o wide
kubectl get pods -A
kubectl get componentstatuses 2>/dev/null || kubectl get --raw='/readyz?verbose'
Contoh keluaran yang diharapkan:
NAME STATUS ROLES AGE VERSION
k8s-master Ready control-plane,etcd,master 15m v1.xx.x
k8s-worker1 Ready worker 12m v1.xx.x
k8s-worker2 Ready worker 12m v1.xx.x
Jika semua node Ready dan Pod sistem (cattle, coredns, dll.) berjalan, lab 3 VM siap.
6Uji deploy aplikasi contoh
Deploy Nginx sederhana untuk membuktikan worker menerima workload:
kubectl create deployment demo-nginx --image=nginx:1.25 --replicas=2
kubectl expose deployment demo-nginx --port=80 --type=NodePort
kubectl get deploy,pods,svc -o wide
kubectl get pods -o wide # lihat Pod tersebar di worker
Hapus jika hanya untuk uji:
kubectl delete service demo-nginx
kubectl delete deployment demo-nginx
Troubleshooting CLI singkat
Gejala
Perintah cek
Arah perbaikan
Node NotReady
kubectl describe node <nama>
Cek CNI, disk, waktu NTP, agen Rancher
Gagal curl registrasi
curl -vk https://<IP-RANCHER>
Firewall / sertifikat / IP salah
Pod Pending
kubectl describe pod <pod>
Resource worker kurang / taint
Agen mati
sudo journalctl -u rancher-system-agent -e
Restart agen / daftar ulang node
Tips sukses lab
Samakan zona waktu: sudo timedatectl set-ntp true
Jangan campur IP publik & privat tanpa aturan jelas
Simpan bootstrap password, token cluster, dan kubeconfig dengan aman
Dokumentasikan setiap error — itu bagian dari belajar