Setup Kubernetes Di Lokal Menggunakan "kind"Untuk membuat sebuah klaster Kubernetes, menurut saya minimal harus menggunakan tiga buah node (server), 1 master, dan 2 worker. Master berupa control plane yang berisi sistem utama kubernetes, dan worker-worker yang digunakan untuk men-deploy pod / container-container. Menggunakan 2 worker node supaya nantinya kita bisa memanfaatkan / mencoba replica set dan load balancing. Apa itu kind?kind adalah salah satu solusi untuk menjalankan Kubernetes di lokal. Bisa dikatakan kind adalah installer klaster Kubernetes yang menggunakan Docker Container (berbasis Ubuntu) sebagai node. Sesuai dengan namanya, kind (Kubernetes in Docker). Kelebihannya adalah proses boot Docker Container lebih cepat dari VM. Sebenarnya apa hubungan Kubernetes dan Docker di sini?Kubernetes di sini tidak bergantung dengan Docker (dockershim). Docker hanya sebagai sarana untuk menyiapkan node (bisa dibayangkan pengadaan server dilakukan oleh Docker). Jumlah node yang akan dibuat bisa didefinisikan pada konfigurasi kind (bisa lihat nanti di bawah). Apakah kind bagian penting dari sistem Kubernetes?Tidak. kind hanya untuk provisioning klaster Kubernetes secara mudah di lokal. Setelah semua ter-setup, lupakan dan anda cukup bermain dengan "kubectl" yang merupakan klien Kubernetes berbasis CLI untuk mengelola resource Kubernetes. INSTALASI kind (BINARY)
INSTALASI kubectl (BINARY)Langsung saja ikuti petunjuk di tautan berikut: https://kubernetes.io/docs/tasks/tools/install-kubectl-linux/#install-kubectl-binary-with-curl-on-linuxSIAPKAN KONFIGURASI kind untuk multi node (1 master, 2 worker)
Simpan sebagai kind-config.yaml BUAT KLASTER KUBERNETES sesuai konfigurasi di atas:
Selesai. Cek node dengan:
Karena kind menggunakan Docker Container sebagai node, node dalam perspektif Docker adalah:
Untuk masuk ke suatu node bisa memanfaatkan docker exec:
HAPUS KLASTER KUBERNETESKarena suatu hal mungkin anda ingin menghapus klaster Kubernetes, bisa dengan perintah:
ALTERNATIF KIND?minikube, k3dSekian, selamat bermain dengan kubectl dan melanjutkan belajar Kubernetes. Semoga bermanfaat! |