Skip to content

emka.web.id

Menu
  • Home
  • Indeks Artikel
  • Tutorial
  • Tentang Kami
Menu

Cara Memasang Cluster Kubernetes (k8s) di RHEL 8

Posted on March 09, 2022 by Syauqi Wiryahasana

Juga dikenal sebagai k8s, Kubernetes adalah opensource, dan platform orkestrasi container portabel untuk mengotomatisasi penerapan dan pengelolaan aplikasi container. Kubernetes awalnya dibuat oleh Google dalam bahasa pemrograman Go. Saat ini, dikelola oleh Cloud Native Computing Foundation.

Dalam panduan ini, kami akan memandu Anda langkah demi langkah tentang cara menginstal kluster Kubernetes di RHEL 8. Kami akan mendemonstrasikannya menggunakan satu Master satu dan satu node pekerja yang kami akan ditambahkan ke node cluster.

Lab setup
Master kami:        master-node-k8        10.128.15.228Worker node:     worker-node-1-k8     10.128.15.230
CATATAN: Langkah 1 hingga 6 dan node pekerja harus diterapkan ke kedua node Master 1) Nonaktifkan swap space

Untuk kinerja terbaik, Kubernetes mengharuskan swap dinonaktifkan pada sistem host. Ini karena pertukaran memori dapat secara signifikan menyebabkan ketidakstabilan dan penurunan kinerja.

Untuk menonaktifkan ruang swap, jalankan perintah:
$ sudo swapoff -a
Untuk membuat perubahan tetap ada, edit file /etc/fstab dan hapus atau komentari baris dengan menukar entri dan menyimpan perubahan.

Step 2) Nonaktifkan SELinux

Selain itu, kita perlu menonaktifkan SELinux dan mengaturnya ke 'permisif' untuk memungkinkan komunikasi yang lancar antara node dan pod.

Untuk mencapai ini, buka file konfigurasi SELinux.
$ sudo vi /etc/selinux/config
Ubah nilai SELINUX dari enforcing menjadi permissive.
SELINUX=permissive
Atau, Anda menggunakan perintah sed sebagai berikut.
$ sudo sed -i 's/^SELINUX=enforcing$/SELINUX /etc=permissive /selinux/config
Step 3) Konfigurasi jaringan di master dan node pekerja

Beberapa konfigurasi jaringan tambahan diperlukan agar node master dan pekerja Anda dapat berkomunikasi secara efektif. Di setiap node, edit file  /etc/hosts.
$ sudo vi /etc/hosts
Selanjutnya, perbarui entri seperti yang ditunjukkan
10.128.15.228 master-node-k8 // Untuk node Master 10.128.15.230 worker-node-1- k8 // Untuk Worker node
Simpan dan keluar dari file konfigurasi. Selanjutnya, instal paket utilitas kontrol lalu lintas:
$ sudo dnf install -y iproute-tc
Step 4) Izinkan aturan firewall untuk k8s

Untuk komunikasi yang lancar antara node Master dan pekerja, Anda perlu mengonfigurasi firewall dan mengizinkan beberapa port dan layanan terkait seperti yang diuraikan bawah.

On Master node, izinkan port berikut,
$ 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
On node Pekerja, izinkan port berikut,
$ sudo firewall-cmd --permanent --add-port=10250/tcp $ sudo firewall-cmd --permanent --add-port=30000-32767/tcp $ sudo firewall-cmd --reload
Step 5) Instal CRI-O container runtime

Kubernetes membutuhkan container runtime agar pod dapat berjalan. Kubernetes 1.23 dan versi yang lebih baru mengharuskan Anda menginstal container runtime yang mengonfirmasi dengan Container Runtime Interface.

A Container Runtime adalah aplikasi yang mendukung container yang sedang berjalan. Kubernetes mendukung Container Runtime berikut:
ContainerdCRI-ODocker EngineMirantis Container Runtime
Dalam panduan ini, kita akan menginstal CRI-O yang merupakan runtime container tingkat tinggi. Untuk melakukannya, kita perlu mengaktifkan dua modul kernel penting – overlay dan br_netfilter modules.

Untuk mencapai ini, kita perlu mengkonfigurasi prasyarat sebagai berikut:

Pertama, buat file konfigurasi modul untuk Kubernetes.
$ sudo vi /etc/modules- load.d/k8s.conf
Tambahkan baris berikut dan simpan perubahannya .conf
Tambahkan baris berikut:
net.bridge.bridge-nf-call-iptables  = 1 net.ipv4.ip_forward               = 1 net.bridge.bridge-nf-call-ip6tables = 1
Simpan perubahan dan keluar. Untuk mengonfirmasi bahwa perubahan telah diterapkan, jalankan perintah:
$ sudo sysctl --system
Untuk menginstal CRI-O, setel variabel lingkungan $VERSION agar sesuai dengan versi CRI-O Anda. Misalnya, untuk menginstal CRI-O versi 1.21 atur $VERSION seperti yang ditunjukkan:
$ export VERSION=1.21
Selanjutnya, jalankan perintah berikut:
$ sudo curl -L -o /etc/yum.repos.d/devel:kubic :libcontainers:stable.repo https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/CentOS_8/devel:kubic:libcontainers:stable.repo$ sudo curl -L -o /etc/ yum.repos.d/devel:kubic:libcontainers:stable:cri-o:$VERSION.repo https://download.opensuse.org/repositories/devel:kubic:libcontainers:stable:cri-o:$VERSION/CentOS_8 /devel:kubic:libcontainers:stable:cri-o:$VERSION.repo
Kemudian gunakan manajer paket DNF untuk menginstal CRI-O:
$ sudo dnf install cri-o


