cara install kubernetes featured image

Cara Install Kubernetes di CentOS 8

Pengembang aplikasi atau website yang terbiasa melakukan beberapa proyek sekaligus seringkali akan memilih cara yang lebih simpel, misalnya menggunakan sistem container. Tujuannya adalah agar tidak perlu mengeluarkan biaya berlebih untuk membeli beberapa server demi menjalankan proyeknya. Di artikel ini, kamu akan mempelajari cara install Kubernetes di server dengan CentOS 8.

Apa Itu Kubernetes

cara install kubernetes

Kubernetes adalah salah satu platform open-source untuk melakukan manajemen workloads atau container yang menggunakan bahasa pemrograman Go. Kubernetes didirikan oleh Google pada tahun 2014 berdasarkan pengalamannya dalam menjalankan workloads. Kemudian, Kubernetes dikelola oleh Cloud Native Computing Foundation.

Ada beberapa fitur Kubernetes yang bisa kamu manfaatkan, yaitu:

  • Container platform
  • Microservices platform
  • Self-monitoring
  • Container balancing

Berdasarkan segala fitur yang dimiliki dan cara kerjanya, Kubernetes dapat dikategorikan sebagai PaaS (Platform as a Service).

Persiapan

Sebelum memulai instalasinya, pastikan kamu sudah memenuhi persyaratan berikut:

  • 2 GB RAM
  • 2 CPU

Setelah itu, pastikan pula kamu mempersiapkan dua hal berikut ini:

  • 2 VPS dengan OS CentOS 8.
  • Root akses.

Cara Install Kubernetes di CentOS 8

Usai memenuhi persyaratan dan memiliki akses ke root, sekarang kamu bisa mulai mempelajari cara install Kubernetes di CentOS 8 dengan cara di bawah ini.

1. Update Packages CentOS 8

Pertama, kamu perlu memperbarui packages pada CentOS 8 terlebih dulu menggunakan perintah dnf, kemudian reboot server.

 

$ dnf update

$ reboot


Disable SELinux

 

$ setenforce 0

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

 

Aktifkan masquerading dan Virtual Extensible LAN (VxLAN) agar dapat menghubungkan Kubernetes dan Cluster.

 

$ modprobe br_netfilter

 

2. Install FirewallD

Jika firewall belum terinstal sama sekali, kamu bisa menggunakan FirewallD pada CentOS 8 menggunakan perintah di bawah ini.

 

$ dnf install firewalld -y

 

Setelah instalasi selesai, aktifkan dan start on-boot Firewalld.

 

$ systemctl enable firewalld

$ systemctl start firewalld

 

Setelah itu, gunakan perintah di bawah ini untuk melihat status firewalld.

 

$ systemctl status firewalld

 

  •  firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor p>

   Active: active (running) since Thu 2020-05-21 08:21:46 UTC; 4s ago

     Docs: man:firewalld(1)

 Main PID: 2366 (firewalld)

    Tasks: 2 (limit: 6071)

   Memory: 23.5M

   CGroup: /system.slice/firewalld.service

¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†‚ĒĒ‚ĒÄ2366 /usr/libexec/platform-python -s /usr/sbin/firewalld --nofork¬†

 

3. Enable IP Masquerade

Enable IP Masquerade pada Firewall yang digunakan, di sini kami menggunakan firewalld.

 

$ firewall-cmd --add-masquerade --permanent

$ firewall-cmd --reload

 

Set bridge packets untuk traverse pada iptables rules.

 

$ cat <<EOF > /etc/sysctl.d/k8s.conf

 

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

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

EOF


4. Load rules baru

 

$ sysctl --system

 

Disable semua swap memory untuk meningkatkan performa.

 

$ swapoff -a

5. Install Docker

Selanjutnya, kamu perlu melakukan instalasi Docker.

Add Repository

Tambahkan repository untuk instalasi paket Docker.

 

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

 

Install Container.io

 

$ dnf install https://download.docker.com/linux/centos/7/x86_64/stable/Packages/containerd.io-1.2.6-3.3.el7.x86_64.rpm

 

Install Docker dari repositories

 

$ dnf install docker-ce --nobest -y

 

