GNU/Linux >> Belajar Linux >  >> Rocky Linux

Cara Install Cluster Kubernetes di Rocky Linux 8

Halo teknisi, seperti yang kita ketahui Kubernetes (k8s) adalah sistem orkestrasi kontainer sumber terbuka dan gratis. Ini digunakan untuk mengotomatisasi penyebaran dan pengelolaan aplikasi kemas. Dalam panduan ini, kita akan membahas cara menginstal kubernetes cluster di Rocky Linux 8 dengan kubeadm langkah demi langkah.

Persyaratan Sistem Minimum untuk Kubernetes

  • 2 vCPU atau lebih
  • RAM 2 GB atau lebih
  • Tukar dinonaktifkan
  • Setidaknya kartu NIC
  • Koneksi Internet Stabil
  • Satu pengguna biasa dengan hak istimewa sudo.

Untuk demonstrasi, saya menggunakan sistem berikut

  • Sekali Master Node / Control Plane (RAM 2 GB, 2vCPU, 1 Kartu NIC, Minimal Rocky Linux 8 OS)
  • Dua Node Pekerja (RAM 2GB, 2vCPU, 1 Kartu NIC, Minimal Rocky Linux 8 OS)
  • Hostname dari Master Node – control-node (192.168.1.240)
  • Nama Inang dari Node Kerja – pekerja-node1(192.168.1.241), pekerja-node2(192.168.1.242)

Tanpa basa-basi lagi, mari selami langkah-langkah penginstalan Kubernetes.

Catatan:Langkah-langkah ini juga berlaku untuk RHEL 8 dan AlmaLinux OS.

Langkah 1) Setel Hostname dan perbarui file host

Gunakan perintah hostnamectl untuk mengatur nama host pada node kontrol dan node pekerja.

Jalankan di bawah perintah pada simpul kontrol

$ sudo hostnamectl set-hostname "control-node"$ exec bash

Jalankan perintah berikut pada node1 pekerja

$ sudo hostnamectl set-hostname "worker-node1"$ exec bash

Node pekerja 2

$ sudo hostnamectl set-hostname "worker-node2"$ exec bash

Tambahkan entri berikut di file /etc/hosts masing-masing pada node kontrol dan pekerja.

192.168.1.240   control-node192.168.1.241   worker-node1192.168.1.242   worker-node2

Langkah 2) Nonaktifkan Swap dan Setel SELinux dalam mode permisif

Nonaktifkan swap, agar kubelet dapat bekerja dengan baik. Jalankan perintah di bawah ini pada semua node untuk menonaktifkannya,

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

Jalankan di bawah perintah sed pada semua node untuk mengatur SELinux dalam mode permisif

$ sudo setenforce 0$ sudo sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config

Langkah 3) Konfigurasi Aturan Firewall pada Node Master dan Worker

Pada bidang kontrol, port berikut harus diizinkan di firewall.

Untuk mengizinkan port di atas dalam bidang kontrol, jalankan

$ sudo firewall-cmd --permanent --add-port=6443/tcp$ sudo firewall-cmd --permanent --add-port=2379-2380/tcp$ sudo firewall-cmd --permanent --add -port=10250/tcp$ sudo firewall-cmd --permanent --add-port=10251/tcp$ sudo firewall-cmd --permanent --add-port=10252/tcp$ sudo firewall-cmd --reload$ sudo modprobe br_netfilter$ sudo sh -c "echo '1'> /proc/sys/net/bridge/bridge-nf-call-iptables"$ sudo sh -c "echo '1'> /proc/sys/net/ipv4/ ip_forward"

Pada Node pekerja, port berikut harus diizinkan di firewall

$ sudo firewall-cmd --permanent --add-port=10250/tcp$ sudo firewall-cmd --permanent --add-port=30000-32767/tcp                                    $ br_netfilter$ sudo sh -c "echo '1'> /proc/sys/net/bridge/bridge-nf-call-iptables"$ sudo sh -c "echo '1'> /proc/sys/net/ipv4/ip_forward "

Langkah 4) Instal Docker di Node Master dan Worker

Instal Docker pada node master dan pekerja. Di sini buruh pelabuhan akan menyediakan container run time (CRI). Untuk menginstal docker terbaru, pertama-tama kita harus mengaktifkan repositorinya dengan menjalankan perintah berikut.

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

Sekarang, jalankan perintah dnf di bawah ini pada semua node untuk menginstal docker-ce (edisi komunitas buruh pelabuhan)

$ sudo dnf install docker-ce -y

Keluaran

Setelah buruh pelabuhan dan dependensinya diinstal, mulailah dan aktifkan layanannya dengan menjalankan perintah berikut

$ sudo systemctl start docker$ sudo systemctl enable docker

Langkah 5) Instal kubelet, Kubeadm dan kubectl

