Instalasi Kubernetes

Dalam instalasi Kubernetes, ada beberapa cara untuk menjalankan Kubernetes tergantung pada kebutuhan, apakah Anda ingin menjalankannya secara lokal untuk development atau menggunakannya dalam skala produksi di cloud.

Menggunakan Minikube untuk Single-Node Cluster (Development)

Minikube adalah alat yang memungkinkan Anda menjalankan Kubernetes secara lokal. Cocok untuk development dan testing, Minikube membuat sebuah single-node cluster di mesin lokal. Selain Minikube, Anda juga bisa menggunakan Docker Desktop yang menyertakan Kubernetes bawaan untuk menjalankan cluster dengan lebih mudah.

Artikel ini akan membahas instalasi Minikube, dan di bagian akhir akan diperkenalkan juga alternatif penggunaan Docker Desktop untuk Kubernetes.

Prasyarat untuk Minikube :

Sebelum menginstal Minikube, pastikan Anda telah memenuhi prasyarat berikut:

  1. Pastikan sudah mengaktifkan Virtualization seperti VirtualBox, Hyper-V (Windows), atau KVM (Linux).
  2. Instal kubectl, tool command-line yang digunakan untuk mengelola cluster Kubernetes.

1. Instalasi kubectl

kubectl adalah tool CLI yang digunakan untuk berinteraksi dengan cluster Kubernetes, baik di Minikube, cloud, atau server lainnya. Berikut langkah-langkah instalasinya untuk berbagai sistem operasi:

Instalasi di Linux

Jalankan perintah berikut untuk menginstal kubectl di Linux:

curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl

Instalasi di macOS

Anda bisa menginstal kubectl menggunakan Homebrew:

brew install kubectl

Instalasi di Windows

Instalasi kubectl di Windows bisa dilakukan melalui choco:

choco install kubernetes-cli

Pastikan kubectl sudah terinstal dengan mengecek versi menggunakan perintah:

kubectl version --client

2. Instalasi Minikube

Setelah menginstal kubectl, ikuti langkah-langkah berikut untuk menginstal Minikube:

Instalasi di Linux

Gunakan perintah berikut untuk menginstal Minikube:

curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
sudo install minikube-linux-amd64 /usr/local/bin/minikube

Instalasi di macOS

Jika menggunakan macOS, Anda bisa menggunakan Homebrew:

brew install minikube

Instalasi di Windows

Untuk Windows, instalasi bisa dilakukan melalui choco:

choco install minikube

3. Memulai Minikube

Setelah instalasi berhasil, jalankan Minikube dengan perintah:

minikube start

Minikube akan secara otomatis mengunduh dan menjalankan Kubernetes di VM lokal

4. Memverifikasi Instalasi

 Setelah cluster berjalan, periksa status node untuk memastikan semuanya berjalan baik:

kubectl get nodes

Outputnya seharusnya menunjukkan node yang sedang berjalan:

NAME       STATUS    ROLES     AGE       VERSION
minikube   Ready     master    5m        v1.21.0

5. Mengakses Dashboard Kubernetes

Minikube juga menyediakan dashboard web untuk memantau cluster secara visual:

minikube dashboard

Ini akan membuka antarmuka pengguna di browser, di mana Anda dapat melihat Pod, Service, Deployment, dll.

6. Menghentikan Minikube

Jika Anda ingin menghentikan cluster, cukup jalankan:

minikube stop

Ini akan menghentikan virtual machine yang menjalankan cluster.

Minikube cocok untuk:

  • Belajar Kubernetes dan testing aplikasi di lingkungan lokal.
  • Pengembangan aplikasi sebelum deployment ke cluster cloud.

Alternatif: Menggunakan Kubernetes di Docker Desktop

Selain Minikube, Anda juga bisa menggunakan Docker Desktop untuk menjalankan Kubernetes secara lokal. Docker Desktop menyertakan Kubernetes bawaan, yang memungkinkan Anda membuat dan mengelola cluster Kubernetes dengan lebih mudah tanpa perlu menginstal alat tambahan seperti Minikube.

Prasyarat Docker Desktop:

  • Docker Desktop terinstal di sistem Anda. Anda bisa mengunduhnya dari situs resmi Docker.
  • Docker Desktop mendukung Windows dan macOS, tetapi tidak tersedia di Linux. Untuk Linux, Anda bisa menggunakan Minikube atau instalasi Kubernetes langsung di mesin.

Langkah-langkah Menggunakan Kubernetes di Docker Desktop:

1. Aktifkan Kubernetes di Docker Desktop

  1. Buka Preferences (macOS) atau Settings (Windows) di Docker Desktop.
  2. Di panel kiri, pilih Kubernetes.
  3. Centang kotak Enable Kubernetes.
  4. Klik Apply & Restart. Docker Desktop akan memulai ulang dan mengaktifkan Kubernetes.

2. Verifikasi Instalasi Kubernetes di Docker Desktop

Setelah Docker Desktop diaktifkan kembali, verifikasi apakah Kubernetes aktif dengan menjalankan perintah berikut:

