Memasang dan Menyiapkan Klaster Kubernetes di RHEL 9
Membangun lingkungan orkestrasi kontainer seperti Kubernetes di platform seperti Red Hat Enterprise Linux 9 (RHEL 9) butuh beberapa langkah penyiapan dasar. Tujuannya supaya semua komponen bisa jalan tanpa masalah.
Persiapan Awal Sistem
Sebelum mulai instalasi, ada beberapa hal penting yang perlu diatur di setiap server yang akan jadi bagian dari klaster, baik itu node control plane (master) maupun node worker. Matikan dulu fitur SELinux supaya tidak menghalangi kerja kontainer dan Kubernetes. Juga, nonaktifkan firewall untuk sementara atau pastikan port-port yang dibutuhkan Kubernetes terbuka. Swap memory juga sebaiknya dimatikan agar kubelet bisa berfungsi optimal. Jangan lupa atur parameter kernel terkait networking dan bridge di sysctl dan muat modul overlay dan br_netfilter untuk mendukung networking kontainer.
Instalasi Runtime Kontainer
Kubernetes butuh runtime kontainer untuk menjalankan pod. Salah satu yang populer dan direkomendasikan adalah CRI-O. Proses instalasinya melibatkan penambahan repository CRI-O yang sesuai dengan versi RHEL dan Kubernetes yang akan dipasang, lalu menginstalnya menggunakan package manager dnf. Setelah terpasang, aktifkan dan jalankan layanan crio.
Instalasi Komponen Kubernetes
Komponen inti Kubernetes seperti kubeadm, kubelet, dan kubectl perlu diinstal di semua server. Caranya adalah dengan menambahkan repository Kubernetes resmi ke sistem, lalu menggunakan dnf untuk menginstal ketiga paket tersebut. kubeadm dipakai untuk bootstrapping klaster, kubelet berjalan di setiap node untuk mengelola pod dan kontainer, sementara kubectl adalah command-line tool untuk berinteraksi dengan klaster. Setelah instalasi, aktifkan layanan kubelet tapi belum perlu dijalankan sampai klaster diinisialisasi.
Inisialisasi Node Control Plane
Ini adalah langkah krusial untuk memulai klaster. Di server yang akan menjadi node control plane, jalankan perintah kubeadm init. Anda bisa menentukan range IP Pod network dan container runtime interface yang digunakan (misalnya crio). Perintah ini akan menyiapkan semua komponen control plane seperti etcd, API Server, Scheduler, Controller Manager, dan lainnya. Output dari perintah ini akan memberikan command kubectl apply untuk setup kubectl bagi user non-root dan command kubeadm join yang akan digunakan untuk menambahkan node worker.
Konfigurasi Jaringan Klaster
Klaster Kubernetes butuh add-on Container Network Interface (CNI) agar pod bisa berkomunikasi antar node. Ada banyak pilihan CNI seperti Calico, Flannel, Weave Net, dsb. Setelah node control plane terinisialisasi, pasang CNI pilihan Anda biasanya dengan menjalankan perintah kubectl apply -f dari file YAML yang disediakan oleh proyek CNI tersebut.
Menambahkan Node Worker
Setelah control plane siap dan CNI terpasang, Anda bisa menambahkan server lain sebagai node worker. Di setiap calon node worker, jalankan perintah kubeadm join yang didapat dari output command kubeadm init sebelumnya di node control plane. Perintah ini akan mendaftarkan server tersebut ke klaster, memungkinkan control plane menjadwalkan pod di server ini. Pastikan semua server bisa saling berkomunikasi di jaringan.
Sumber: https://kifarunix.com/install-and-setup-kubernetes-cluster-on-rhel-9/