Kubeadm adalah utilitas di mana kita akan menginstal cluster Kubernetes. Kubectl adalah utilitas baris perintah yang digunakan untuk berinteraksi dengan cluster Kubernetes. Kubelet adalah komponen yang akan menjalankan semua node dan akan melakukan tugas awal seperti memulai dan menghentikan pod atau container.

Untuk menginstal kubelet, Kubeadm dan kubectl di semua node, pertama-tama kita harus mengaktifkan repositori Kubernetes.

Lakukan perintah di bawah pada node master dan pekerja.

$ kucing < 

Setelah menginstal paket-paket di atas, aktifkan layanan kubelet di semua node (node ​​kontrol dan pekerja), jalankan

$ sudo systemctl aktifkan --now kubelet

Langkah 6) Instal Cluster Kubernetes dengan Kubeadm

Saat menginstal cluster Kubernetes, kita harus memastikan bahwa cgroup container run time (CRI) cocok dengan cgroup kubelet. Biasanya, di Docker, cgroup adalah cgroupfs, jadi kita harus menginstruksikan Kubeadm untuk menggunakan cgroupfs sebagai cgoup dari kubelet. Ini dapat dilakukan dengan melewatkan yaml di perintah Kubeadm,

Buat file kubeadm-config.yaml pada control plane dengan konten berikut

$ vi kubeadm-config.yaml# kubeadm-config.yamlkind:ClusterConfigurationapiVersion:kubeadm.k8s.io/v1beta3kubernetesVersion:v1.23.4--kind:KubeletConfigurationapiVersion:kubelet.config.k8s.io/v1beta1cgroupDriver:pre cgroupfsDriver:> 

Catatan:Ganti versi Kubernetes sesuai pengaturan Anda.

Sekarang, kita siap untuk menginstal (atau menginisialisasi cluster), jalankan di bawah perintah Kubeadm dari node kontrol,

$ sudo kubeadm init --config kubeadm-config.yaml

Output dari perintah di atas akan terlihat seperti di bawah ini,

Output di atas mengonfirmasi bahwa cluster telah berhasil diinisialisasi.

Jalankan perintah berikut untuk memungkinkan pengguna biasa berinteraksi dengan cluster, perintah ini sudah ada di output.

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

Untuk membuat node dalam keadaan siap dan untuk mengaktifkan layanan cluster dns (coredns), instal ad-on jaringan pod (CNI – Antarmuka Jaringan Kontainer). Pod akan mulai berkomunikasi satu sama lain setelah ad-on jaringan pod diinstal. Dalam panduan ini, saya menginstal calico sebagai ad-on jaringan. Jalankan di bawah perintah kubectl dari control-plane.

$ kubectl apply -f https://docs.projectcalico.org/v3.22/manifests/calico.yaml

Keluaran

Setelah berhasil menginstal ad-on jaringan calico, node kontrol dan pod di namespace kube-system akan siap dan tersedia masing-masing.

Sekarang, langkah selanjutnya adalah menggabungkan node pekerja ke cluster.

Langkah 7) Bergabung dengan Worker Nodes ke Cluster

Setelah inisialisasi cluster Kubernetes berhasil, perintah untuk menggabungkan node pekerja ke cluster ditampilkan di output. Jadi, salin perintah itu dan tempel di node pekerja. Jadi, dalam kasus saya perintahnya adalah,

$ sudo kubeadm join 192.168.1.240:6443 --token jecxxg.ac3d3rpd4a7xbxx4 --discovery-token-ca-cert-hash sha256:1e4fbed060aafc564df75bc776c18f6787ab91685859e74d43449d86 

Jalankan perintah di atas pada kedua node pekerja.

Verifikasi status kedua node pekerja dari bidang kontrol, jalankan

 [[email terlindungi] ~] $ KUBECTL Dapatkan NodesName Status peran Umur VersiControl-Node Ready Control-Plane, Master 49m v1.23.4Worker-Node1 Ready  5M18S V1 Siap  

Bagus, output di atas mengonfirmasi bahwa node pekerja telah bergabung dengan cluster. Itu saja dari panduan ini, saya harap Anda menemukan panduan ini informatif. Silakan bagikan pertanyaan dan umpan balik Anda di bagian komentar di bawah ini.


No
Rocky Linux
  1. Cara Menginstal MariaDB 10.6 di Rocky Linux 8

  2. Cara Menginstal Docker di Rocky Linux 8

  3. Cara Menginstal MariaDB di Rocky Linux 8

  1. Cara Menginstal Cockpit di Rocky Linux 8

  2. Cara Menginstal GitLab di Rocky Linux 8

  3. Cara Instal Rocky Linux 8.4

  1. Cara Instal FreeIPA di Rocky Linux 8

  2. Cara Menginstal Podman di Rocky Linux 8

  3. Cara Menginstal Flatpak di Rocky Linux 8