Tutorial Instalasi Kubernetes Cluster di Ubuntu 24.04: Panduan Lengkap & Terbaru 2024

Menjalankan infrastruktur berbasis microservices saat ini telah menjadi standar industri bagi para pengembang dan praktisi DevOps. Di jantung ekosistem ini, Kubernetes (K8s) berdiri sebagai platform orkestrasi container yang paling dominan. Dengan rilis terbaru Ubuntu 24.04 LTS (Noble Numbat), banyak administrator sistem yang mencari panduan yang tepat untuk membangun infrastruktur yang stabil. Dalam artikel komprehensif ini, kita akan membahas secara mendalam tentang tutorial instalasi kubernetes cluster di ubuntu 24.04 menggunakan Kubeadm, yang merupakan metode standar dan direkomendasikan untuk produksi.

Mengapa memilih Ubuntu 24.04? Sebagai sistem operasi Long Term Support, Ubuntu memberikan kepastian keamanan dan stabilitas hingga bertahun-tahun ke depan. Menggabungkannya dengan Kubernetes memungkinkan Anda untuk memiliki kontrol penuh atas beban kerja aplikasi Anda, baik itu di on-premise maupun di cloud environment. Mari kita mulai perjalanan teknis ini untuk membangun cluster yang tangguh dan scalable.

Persiapan Sistem dan Prasyarat

Sebelum memulai tutorial instalasi kubernetes cluster di ubuntu 24.04, sangat penting untuk memastikan bahwa perangkat keras dan lingkungan sistem Anda memenuhi syarat minimum. Kubernetes membutuhkan sumber daya yang cukup untuk menjalankan komponen internalnya serta aplikasi Anda kelak.

Kebutuhan Perangkat Keras

  • Master Node: Minimal 2 CPU (Core) dan RAM 4GB (meskipun 2GB bisa berjalan, performa akan terbatas).
  • Worker Node: Minimal 1 CPU dan RAM 2GB.
  • Penyimpanan: Minimal 20GB disk space per node.
  • Koneksi Internet: Diperlukan untuk mengunduh package dan images.

Persiapan Awal Ubuntu 24.04

Langkah pertama adalah memastikan semua node memiliki hostname yang unik dan alamat IP statis. Pastikan Anda menjalankan perintah berikut di semua node (Master dan Worker) sebagai user root atau dengan sudo:

sudo apt update && sudo apt upgrade -y

Selanjutnya, sangat krusial untuk menonaktifkan Swap. Kubernetes didesain untuk berjalan di lingkungan tanpa swap agar scheduler dapat mengalokasikan resource secara presisi. Jika swap aktif, performa kubelet bisa menjadi tidak stabil.

sudo swapoff -a
sudo sed -i ‘/ swap / s/^(.*)$/#1/g’ /etc/fstab

Konfigurasi Jaringan dan Kernel

Agar komunikasi antar pod di dalam cluster berjalan lancar, kita perlu mengaktifkan modul kernel tertentu dan mengatur konfigurasi sysctl. Modul yang diperlukan adalah overlay dan br_netfilter.

Mengaktifkan Modul Kernel

Buat file konfigurasi untuk memuat modul saat booting:

cat <<EOF | sudo tee /etc/modules-load.d/k8s.conf
overlay
br_netfilter
EOF

sudo modprobe overlay
sudo modprobe br_netfilter

Konfigurasi Sysctl untuk Networking

Kita perlu memastikan bahwa IP forwarding diaktifkan agar traffic dapat dilewatkan antar container dan node:

cat <<EOF | sudo tee /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-iptables = 1
net.bridge.bridge-nf-call-ip6tables = 1
net.ipv4.ip_forward = 1
EOF

sudo sysctl –system

Instalasi Container Runtime: Containerd

Sejak Kubernetes menghapus Docker shim, containerd telah menjadi pilihan runtime yang paling populer karena ringan dan efisien. Dalam tutorial instalasi kubernetes cluster di ubuntu 24.04 ini, kita akan menggunakan containerd versi terbaru.

Instal containerd melalui repositori resmi Ubuntu:

sudo apt install -y containerd

Konfigurasi Systemd Cgroup

Salah satu penyebab kegagalan instalasi Kubernetes yang paling umum adalah ketidakcocokan cgroup driver. Kita harus mengatur containerd agar menggunakan systemd sebagai cgroup driver-nya.

sudo mkdir -p /etc/containerd
sudo containerd config default | sudo tee /etc/containerd/config.toml
sudo sed -i ‘s/SystemdCgroup = false/SystemdCgroup = true/g’ /etc/containerd/config.toml
sudo systemctl restart containerd

Instalasi Komponen Kubernetes (Kubeadm, Kubelet, Kubectl)

Sekarang kita masuk ke bagian inti dari instalasi. Kita perlu menambahkan repositori resmi Kubernetes ke dalam sistem Ubuntu 24.04 kita. Perlu diperhatikan bahwa cara penambahan repositori pada versi terbaru Ubuntu sedikit berbeda karena penggunaan GPG keys yang lebih ketat.

Menambahkan Repositori K8s

