Minggu, 17 Mei 2020

KUBERNETES-virtualbox

Instalasi Kubernetes dengan Minikube

Nano Yulian
Nano Yulian
Nov 17, 2019 · 5 min read
Bismillah kali ini saya akan mencoba melakukan instalasi kubernetes pada PC atau laptop yang menggunakan sistem operasi Windows 10 Home Edition (RAM 8 GB, i3 8th gen). Sebelum melakukan instalasi, perlu diketahui bahwa kubernetes bisa diinstall menggunakan beberapa konfigurasi. Biasanya terdapat 4 tipe konfigurasi umum yaitu:
  1. All-in-One Single-Node Installation
Pada tipe ini, semua komponen master dan worker diinstall dan berjalan pada satu node. Tipe instalasi seperti ini biasa digunakan untuk pembelajaran, development, dan testingdan sangat tidak dianjurkan untuk digunakan pada tahapan production. Salah satu contoh instalasi k8s pada tipe ini yaitu menggunakan bantuan Minikube, sebuah tool yang memberikan kemudahan agar kubernetes bisa berjalan secara lokal. Minikube akan menjalankan node tunggal (single-node) kubernetes cluster didalam sebuah Virtual Machine (VM) pada laptop/PC Anda.
2. Single-Node etcd, Single-Master and Multi-Worker Installation
Pada tipe konfigurasi ini terdapat single-master node yang juga menjalankan single-node etcd instance. Selain itu juga terdapat beberapa worker node (multiple worker nodes) yang terkoneksi dengan master node.
3. Single-Node etcd, Multi-Master and Multi-Worker Installation
Pada tipe ini, terdapat multiple-master nodes yang dikonfigurasi dalam High Availability mode (HA mode), tetapi terdapat single-node etcd instance. Multiple worker nodes juga akan dikoneksikan dengan master nodes.
4. Multi-Node etcd, Multi-Master and Multi-Worker Installation
Pada tipe ini, etcd dikonfigurasi dalam cluster HA modemaster nodes semuanya dikonfigurasi dalam HA mode, terkoneksi dengan multiple worker nodes. Tipe konfigurasi ini paling kompleks dan sangat direkomendasikan pada tahapan production.
Mengingat keterbatasan sumber daya yang dimiliki dan untuk tujuan pembelajaran, maka instalasi kubernetes akan menggunakan Windows 10 dan konfigurasi All-in-One Single-Node dengan bantuan Minikube.

A. Requirements Untuk Menjalankan Minikube

Minikube bisa diinstall secara langsung di Linux, macOS, atau Windows workstation. Namun, untuk sepenuhnya memanfaatkan semua fitur yang ditawarkan Minikube, Hypervisor Tipe-2 harus diinstal pada workstation lokal, untuk dijalankan bersama dengan Minikube. Ini bukan berarti kita harus membuat VM dengan guest OS dengan hypervisor tersebut, melainkan minikube yang nantinya akan memerintahkan si hypervisor untuk membuat VM yang akan membuat single-node kubernetes cluster. Berikut ini adalah persyaratan yang harus dipenuhi sebelum menjalankan minikube :
  1. Install Type-2 Hypervisor : VirtualBox or KVM (linux), VirtualBox/HyperKit/ VMware Fusion (macOS), VirtualBox or Hyper-V ( Windows). Untuk artikel ini saya menggunakan virtualbox.
  2. VT-x/AMD-v virtualization harus dalam posisi enabled
  3. Koneksi internet saat menjalankan minikube pertama kali. minikube akan mendownload semua packagedependenciesupdates dan images yang dibutuhkan untuk menginisialisasi minikube kubernetes cluster.
  4. Install Minikube : bisa didownload rilis terakhir disini (jika tidak mau repot setting path direkomendasikan mendownload file minikube-installer.exe ). Pastikan anda menginstall minikube versi stable. Untuk melihat versi minikube yang sudah terinstall, gunakan command prompt dan ketik : “minikube version”, jika instalasi sukses maka akan tampil seperti Gambar 1 dibawah ini (sesuai versi).
  5. Install kubectl
    kubectl adalah kubernetes command-line tool, digunakan untuk mendeploy dan mengelola aplikasi/layanan pada kubernetes. kubectl menyediakan fitur memantau sumber daya clustercreatedeleteupdate component, mendapatkan status dari k8s clusterdeploy dan menjalankan aplikasi/layanan pada k8s. kubectl diinstall terpisah dari minikube. Jika kita menginstall minikube terlebih dahulu, maka akan terlihat warning selama proses instalasi minikube. Anda bisa menginstall kubectl (cek link versi terakhir) secara terpisah melalui link berikut (v1.16.0), copy file kubectl.exe pada folder C:\Program Files\Kubernetes\Minikube” (dan pastikan tambahkan dan setting path pada system environment variable) seperti Gambar 2.a. ATAU melalui perintah : minikube kubectl dan 2.b di bawah ini. ( Catatan : Terdapat beberapa metode untuk menginstall kubectl, seperti yang dijelaskan pada Kubernetes documentation. Untuk hasil yang terbaik, direkomendasikan untuk tetap menggunakan kubectl dengan versi yang sama pada kubernetes yang dijalankan melalui Minikube. )
  6. Pastikan Fitur Hyper-V disabled (berikut link caranyakarena kita menggunakan VirtualBox.
( Gambar 1. Minikube berhasil terinstall )
(Gambar 2a. Tambahkan path ke System Variables)
( Gambar 2b. Install alternatif Kubectl melalui perintah “minikube kubectl” )
( Gambar 3. Cek Instalasi kubectl melalui minikube command )

B. Menjalankan Kubernetes Cluster via Minikube

Setelah semua requirement terpenuhi, maka kita tinggal melakukan perintah pada command prompt / power shell windows untuk menjalankan perintah-perintah basic kubernetes cluster melalui minikube, berikut adalah perintah yang bisa digunakan :
  1. minikube start (memulai local kubernetes cluster)
  2. minikube stop ( stop local kubernetes cluster yang sedang berjalan)
  3. minikube delete (menghapus local kubernetes cluster)
  4. minikube status (melihat status dari local kubernetes cluster)
  5. minikube dashboard ( mengakses kubernetes dashboard didalam minikube cluster )
Untuk menjalankan kubernetes cluster, gunakan perintah “minikube start — vm-driver = virtualbox” pastikan koneksi internet lancar jika ini adalah pertama kali Anda membuat kubernetes cluster. Gambar 4. di bawah ini menunjukkan proses pembuatan kubernetes cluster dan status kubernetes cluster melalui minikube.
( Gambar 4. Proses Pembuatan kubernetes cluster dengan minikube dan virtualbox)
Pada proses di atas, kita menggunakan driver virtualbox, selanjutnya minikube memberikan perintah ke virtualbox untuk membuat VM dengan konfigurasi (core CPU = 2, memory 2 GB, dan alokasi disk = 20GB), menetapkan network pada cluster, dan menjalankan kubernetes cluster. Akhirnya bisa kita lihat status k8s cluster semua sudah berjalan berikut komponen-komponen di dalamnya. Selanjutnya kita akan membuka dashboard k8s dengan perintah “minikube dashboard”
Secara otomatis dashboard kubernetes berbasis web akan terbuka pada default browser yang kita aktifkan. Sekarang kita sudah berhasil menjalankan kubernetes cluster pada PC/laptop kita menggunakan minikube. Dashboard tersebut bisa kita gunakan untuk melakukan manajemen kubernetes cluster.

Tidak ada komentar:

Posting Komentar