{"id":105,"date":"2024-03-16T02:05:00","date_gmt":"2024-03-16T02:05:00","guid":{"rendered":"https:\/\/emka.web.id\/tutorial\/2024\/03\/16\/cara-install-kubernetes-di-almalinux-9\/"},"modified":"2024-03-16T02:05:00","modified_gmt":"2024-03-16T02:05:00","slug":"cara-install-kubernetes-di-almalinux-9","status":"publish","type":"post","link":"https:\/\/emka.web.id\/en\/2024\/03\/cara-install-kubernetes-di-almalinux-9.html","title":{"rendered":"Cara Install Kubernetes di AlmaLinux 9"},"content":{"rendered":"<\/p>\n<div style=\"clear: both;text-align: center\"><a href=\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEjeASZIysO2fV9wMj0T2x-F6D0wHLwjK3MNnswMD8Iakpht6g21p2DTeWZlyaceCohM8ksHagNK3fzRtWzLWKATdwVeiMbJHELrvlNTf_u0Cv-9ttlPTCiRgCtdriJ11QLDEmUrTuaOsIjzeb_l75-v0XA3jpszqSU_02gY6NV8ZKa4uQEUNn4_9p5QLfY\/s168\/kubernetes.png\" style=\"margin-left: 1em;margin-right: 1em\"><img loading=\"lazy\" decoding=\"async\" border=\"0\" data-original-height=\"163\" data-original-width=\"168\" height=\"388\" src=\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEjeASZIysO2fV9wMj0T2x-F6D0wHLwjK3MNnswMD8Iakpht6g21p2DTeWZlyaceCohM8ksHagNK3fzRtWzLWKATdwVeiMbJHELrvlNTf_u0Cv-9ttlPTCiRgCtdriJ11QLDEmUrTuaOsIjzeb_l75-v0XA3jpszqSU_02gY6NV8ZKa4uQEUNn4_9p5QLfY\/w400-h388\/kubernetes.png\" width=\"400\" \/><\/a><\/div>\n<p>Pada panduan hari ini, Anda akan belajar cara menginstal Kubernetes Cluster pada AlmaLinux 9 langkah demi langkah.<\/p>\n<p>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.<span><\/span><\/p>\n<p><a name=\"more\"><\/a><\/p>\n<p>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.<\/p>\n<p>Node master bertanggung jawab atas menjalankan tugas seperti penjadwalan dan penskalaan aplikasi, menjaga status cluster, dan menerapkan pembaruan ke dalam tindakan.<\/p>\n<p>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.<\/p>\n<p>Alat dan Bahan<\/p>\n<\/p>\n<ul style=\"text-align: left\">\n<li>Instal dua server AlmaLinux, satu untuk node master dan satu lagi untuk node pekerja.<\/li>\n<li>Minimal 2 GB RAM, 2 vCPU, dan 20 GB ruang disk pada kedua server.<\/li>\n<li>Hak sudo atau root.<\/li>\n<li>Koneksi internet.<\/li>\n<\/ul>\n<h3 style=\"text-align: left\">Menginstal Kubernetes Cluster pada AlmaLinux<\/h3>\n<p>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.<\/p>\n<p><i>Catatan: Lakukan setiap langkah dalam panduan ini pada kedua node yang ingin Anda tambahkan ke dalam cluster Kubernetes.<\/i><\/p>\n<h4 style=\"text-align: left\">Langkah 1: Konfigurasi Nama Host dan Berkas Host<\/h4>\n<p>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:<\/p>\n<p>Jalankan perintah hostnamectl untuk mengatur nama host untuk kedua node:<\/p>\n<p><span style=\"font-family: courier\">$ sudo hostnamectl set-hostname [nama-host]<\/span><\/p>\n<p>Selanjutnya, buka file \/etc\/hosts dan tambahkan parameter berikut:<\/p>\n<p><span style=\"font-family: courier\">[ip-node-master] [nama-host-node-master]<\/span><\/p>\n<p><span style=\"font-family: courier\">[ip-node-pekerja] [nama-host-node-pekerja]<\/span><\/p>\n<p>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:<\/p>\n<h4 style=\"text-align: left\">Langkah 2: Konfigurasi SELinux dan Firewall<\/h4>\n<p>Konfigurasikan izin SELinux dan tambahkan port yang diperlukan ke daftar pengecualian firewall untuk mengaktifkan lalu lintas jaringan tanpa gangguan antara node cluster.<\/p>\n<p>Untuk memulai, atur mode SELinux menjadi permissive pada setiap node dengan menggunakan perintah berikut:<\/p>\n<p><span style=\"font-family: courier\">$ sudo setenforce 0<\/span><\/p>\n<p><span style=\"font-family: courier\">$ sudo sed -i &#8211;follow-symlinks &#8216;s\/SELINUX=enforcing\/SELINUX=permissive\/g&#8217; \/etc\/sysconfig\/selinux<\/span><\/p>\n<p>Untuk mengonfirmasi perubahan dalam SELinux, jalankan:<\/p>\n<p><span style=\"font-family: courier\">$ sudo sestatus<\/span><\/p>\n<p>Izinkan port berikut dalam firewall pada node master.<\/p>\n<p><span style=\"font-family: courier\">$ sudo firewall-cmd &#8211;permanent &#8211;add-port={6443,2379,2380,10250,10251,10252,10257,10259,179}\/tcp<\/span><\/p>\n<p><span style=\"font-family: courier\">$ sudo firewall-cmd &#8211;permanent &#8211;add-port=4789\/udp<\/span><\/p>\n<p><span style=\"font-family: courier\">$ sudo firewall-cmd &#8211;reload<\/span><\/p>\n<p>Pada node pekerja, izinkan port berikut dalam firewall.<\/p>\n<p><span style=\"font-family: courier\">$ sudo firewall-cmd &#8211;permanent &#8211;add-port={179,10250,30000-32767}\/tcp<\/span><\/p>\n<p><span style=\"font-family: courier\">$ sudo firewall-cmd &#8211;permanent &#8211;add-port=4789\/udp<\/span><\/p>\n<p><span style=\"font-family: courier\">$ sudo firewall-cmd &#8211;reload<\/span><\/p>\n<h4 style=\"text-align: left\">Langkah 3: Nonaktifkan Memori Swap pada Setiap Node<\/h4>\n<p>Menjalankan node dengan swap yang diaktifkan berdampak pada kinerja cluster. Nonaktifkan memori swap pada AlmaLinux dengan menjalankan perintah berikut, seperti yang ditunjukkan:<\/p>\n<p><span style=\"font-family: courier\">$ sudo swapoff -a<\/span><\/p>\n<p><span style=\"font-family: courier\">$ sudo sed -i &#8216;\/ swap \/ s\/^(.*)$\/#1\/g&#8217; \/etc\/fstab<\/span><\/p>\n<h4 style=\"text-align: left\">Langkah 4: Tambahkan Modul Kernel dan Aktifkan IP forwarding<\/h4>\n<p>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.<\/p>\n<p><span style=\"font-family: courier\">$ sudo tee \/etc\/modules-load.d\/containerd.conf &lt;&lt;EOF<\/span><\/p>\n<p><span style=\"font-family: courier\">overlay<\/span><\/p>\n<p><span style=\"font-family: courier\">br_netfilter<\/span><\/p>\n<p><span style=\"font-family: courier\">EOF<\/span><\/p>\n<p>Selanjutnya, muat modul-modul menggunakan perintah modprobe berikut.<\/p>\n<p><span style=\"font-family: courier\">$ sudo modprobe overlay<\/span><\/p>\n<p><span style=\"font-family: courier\">$ sudo modprobe br_netfilter<\/span><\/p>\n<p>Sekarang, aktifkan IP forwarding dan bridge-nf-call-iptables pada setiap node. Buat file berikut dan tambahkan konten di bawah ini.<\/p>\n<p><span style=\"font-family: courier\">$ sudo vi \/etc\/sysctl.d\/k8s.conf<\/span><\/p>\n<p><span style=\"font-family: courier\">net.bridge.bridge-nf-call-iptables&nbsp; = 1<\/span><\/p>\n<p><span style=\"font-family: courier\">net.ipv4.ip_forward&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= 1<\/span><\/p>\n<p><span style=\"font-family: courier\">net.bridge.bridge-nf-call-ip6tables = 1<\/span><\/p>\n<p>Simpan dan keluar dari file. Untuk menerapkan perubahan di atas, jalankan perintah sysctl berikut.<\/p>\n<p><span style=\"font-family: courier\">$ sudo sysctl &#8211;system<\/span><\/p>\n<h4 style=\"text-align: left\">Langkah 5: Instalasi Runtime Containerd<\/h4>\n<p>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.<\/p>\n<p><span style=\"font-family: courier\">$ sudo dnf config-manager &#8211;add-repo https:\/\/download.docker.com\/linux\/centos\/docker-ce.rep<\/span><\/p>\n<p>Sekarang, gunakan utilitas perintah dnf untuk menginstal containerd pada setiap node.<\/p>\n<p><span style=\"font-family: courier\">$ sudo dnf install containerd.io -y<\/span><\/p>\n<p>Selanjutnya, konfigurasikan containerd agar dapat menggunakan driver systemdgroup. Untuk mencapai itu, jalankan perintah berikut pada kedua node:<\/p>\n<p><span style=\"font-family: courier\">$ containerd config default | sudo tee \/etc\/containerd\/config.toml &gt;\/dev\/null 2&gt;&amp;1<\/span><\/p>\n<p><span style=\"font-family: courier\">$ sudo sed -i &#8216;s\/SystemdCgroup = false\/SystemdCgroup = true\/g&#8217; \/etc\/containerd\/config.toml<\/span><\/p>\n<p>Aktifkan dan restart layanan containerd menggunakan perintah di bawah ini:<\/p>\n<p><span style=\"font-family: courier\">$ sudo systemctl restart containerd<\/span><\/p>\n<p><span style=\"font-family: courier\">$ sudo systemctl enable containerd<\/span><\/p>\n<p>Untuk memeriksa apakah layanan containerd berjalan, jalankan<\/p>\n<p><span style=\"font-family: courier\">$ sudo systemctl status containerd<\/span><\/p>\n<h4 style=\"text-align: left\">Langkah 6: Instalasi Alat Kubernetes<\/h4>\n<p>Kubernetes berisi tiga alat utama, termasuk kubeadm, yang mencakup alat inisialisasi cluster: agen node utama, kubelet, dan alat baris perintah Kubernetes, kubectl.<\/p>\n<p>Alat-alat ini tidak tersedia dalam repositori paket default AlmaLinux 9. Jadi, instal alat-alat ini dengan menambahkan repositori berikut ke setiap node.<\/p>\n<p><span style=\"font-family: courier\">$ cat &lt;&lt;EOF | sudo tee \/etc\/yum.repos.d\/kubernetes.repo<\/span><\/p>\n<p><span style=\"font-family: courier\">[kubernetes]<\/span><\/p>\n<p><span style=\"font-family: courier\">name=Kubernetes<\/span><\/p>\n<p><span style=\"font-family: courier\">baseurl=https:\/\/pkgs.k8s.io\/core:\/stable:\/v1.28.3\/rpm\/<\/span><\/p>\n<p><span style=\"font-family: courier\">enabled=1<\/span><\/p>\n<p><span style=\"font-family: courier\">gpgcheck=1<\/span><\/p>\n<p><span style=\"font-family: courier\">gpgkey=https:\/\/pkgs.k8s.io\/core:\/stable:\/v1.28.3\/rpm\/repodata\/repomd.xml.key<\/span><\/p>\n<p><span style=\"font-family: courier\">exclude=kubelet kubeadm kubectl cri-tools kubernetes-cni<\/span><\/p>\n<p><span style=\"font-family: courier\">EOF<\/span><\/p>\n<p><i>Catatan: Pada saat penulisan, Kubernetes 1.28 tersedia, itulah mengapa saya sebutkan v1.28 saat menambahkan repo.<\/i><\/p>\n<p>Kemudian, jalankan perintah dnf untuk menginstal alat-alat Kubernetes:<\/p>\n<p><span style=\"font-family: courier\">$ sudo yum install -y kubelet kubeadm kubectl &#8211;disableexcludes=kubernetes<\/span><\/p>\n<p>Sekarang, aktifkan layanan alat Kubernetes pada setiap node agar dapat memulai saat boot:<\/p>\n<p><span style=\"font-family: courier\">$ sudo systemctl enable &#8211;now kubelet<\/span><\/p>\n<h4 style=\"text-align: left\">Langkah 7: Menginstal Kubernetes Cluster pada Alma Linux 9<\/h4>\n<p>Sekarang kita dapat menyiapkan cluster Kubernetes. Jalankan perintah kubeadm dari node master untuk memulai cluster Kubernetes.<\/p>\n<p><span style=\"font-family: courier\">$ sudo kubeadm init &#8211;control-plane-endpoint=master.alma-k8s.com<\/span><\/p>\n<p>Selanjutnya, selesaikan konfigurasi cluster pada node master dengan menjalankan perintah berikut:<\/p>\n<p><span style=\"font-family: courier\">$ mkdir -p $HOME\/.kube<\/span><\/p>\n<p><span style=\"font-family: courier\">$ sudo cp -i \/etc\/kubernetes\/admin.conf $HOME\/.kube\/config<\/span><\/p>\n<p><span style=\"font-family: courier\">$ sudo chown $(id -u):$(id -g) $HOME\/.kube\/config<\/span><\/p>\n<p>Sekarang, mari gabungkan node pekerja ke dalam cluster. Untuk mencapai itu, jalankan perintah kubeadm dari node pekerja seperti yang ditunjukkan:<\/p>\n<p><span style=\"font-family: courier\">$ sudo kubeadm join master.alma-k8s.com:6443 &#8211;token b8sf4t.1412n5xxj7xy79jk &#8211;discovery-token-ca-cert-hash sha256:018cfa8e18602cfd6670f81be7095605d2ba90c6793b7469e945dbb4<\/span><\/p>\n<p>Izinkan node bergabung ke dalam cluster sementara Anda menunggu. Ketika proses selesai, pesan pop akan muncul, menunjukkan node telah bergabung ke dalam cluster.<\/p>\n<h4 style=\"text-align: left\">Langkah 8: Instalasi Ekstensi Jaringan Calico<\/h4>\n<p>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.<\/p>\n<p>Jalankan perintah berikut hanya dari node master untuk menginstal Calico CNI (Container Network Interface).<\/p>\n<p><span style=\"font-family: courier\">$ sudo kubectl apply -f https:\/\/raw.githubusercontent.com\/projectcalico\/calico\/v3.26.4\/manifests\/calico.yaml<\/span><\/p>\n<p>Periksa status pod calico:<\/p>\n<p><span style=\"font-family: courier\">$ sudo kubectl get pods -n kube-system -l k8s-app=calico-node<\/span><\/p>\n<p>Selanjutnya, periksa status node; kali ini, status node harus menunjukkan Siap.<\/p>\n<h3 style=\"text-align: left\">Kesimpulan<\/h3>\n<p>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.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Pada panduan hari ini, Anda akan belajar cara menginstal Kubernetes Cluster pada AlmaLinux 9 langkah demi langkah. Kubernetes, juga dikenal sebagai K8s, adalah platform&#8230;<\/p>\n","protected":false},"author":27,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-105","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/emka.web.id\/en\/wp-json\/wp\/v2\/posts\/105","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/emka.web.id\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/emka.web.id\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/emka.web.id\/en\/wp-json\/wp\/v2\/users\/27"}],"replies":[{"embeddable":true,"href":"https:\/\/emka.web.id\/en\/wp-json\/wp\/v2\/comments?post=105"}],"version-history":[{"count":0,"href":"https:\/\/emka.web.id\/en\/wp-json\/wp\/v2\/posts\/105\/revisions"}],"wp:attachment":[{"href":"https:\/\/emka.web.id\/en\/wp-json\/wp\/v2\/media?parent=105"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/emka.web.id\/en\/wp-json\/wp\/v2\/categories?post=105"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/emka.web.id\/en\/wp-json\/wp\/v2\/tags?post=105"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}