Setelah instalasi selesai, enable dan start on-boot pada Docker.

 

$ systemctl enable docker

$ systemctl start docker

 

Untuk melihat status Docker, gunakan perintah di bawah ini.

 

$ systemctl status docker

 

[output]

 

Untuk melihat versi Docker, gunakan perintah berikut.

 

$ docker version

 

6. Install Kubernetes

Add Repository

Tambahkan Kubernetes Repository ke package manager dengan menggunakan file di bawah ini.

 

$ cat <<EOF > /etc/yum.repos.d/kubernetes.repo

 

[kubernetes]

name=Kubernetes

baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-$basearch

enabled=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.gpg

exclude=kubelet kubeadm kubectl

EOF


Update Repo Info

Setelah itu, perbarui informasi repo.

 

$ dnf upgrade -y

 

Install Components Kubernetes

Instal komponen yang dibutuhkan oleh Kubernetes.

 

$ dnf install -y kubelet kubeadm kubectl --disableexcludes=kubernetes

 

Setelah instalasi selesai, enable dan start on-boot pada Kubernetes.

 

$ systemctl enable kubelet

$ systemctl start kubelet

 

Cek status Kubernetes menggunakan perintah di bawah ini.

 

$ systemctl status kubelet

 

Konfigurasi Kubernetes

Setelah Kubernetes berhasil diinstal, kamu perlu mengonfigurasi Kubernetes pada Master Node.

 

Konfigurasi kubeadm

 

$ kubeadm config image pull

 

Buka port yang dibutuhkan oleh Kubernetes.

 

$ firewall-cmd --zone=public --permanent --add-port={6443,2379,2380,10250,10251,10252}/tcp

 

Izinkan akses Docker dari Node lain.

 

firewall-cmd --zone=public --permanent --add-rich-rule 'rule family=ipv4 source address=IP-Address/32 accept'

 

Pada font berwarna merah IP-Address, ubah dengan IP Address VPS atau server kamu. Setelah itu, izinkan akses ke host localhost dari Docker container.

 

$ firewall-cmd --zone=public --permanent --add-rich-rule 'rule family=ipv4 source address=172.17.0.0/16 accept'

 

Muat ulang rules baru.

 

$ firewall-cmd --reload

 

Install CNI

CNI (Container Network Interface) adalah plugin untuk Kubernetes, di sini kami akan menggunakan Calico.

 

$ kubeadm init --pod-network-cidr 192.168.0.0/16

 

Join token akan terlihat seperti di bawah ini.

 

kubeadm join 94.237.41.193:6443 --token 4xrp9o.v345aic7zc1bj8ba \

--discovery-token-ca-cert-hash sha256:b2e459930f030787654489ba7ccbc701c29b3b60e0aa4998706fe0052de8794c

 

Buat directory dan konfigurasi file.

 

$ mkdir -p $HOME/.kube

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

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

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

 

Aktifkan pod agar dapat berjalan pada Master Node.

 

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

 

Lakukan pengecekan pada Master Node yang sudah diaktifkan dan sudah berjalan.

 

$ kubectl get nodes

 

[output]

 

Konfigurasi Kubernetes pada Worker Node.

Simpulan

Kubernetes hingga saat ini masih menjadi sistem kontainer open-source favorit para developer karena kemudahan dan fitur yang ditawarkan. Selain itu, manfaat yang tak kalah berfungsi juga bisa menjadi pertimbangan jika kamu ingin mengembangkan aplikasi atau website, yang tentunya dengan akses ke root server.

Namun, ketika memilih server atau VPS, pastikan kamu memilih layanan yang cepat, aman, dan selalu bisa diandalkan dengan unlimited bandwidth, seperti Dewaweb. Jika ada saran atau pertanyaan, jangan sungkan untuk meninggalkan komentar di bawah ini atau menghubungi Ninja Support yang siap membantu kamu 24/7, ya.

Demikian artikel cara install Kubernetes di CentOS 8 ini, jangan sungkan untuk meninggalkan ide-ide topik yang ingin kamu baca di blog Dewaweb, ya. Semoga artikel ini membantu, salam sukses online!