Jumat, 15 Maret 2024

Cara Install Kubernetes di AlmaLinux 9


Pada panduan hari ini, Anda akan belajar cara menginstal Kubernetes Cluster pada AlmaLinux 9 langkah demi langkah.

Kubernetes, juga dikenal sebagai K8s, adalah platform orkestrasi kontainer sumber terbuka. Cloud Native Computing Foundation (CNCF) saat ini bertanggung jawab atas pemeliharaannya setelah dikembangkan oleh Google. Banyak bisnis dan organisasi mengandalkan Kubernetes untuk menjalankan aplikasi berbasis cloud mereka.

Kubernetes Cluster terutama terdiri dari satu node master dan banyak node pekerja. Node pekerja bertanggung jawab atas pengoperasian kontainer dan menyelesaikan tugas yang diberikan oleh node master.

Node master bertanggung jawab atas menjalankan tugas seperti penjadwalan dan penskalaan aplikasi, menjaga status cluster, dan menerapkan pembaruan ke dalam tindakan.

Selain itu, Kubernetes dibangun di atas serangkaian primitif atau blok bangunan, seperti layanan, pod, penempatan, dan sebagainya. Blok bangunan ini menjelaskan bagaimana kontainer Anda dalam cluster dikelompokkan, dijadwalkan, diekspos, dan diperbarui.

Alat dan Bahan

  • Instal dua server AlmaLinux, satu untuk node master dan satu lagi untuk node pekerja.
  • Minimal 2 GB RAM, 2 vCPU, dan 20 GB ruang disk pada kedua server.
  • Hak sudo atau root.
  • Koneksi internet.

Menginstal Kubernetes Cluster pada AlmaLinux

Instalasi Kubernetes melibatkan penyiapan sistem operasi dan mendapatkan dependensi yang diperlukan untuk konfigurasi cluster. Langkah-langkah dalam tutorial ini menjelaskan bagaimana mempersiapkan workstation AlmaLinux Anda untuk penyebaran cluster Kubernetes.

Catatan: Lakukan setiap langkah dalam panduan ini pada kedua node yang ingin Anda tambahkan ke dalam cluster Kubernetes.

Langkah 1: Konfigurasi Nama Host dan Berkas Host

Node cluster Kubernetes harus memiliki nama host yang berbeda. Ubah nama host mesin master dan pekerja Anda dengan melakukan dua prosedur di bawah ini pada setiap node:

Jalankan perintah hostnamectl untuk mengatur nama host untuk kedua node:

$ sudo hostnamectl set-hostname [nama-host]

Selanjutnya, buka file /etc/hosts dan tambahkan parameter berikut:

[ip-node-master] [nama-host-node-master]

[ip-node-pekerja] [nama-host-node-pekerja]

Untuk menghindari kebingungan di masa depan, pastikan pola penamaan logis. Pengaturan di bawah ini, misalnya, menunjukkan nama dan IP masing-masing untuk node master dan node pekerja:

Langkah 2: Konfigurasi SELinux dan Firewall

Konfigurasikan izin SELinux dan tambahkan port yang diperlukan ke daftar pengecualian firewall untuk mengaktifkan lalu lintas jaringan tanpa gangguan antara node cluster.

Untuk memulai, atur mode SELinux menjadi permissive pada setiap node dengan menggunakan perintah berikut:

$ sudo setenforce 0

$ sudo sed -i --follow-symlinks 's/SELINUX=enforcing/SELINUX=permissive/g' /etc/sysconfig/selinux

Untuk mengonfirmasi perubahan dalam SELinux, jalankan:

$ sudo sestatus

Izinkan port berikut dalam firewall pada node master.

$ sudo firewall-cmd --permanent --add-port={6443,2379,2380,10250,10251,10252,10257,10259,179}/tcp

$ sudo firewall-cmd --permanent --add-port=4789/udp

$ sudo firewall-cmd --reload

Pada node pekerja, izinkan port berikut dalam firewall.

$ sudo firewall-cmd --permanent --add-port={179,10250,30000-32767}/tcp

$ sudo firewall-cmd --permanent --add-port=4789/udp

$ sudo firewall-cmd --reload

Langkah 3: Nonaktifkan Memori Swap pada Setiap Node

Menjalankan node dengan swap yang diaktifkan berdampak pada kinerja cluster. Nonaktifkan memori swap pada AlmaLinux dengan menjalankan perintah berikut, seperti yang ditunjukkan:

$ sudo swapoff -a

$ sudo sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab

Langkah 4: Tambahkan Modul Kernel dan Aktifkan IP forwarding

Untuk instalasi Kubernetes yang berhasil, kita harus menambahkan modul kernel overlay dan br_netfilter pada setiap node. Buat file containerd.conf dengan konten berikut agar modul-modul ini dimuat secara otomatis saat reboot.

$ sudo tee /etc/modules-load.d/containerd.conf <<EOF

overlay

br_netfilter

EOF

Selanjutnya, muat modul-modul menggunakan perintah modprobe berikut.

$ sudo modprobe overlay

$ sudo modprobe br_netfilter

