Kubernetes adalah platform orkestrasi container yang sangat powerful untuk mengotomatisasi deployment, scaling, dan manajemen aplikasi berbasis container. Dalam panduan ini, kita bakal install kubernetes di Ubuntu 22.04, lengkap dengan konfigurasi cluster yang terdiri dari master node dan worker node
Mengenal Node dalam Kubernetes
Sebelum mulai instalasi, kita harus paham dulu ada dua jenis node dalam cluster Kubernetes:
πΉ Master Node: Berperan sebagai otak dari cluster yang menangani API control untuk mengatur pod, replication controller, service, dan node lainnya.
πΉ Worker Node: Berfungsi sebagai tempat eksekusi container. Beberapa pod bisa berjalan di banyak worker node untuk optimalisasi sumber daya.
Persiapan Sebelum Instalasi
Pastikan sistem Ubuntu yang dipakai memenuhi syarat berikut:
β
Ubuntu 22.04 LTS
β
Akses root atau sudo
β
Koneksi internet aktif
β
Minimal 2GB RAM
β
Minimal 2 vCPU
β
Minimal 20GB ruang kosong di /var
Langkah 1: Update dan Upgrade Sistem (Semua Node)
Pertama, update sistem dengan perintah berikut:
sudo apt update && sudo apt upgrade -y
Langkah 2: Matikan Swap (Semua Node)
Agar Kubernetes berjalan optimal, kita perlu menonaktifkan swap dengan perintah berikut:
sudo swapoff -a
sudo sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab
Langkah 3: Konfigurasi Kernel untuk Kubernetes (Semua Node)
Aktifkan modul kernel yang diperlukan:
sudo tee /etc/modules-load.d/containerd.conf <<EOF
overlay
br_netfilter
EOF
sudo modprobe overlay
sudo modprobe br_netfilter
Atur parameter kernel:
sudo tee /etc/sysctl.d/kubernetes.conf <<EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
EOF
sudo sysctl --system
Langkah 4: Instal Container Runtime (Semua Node)
Karena Kubernetes butuh container runtime, kita pakai containerd:
sudo apt install -y curl gnupg2 software-properties-common apt-transport-https ca-certificates
Tambahkan repository Docker:
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/docker.gpg
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
Instal containerd:
sudo apt update
sudo apt install -y containerd.io
Konfigurasi containerd agar menggunakan systemd
sebagai cgroup:
containerd config default | sudo tee /etc/containerd/config.toml >/dev/null 2>&1
sudo sed -i 's/SystemdCgroup \= false/SystemdCgroup \= true/g' /etc/containerd/config.toml
Restart layanan containerd:
sudo systemctl restart containerd
sudo systemctl enable containerd
Langkah 5: Tambah Repository Kubernetes (Semua Node)
Paket Kubernetes tidak tersedia di repo default Ubuntu, jadi kita perlu menambahkannya:
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
curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.30/deb/Release.key | sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg
Langkah 6: Instal Kubectl, Kubeadm, dan Kubelet (Semua Node)
Setelah repo ditambahkan, kita bisa langsung install komponen utama Kubernetes:
sudo apt update
sudo apt install -y kubelet kubeadm kubectl
sudo apt-mark hold kubelet kubeadm kubectl
Langkah 7: Inisialisasi Kubernetes Cluster (Master Node)
Di master node, jalankan perintah berikut untuk menginisialisasi cluster:
sudo kubeadm init
Tunggu hingga proses selesai. Setelah itu, jalankan perintah berikut agar bisa menggunakan kubectl
:
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
Langkah 8: Tambahkan Worker Node ke Cluster
Setelah master node selesai diinisialisasi, Kubernetes akan memberikan perintah untuk menambahkan worker node, contohnya seperti ini:
kubeadm join 138.197.184.45:6443 --token <TOKEN> \
--discovery-token-ca-cert-hash sha256:<HASH>
Jalankan perintah tersebut di setiap worker node agar bisa bergabung ke cluster.
Kesimpulan
π― Sekarang sobat server sudah berhasil menginstall Kubernetes di Ubuntu 22.04! Dengan cluster yang sudah siap, langkah selanjutnya adalah menambahkan pod network dan mulai menjalankan aplikasi berbasis Kubernetes.
Jika ada pertanyaan atau kendala, komen di bawah atau join komunitas belajar Kubernetes! ππ₯