Selanjutnya, aktifkan CRI-O saat boot dan mulai:
$ sudo systemctl enable cri-o $ sudo systemctl start cri-o
Langkah 6)  Instal Paket Kubernetes

Dengan semua yang diperlukan agar Kubernetes berfungsi, mari kita lanjutkan dan menginstal paket Kubernetes seperti kubelet, kubeadm dan kubectl. Buat file repositori Kubernetes.
$ sudo vi /etc/yum.repos.d/kubernetes.repo
Dan tambahkan baris berikut.
[kubernetes] name=Kubernetes baseurl=https://packages.cloud.google.com/yum/ repos/kubernetes-el7-x86_64 diaktifkan=1 gpgcheck=1 repo_gpgcheck=1 gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com /yum/doc/rpm-package-key.gpgexclude=kubelet kubeadm kubectl
Simpan perubahan dan keluar. Terakhir, instal paket k8s sebagai berikut.
$ sudo dnf install -y kubelet kubeadm kubectl --disableexcludes=kubernetes
Setelah terinstal, pastikan untuk mengaktifkan dan menjalankan layanan Kubelet.
$ sudo systemctl enable kubelet $ sudo systemctl start kubelet
, all set to install Kubernetes cluster.

Step 7)  Buat cluster Kubernetes

Kita akan menginisialisasi cluster Kubernetes menggunakan perintah kubeadm sebagai berikut. Ini akan menginisialisasi control plane di master node.
$ sudo kubeadm init --pod-network-cidr=192.168.10.0/16
Setelah control plane dibuat, Anda akan diminta untuk menjalankan beberapa perintah tambahan untuk mulai menggunakan cluster.



Oleh karena itu, jalankan perintah, secara berurutan.
$ mkdir -p $HOME/.kube $ sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config $ sudo chown $(id -u):$( id -g) $HOME/.kube/config
Di akhir output, Anda akan diberikan perintah untuk menjalankan node pekerja untuk bergabung dengan cluster. Kita akan membahasnya nanti di langkah berikutnya.

Juga, pastikan untuk menghapus taint dari master node:

$ kubectl taint nodes –all node-role.kubernetes.io/master-

Langkah 8)  Instal Calico Pod Network Add-on

The langkah selanjutnya adalah menginstal Calico CNI (Container Network Interface). Ini adalah proyek opensource yang digunakan untuk menyediakan jaringan dan keamanan kontainer. Setelah Menginstal Calico CNI, status node akan berubah menjadi status Ready, layanan DNS di dalam cluster akan berfungsi dan container dapat mulai berkomunikasi satu sama lain.

Calico menyediakan skalabilitas, performa tinggi, dan interoperabilitas dengan beban kerja Kubernetes yang ada. Itu dapat digunakan di tempat dan pada teknologi cloud populer seperti Google Cloud, AWS dan Azure.

Untuk menginstal Calico CNI, jalankan perintah berikut dari master node
$ kubectl create -f https://docs.projectcalico.org/manifests /tigera-operator.yaml
Setelah selesai, jalankan yang ini.
$ kubectl create -f https://docs.projectcalico.org/manifests/custom-resources.yaml
Untuk mengonfirmasi apakah pod sudah dimulai, jalankan perintah:
$ watch kubectl get pods -n calico-system
Anda akan melihat bahwa setiap pod 'READY' dan berstatus 'RUNNING' seperti yang ditunjukkan pada kolom ketiga.



Untuk memverifikasi ketersediaan master node di cluster, jalankan perintah:
$ kubectl get nodes


, Anda dapat mengambil lebih banyak informasi menggunakan -o wide options.
$ kubectl get node -o wide


Output di atas mengkonfirmasi bahwa master node sudah siap. Selain itu, Anda dapat memeriksa pod namespaces:
$ kubectl get pods --all-namespaces


Step 9) Menambahkan node pekerja ke cluster

Untuk menambahkan node pekerja ke cluster Kubernetes, ikuti langkah 1 hingga Langkah 6.  Setelah selesai, jalankan perintah yang dihasilkan oleh node master untuk menggabungkan node pekerja ke cluster. Dalam kasus kami, ini akan menjadi:
$ sudo kubeadm join 10.128.15.228:6443 --token cqb8vy.iicmmqrb1m8u9cob --discovery-token-ca-cert-hash sha256:79748a56f603e6cc57f67bf90b7db5aebe09601 telah bergabung dengan cluster. Ulangi prosedur yang sama untuk node lain jika Anda memiliki beberapa node pekerja



Sekarang, kembali ke master node dan, sekali lagi, verifikasi node di cluster Anda. Kali ini, node pekerja akan muncul dalam daftar pada node di cluster,
$ kubectl get nodes

Conclusion
Itu adalah panduan tentang bagaimana Anda dapat menginstal Cluster Kubernetes di RHEL 8. Tanggapan Anda tentang panduan ini sangat diharapkan.
Seedbacklink

Recent Posts

TENTANG EMKA.WEB>ID

EMKA.WEB.ID adalah blog seputar teknologi informasi, edukasi dan ke-NU-an yang hadir sejak tahun 2011. Kontak: kontak@emka.web.id.

©2024 emka.web.id Proudly powered by wpStatically