Sekarang, aktifkan IP forwarding dan bridge-nf-call-iptables pada setiap node. Buat file berikut dan tambahkan konten di bawah ini.

$ sudo vi /etc/sysctl.d/k8s.conf

net.bridge.bridge-nf-call-iptables  = 1

net.ipv4.ip_forward                 = 1

net.bridge.bridge-nf-call-ip6tables = 1

Simpan dan keluar dari file. Untuk menerapkan perubahan di atas, jalankan perintah sysctl berikut.

$ sudo sysctl --system

Langkah 5: Instalasi Runtime Containerd

Kubernetes Cluster membutuhkan runtime kontainer, dan containerd adalah salah satu opsi paling umum. Namun, ini tidak tersedia dalam repositori paket default AlmaLinux; oleh karena itu, tambahkan repositori Docker berikut ke setiap node.

$ sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.rep

Sekarang, gunakan utilitas perintah dnf untuk menginstal containerd pada setiap node.

$ sudo dnf install containerd.io -y

Selanjutnya, konfigurasikan containerd agar dapat menggunakan driver systemdgroup. Untuk mencapai itu, jalankan perintah berikut pada kedua node:

$ 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

Aktifkan dan restart layanan containerd menggunakan perintah di bawah ini:

$ sudo systemctl restart containerd

$ sudo systemctl enable containerd

Untuk memeriksa apakah layanan containerd berjalan, jalankan

$ sudo systemctl status containerd

Langkah 6: Instalasi Alat Kubernetes

Kubernetes berisi tiga alat utama, termasuk kubeadm, yang mencakup alat inisialisasi cluster: agen node utama, kubelet, dan alat baris perintah Kubernetes, kubectl.

Alat-alat ini tidak tersedia dalam repositori paket default AlmaLinux 9. Jadi, instal alat-alat ini dengan menambahkan repositori berikut ke setiap node.

$ cat <<EOF | sudo tee /etc/yum.repos.d/kubernetes.repo

[kubernetes]

name=Kubernetes

baseurl=https://pkgs.k8s.io/core:/stable:/v1.28.3/rpm/

enabled=1

gpgcheck=1

gpgkey=https://pkgs.k8s.io/core:/stable:/v1.28.3/rpm/repodata/repomd.xml.key

exclude=kubelet kubeadm kubectl cri-tools kubernetes-cni

EOF

Catatan: Pada saat penulisan, Kubernetes 1.28 tersedia, itulah mengapa saya sebutkan v1.28 saat menambahkan repo.

Kemudian, jalankan perintah dnf untuk menginstal alat-alat Kubernetes:

$ sudo yum install -y kubelet kubeadm kubectl --disableexcludes=kubernetes

Sekarang, aktifkan layanan alat Kubernetes pada setiap node agar dapat memulai saat boot:

$ sudo systemctl enable --now kubelet

Langkah 7: Menginstal Kubernetes Cluster pada Alma Linux 9

Sekarang kita dapat menyiapkan cluster Kubernetes. Jalankan perintah kubeadm dari node master untuk memulai cluster Kubernetes.

$ sudo kubeadm init --control-plane-endpoint=master.alma-k8s.com

Selanjutnya, selesaikan konfigurasi cluster pada node master dengan menjalankan perintah berikut:

$ mkdir -p $HOME/.kube

$ sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config

$ sudo chown $(id -u):$(id -g) $HOME/.kube/config

Sekarang, mari gabungkan node pekerja ke dalam cluster. Untuk mencapai itu, jalankan perintah kubeadm dari node pekerja seperti yang ditunjukkan:

$ sudo kubeadm join master.alma-k8s.com:6443 --token b8sf4t.1412n5xxj7xy79jk --discovery-token-ca-cert-hash sha256:018cfa8e18602cfd6670f81be7095605d2ba90c6793b7469e945dbb4

Izinkan node bergabung ke dalam cluster sementara Anda menunggu. Ketika proses selesai, pesan pop akan muncul, menunjukkan node telah bergabung ke dalam cluster.

Langkah 8: Instalasi Ekstensi Jaringan Calico

Calico Network adalah ekstensi yang diperlukan pada cluster Kubernetes untuk mengaktifkan konektivitas pod, membuat layanan DNS berinteraksi dengan cluster, dan menetapkan status node menjadi Siap.

Jalankan perintah berikut hanya dari node master untuk menginstal Calico CNI (Container Network Interface).

$ sudo kubectl apply -f https://raw.githubusercontent.com/projectcalico/calico/v3.26.4/manifests/calico.yaml

Periksa status pod calico:

$ sudo kubectl get pods -n kube-system -l k8s-app=calico-node

Selanjutnya, periksa status node; kali ini, status node harus menunjukkan Siap.

Kesimpulan

Ini menyimpulkan tutorial komprehensif kami tentang menginstal Kubernetes Cluster pada AlmaLinux 9. Kami harap tutorial kami informatif dan telah memberi Anda pemahaman yang diperlukan tentang cara menggunakan node master dan pekerja untuk menyiapkan dan memelihara cluster Kubernetes.

0 komentar:

Posting Komentar