sudo apt install -y apt-transport-https ca-certificates curl gpg
curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.30/deb/Release.key | sudo gpg –dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg
echo ‘deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.30/deb/ /’ | sudo tee /etc/apt/sources.list.d/kubernetes.list

Setelah repositori ditambahkan, lakukan update dan instal paket-paket utama:

sudo apt update
sudo apt install -y kubelet kubeadm kubectl
sudo apt-mark hold kubelet kubeadm kubectl

Perintah apt-mark hold sangat penting agar paket-paket ini tidak terupdate secara otomatis saat melakukan upgrade sistem, yang bisa menyebabkan kerusakan cluster jika tidak dilakukan secara manual dan terencana.

Inisialisasi Control Plane Cluster

Langkah ini hanya dilakukan pada Master Node. Kita akan menginisialisasi cluster menggunakan kubeadm init. Kita juga akan menentukan CIDR untuk jaringan pod yang akan kita gunakan nanti (misalnya Calico menggunakan 192.168.0.0/16).

sudo kubeadm init –pod-network-cidr=192.168.0.0/16

Setelah proses selesai, Anda akan melihat output yang berisi instruksi untuk mengatur konfigurasi kubectl bagi user non-root. Jalankan perintah berikut di Master Node:

mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

Catatan: Simpan perintah “kubeadm join” yang muncul di akhir output. Perintah tersebut akan digunakan untuk menghubungkan Worker Node ke cluster.

Konfigurasi Pod Networking dengan Calico

Secara default, pod di dalam Kubernetes belum bisa berkomunikasi antar node. Kita memerlukan Container Network Interface (CNI). Dalam tutorial instalasi kubernetes cluster di ubuntu 24.04 ini, kita merekomendasikan Calico karena fitur keamanannya yang canggih.

Terapkan manifest Calico ke cluster Anda:

kubectl create -f https://raw.githubusercontent.com/projectcalico/calico/v3.28.0/manifests/tigera-operator.yaml
kubectl create -f https://raw.githubusercontent.com/projectcalico/calico/v3.28.0/manifests/custom-resources.yaml

Tunggu beberapa saat hingga semua pod sistem berjalan dengan status Running. Anda bisa memeriksanya dengan perintah:

kubectl get pods -n calico-system

Menambahkan Worker Node ke Cluster

Setelah Master Node siap, sekarang saatnya menghubungkan Worker Node. Pastikan Anda sudah menjalankan langkah-langkah persiapan (swap off, install containerd, install kubeadm/kubelet) di semua Worker Node.

Tempelkan (paste) perintah join yang Anda dapatkan saat inisialisasi master tadi di terminal Worker Node. Contohnya seperti ini:

sudo kubeadm join [IP-MASTER]:6443 –token [TOKEN] –discovery-token-ca-cert-hash sha256:[HASH]

Jika Anda kehilangan token tersebut, Anda bisa men-generate token baru di Master Node dengan perintah:

kubeadm token create –print-join-command

Verifikasi dan Pengujian Cluster

Kembali ke Master Node, periksa status semua node yang tergabung dalam cluster:

kubectl get nodes

Jika semua node berstatus Ready, selamat! Cluster Kubernetes Anda di Ubuntu 24.04 sudah aktif. Untuk memastikan fungsionalitasnya, mari kita coba menjalankan sebuah deployment sederhana menggunakan Nginx.

kubectl create deployment nginx-test –image=nginx
kubectl expose deployment nginx-test –port=80 –type=NodePort
kubectl get pods

Setelah status pod menjadi Running, Anda telah membuktikan bahwa orkestrasi container berjalan dengan sempurna.

Kesimpulan dan Langkah Selanjutnya

Melalui tutorial instalasi kubernetes cluster di ubuntu 24.04 ini, Anda telah berhasil membangun fondasi untuk infrastruktur cloud-native yang modern. Kita telah membahas mulai dari persiapan sistem, konfigurasi kernel, instalasi containerd, hingga inisialisasi cluster menggunakan kubeadm.

Poin Kunci yang Harus Diingat:

  • Selalu pastikan Swap dimatikan untuk stabilitas kubelet.
  • Gunakan Systemd Cgroup pada containerd agar selaras dengan sistem Ubuntu.
  • Pilih CNI yang tepat seperti Calico untuk manajemen jaringan yang aman.
  • Lakukan apt-mark hold pada komponen Kubernetes untuk menghindari upgrade yang tidak sengaja.

Langkah selanjutnya yang bisa Anda ambil adalah mempelajari cara mengelola Ingress Controller, menerapkan Helm Charts untuk manajemen aplikasi, atau mencoba melakukan monitoring menggunakan Prometheus dan Grafana. Dunia Kubernetes sangat luas, dan memiliki cluster sendiri di Ubuntu 24.04 adalah awal yang luar biasa untuk perjalanan DevOps Anda.

Jika Anda memerlukan script otomatisasi untuk mempercepat proses ini, Anda dapat mengunduh panduan konfigurasi cepat kami di bawah ini.

Download Dokumentasi Kubeadm Resmi

Tinggalkan komentar