kubectl get nodes

Jika Kubernetes di Docker Desktop berjalan dengan baik, Anda akan melihat node aktif seperti berikut:

NAME             STATUS   ROLES    AGE     VERSION
docker-desktop Ready master 5m v1.23.0

3. Mengelola Kubernetes di Docker Desktop

Anda dapat menggunakan kubectl untuk mengelola Kubernetes di Docker Desktop sama seperti saat menggunakan Minikube. Misalnya, untuk membuat deployment:

kubectl create deployment nginx --image=nginx

Dan untuk mengecek status Pod:

kubectl get pods

4. Menggunakan Kubernetes Dashboard di Docker Desktop

Docker Desktop juga menyertakan Kubernetes Dashboard yang bisa diakses melalui antarmuka grafis. Ini memungkinkan Anda memantau resource cluster seperti Pod, Service, dan Deployment.

Docker Desktop Cocok untuk:

  • Pengguna Docker yang sudah menggunakan Docker Desktop untuk pengembangan container.
  • Pengembangan lokal Kubernetes tanpa perlu menginstal virtual machine tambahan atau alat seperti Minikube.
  • Pengguna Windows dan macOS yang menginginkan integrasi sederhana antara Docker dan Kubernetes.

Membuat Cluster Kubernetes di DigitalOcean Kubernetes (DOKS)

DigitalOcean Kubernetes (DOKS) adalah platform Kubernetes terkelola yang mempermudah pengguna dalam mengelola cluster Kubernetes. Dengan DOKS, Anda bisa mengatur scaling otomatis dan integrasi dengan layanan DigitalOcean lainnya seperti Load Balancer dan block storage, tanpa perlu repot mengelola infrastruktur secara manual. Artikel ini menjelaskan langkah-langkah mudah untuk membuat dan mengelola cluster Kubernetes di DigitalOcean.

Langkah-langkah Membuat Cluster di DigitalOcean Kubernetes

1. Login ke DigitalOcean

Masuk ke akun DigitalOcean Anda melalui dashboard DigitalOcean. Jika belum memiliki akun, Anda bisa mendaftar terlebih dahulu.

2. Aktifkan Kubernetes

Setelah masuk ke dashboard:

  • Pilih opsi Kubernetes di menu sebelah kiri.
  • Klik tombol Create Cluster.

3. Pilih Versi Kubernetes

  • Pilih versi Kubernetes yang diinginkan. Disarankan menggunakan versi Long Term Support (LTS) untuk stabilitas dan keamanan yang lebih baik.

4. Konfigurasi Cluster

Atur konfigurasi berikut sesuai kebutuhanmu:

  • Region: Pilih lokasi server terdekat, misalnya Singapore, New York, atau Frankfurt.
  • Node Worker: Tentukan jumlah node. Untuk skala kecil-menengah, 3 node umumnya cukup.
  • Spesifikasi Node: Pilih spesifikasi droplet, seperti Standard atau General Purpose, berdasarkan beban kerja aplikasi.

5. Buat Cluster

Setelah mengkonfigurasi, klik Create Cluster. Proses ini memakan waktu beberapa menit hingga cluster siap digunakan.

Mengelola Cluster via doctl CLI

Untuk mengelola cluster dari terminal, gunakan doctl, CLI dari DigitalOcean. Berikut langkah-langkah instalasinya:

1. Instalasi doctl

Jalankan perintah berikut untuk menginstal doctl di sistem berbasis Linux:

sudo snap install doctl

2. Login ke DigitalOcean via CLI

Setelah instalasi, autentikasi dengan API token DigitalOcean:

doctl auth init

3. Hubungkan kubectl ke Cluster

Setelah cluster selesai dibuat, hubungkan kubectl agar bisa mengelola cluster:

doctl kubernetes cluster kubeconfig save <nama-cluster>

4. Verifikasi Koneksi

Cek status node di cluster dengan perintah:

kubectl get nodes

Scaling Cluster

Untuk menambah atau mengurangi jumlah node di cluster, Anda bisa melakukannya via CLI atau dashboard. Contoh untuk menambah node via doctl:

doctl kubernetes node-pool update <nama-cluster> --node-pool <id-node-pool> --count <jumlah-node>

Kapan Menggunakan DigitalOcean Kubernetes?

DigitalOcean Kubernetes (DOKS) cocok untuk:

  • Aplikasi skala kecil-menengah: Cluster dapat dengan mudah diskalakan sesuai kebutuhan aplikasi.
  • Pengguna dengan anggaran terbatas: DOKS menawarkan solusi Kubernetes yang lebih murah dibandingkan GKE, EKS, atau AKS.
  • Pengelolaan yang sederhana: Integrasi langsung dengan layanan DigitalOcean mempermudah pengelolaan infrastruktur, tanpa perlu khawatir tentang pengelolaan manual seperti load balancers atau penyimpanan.

Dengan DOKS, Anda mendapatkan kemudahan dalam mengelola Kubernetes tanpa harus memikirkan kompleksitas infrastruktur.