Apa yang bisa kami bantu?

A. Pendahuluan

Perkembangan teknologi container dan cloud computing menjadikan Kubernetes sebagai platform penting dalam pengelolaan aplikasi modern. Untuk mempelajarinya, dibutuhkan lingkungan yang fleksibel dan mendukung berbagai eksperimen tanpa mengganggu sistem utama. Salah satu solusi yang umum digunakan adalah Minikube, yang memungkinkan pengguna menjalankan cluster Kubernetes secara sederhana untuk keperluan pembelajaran maupun pengujian.

 

Dalam praktiknya, Minikube dapat dijalankan pada cloud virtual machine (VM) seperti layanan Neo Lite Pro, sehingga memberikan performa yang lebih stabil serta akses yang lebih luas dibandingkan penggunaan lokal. Dengan memanfaatkan layanan cloud, pengguna dapat mengelola resource seperti CPU, RAM, dan storage sesuai kebutuhan, serta mengakses lingkungan tersebut dari mana saja. Hal ini menjadikan proses pembelajaran Kubernetes menjadi lebih optimal dan mendekati implementasi di dunia kerja.

B. Konfigurasi

Sebelum melakukan konfigurasi, kita perlu mengetahui bahwa arsitektur minikube perlu menggunakan container manager seperti docker. 

Jadi jika Anda ingin menginstall minikube pastikan sudah terinstall docker didalam VM. Dan berikut system Requirement nya:

 

  • CPU: Minimal 2 core
  • RAM: Minimal 2 GB (disarankan 4 GB)
  • Storage: Minimal 20 GB free space
  • OS: Linux Ubuntu/Debian/CentOS/Windows (namun pada kali ini kami akan menggunakan OS Ubuntu)
  • Container/VM Driver: Docker

 

1. Instalasi Docker

  • Untuk instalasi docker, Anda perlu melakukan apt update terlebih dahulu.
$ sudo apt update && sudo apt upgrade -y
  • Lalu tambahkan repository docker
# Add Docker's official GPG key:
$ sudo apt update
$ sudo apt install ca-certificates curl
$ sudo install -m 0755 -d /etc/apt/keyrings
$ sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
$ sudo chmod a+r /etc/apt/keyrings/docker.asc

# Add the repository to Apt sources:
$ sudo tee /etc/apt/sources.list.d/docker.sources <<EOF
Types: deb
URIs: https://download.docker.com/linux/ubuntu
Suites: $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}")
Components: stable
Signed-By: /etc/apt/keyrings/docker.asc
EOF

$ sudo apt update

Untuk informasi detail nya bisa merujuk ke referensi official docker:

https://docs.docker.com/engine/install/ubuntu/

  • Install dependency docker
$ sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
  • Check status docker untuk memastikan bahwa service docker sudah berjalan tanpa kendala.
Gambar 1: Status Docker setelah instalasi
  • Anda juga bisa men-setting agar service docker berjalan di user biasa (bukan root) dengan cara berikut
$ su - user

*Pada bagian user bisa diubah dengan user ssh bawaan VM/user selain root. 

  • Selanjutnya masukkan user ke group docker dengan menjalankan command berikut
$ sudo groupadd docker
$ sudo usermod -aG docker $USER
$ newgrp docker
  • Test menjalankan container tanpa user root.
$ docker run hello-world
Gambar 2: Pengetesan run container tanpa user root
  • Jangan lupa untuk enable service docker agar otomatis running saat booting.
$ sudo systemctl enable docker.service
$ sudo systemctl enable containerd.service

 

 

Gambar 3: Enable docker 

 

Karena instalasi docker sudah selesai maka selanjutnya kita bisa melakukan instalasi minikube di VM/VPS.

 

2. Instalasi Minikube  

 

  • Untuk instalasi Minikube cukup sederhana, Anda cukup menjalankan 2 command berikut untuk instalasi package minikube nya
$ curl -LO https://github.com/kubernetes/minikube/releases/latest/download/minikube-linux-amd64

$ sudo install minikube-linux-amd64 /usr/local/bin/minikube && rm minikube-linux-amd64

 

  • Lalu jalankan minikube nya 
$ minikube start
  • Selanjutnya bisa menunggu hingga proses start Minikube nya, jika sudah selesai maka akan ada tampilan berikut
Gambar 4: Proses starting Minikube
  • Dari capture diatas terlihat kubectl client belum ter-install, maka Anda bisa download kubectl dengan cara berikut.
$ curl -LO https://dl.k8s.io/release/$(curl -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl

$ chmod +x kubectl

$ sudo mv kubectl /usr/local/bin/
  • Setelah menjalankan command diatas maka Anda sudah bisa menggunakan kubectl untuk manajemen kubernetes nya.
Gambar 5: Instalasi kubectl

 

  • Jika Kubectl sudah berjalan, maka anda bisa men-deploy aplikasi Anda, untuk kali ini saya akan mencoba deploy web server nginx di minikube.

 

  • File konfigurasi deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deployment
spec:
  replicas: 1
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:latest
        ports:
        - containerPort: 80

 

  • File konfigurasi service.yaml

 

apiVersion: v1
kind: Service
metadata:
  name: nginx-service
spec:
  selector:
    app: nginx
  ports:
    - protocol: TCP
      port: 80
      targetPort: 80
  type: ClusterIP
  • Tambahkan port forward agar aplikasi bisa diakses dari luar
kubectl port-forward --address 0.0.0.0 service/nginx-service 8080:80

 

  • Dan berikut hasil akses web server nginx yang ada di deployment minikube.
Gambar 6: Hasil akses Nginx
  • Dan berikut status pod dan deployment aplikasinya.
Gambar 7: Status pods dan deployment minikube

 

C. Penutupan

Penggunaan Minikube pada cloud VM berbayar memberikan keunggulan dari sisi fleksibilitas, stabilitas, dan kemudahan akses dalam mempelajari Kubernetes. Lingkungan ini memungkinkan pengguna untuk melakukan berbagai eksperimen dengan lebih leluasa serta memahami konsep deployment secara lebih realistis. Oleh karena itu, pendekatan ini sangat efektif bagi siapa saja yang ingin mendalami Kubernetes secara serius dan profesional.

 

Semoga artikel yang telah kami sampaikan dapat membantu Anda. Anda juga dapat menemukan artikel lainnya melalui halaman Knowledge Base Biznet Gio. Jika Anda masih memiliki kendala teknis terkait dengan layanan Biznet GIO, Anda dapat menghubungi kami melalui  email support@biznetgio.com atau dapat melalui live chat di website Biznet GIO, melalui chat WhatsApp dan bisa juga melalui telepon ke nomor (021) 5714567.