Avatar
Cover

Cara Install dan Konfigurasi Kubernetes di CentOS

Tentang BlabakHubungi Blabak Login

Kategori

ActionAnother actionSomething else hereSeparated link

Submit

  • Yusuf
  • 133

Cara Install dan Konfigurasi Kubernetes di CentOS

Oleh Yusuf - 28 Juli 2021

Kubernetes adalah platform open source untuk mengelola teknologi container seperti Docker.

Dengan Docker memungkinkan kita untuk dapat container yang berisikan konfigurasi OS beserta aplikasi. Kubernetes menyediakan untuk mendistribusikakan beberapa container tersebut ke beberapa server dalam cluster.

Pada artikel ini akan memandu Anda untuk dapat install kubernetes pada server CentOS 7.

Asumsi

Pada artikel ini akan digunakan 3 server, dimana 1 server sebagai master, dan 2 server sebagai worker.

  • Node Master : berfungsi sebagai controller dimana node tersebut akan mengatur container ditempatkan, API, dan availability container.
  • Node Worker : berfungsi untuk menjalankan container, atau disebut juga sebagai pods.

Disemua Node (Node Master dan Node Worker)

Jalankan command-command berikut pada masing-masing node, baik node master maupun node worker.

Buat user

Buat user administrator untuk melakukan setup kubernetes ini, usahakan sebisa mungkin dalam melakukan setup atau konfigurasi kita tidak menggunakan user root.

useradd simin
usermod -aG wheel simin
passwd simin
#masukkan password yg diinginkan

Setelah password berhasil dibuat, login menggunakan user tersebut.

Ubah hostname

Rubah hostname pada masing-masing node sesuai tabel diatas. Berikut contoh command untuk node master:

sudo hostnamectl set-hostname master-node

Setting Firewall

Di node master:

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 --permanent --add-port=10255/tcp
sudo firewall-cmd --reload

Tiap kali port ditambahkan, akan memuncuklak konfirmasi berupa pesan success.

Di node worker

sudo firewall-cmd --permanent --add-port=10251/tcp
sudo firewall-cmd --permanent --add-port=10255/tcp
sudo firewall-cmd --reload

Disable swap

sudo swapoff -a; sudo sed -i '/swap/d' /etc/fstab

Disable selinux

sudo setenforce 0
sudo sed -i --follow-symlinks 's/^SELINUX=enforcing/SELINUX=disabled/' /etc/sysconfig/selinux

Update sysctl setting untuk network Kubernetes

Masuk sebagai user root

sudo su

Tekan Enter

cat >>/etc/sysctl.d/kubernetes.conf<<EOFnet.bridge.bridge-nf-call-ip6tables = 1net.bridge.bridge-nf-call-iptables = 1EOF

Tekan Enter

exitsudo sysctl --system

Install Docker

Komponen penting dalam kubernetes untuk membuat container adalah docker. Jalankan command berikut di semua node (master dan worker) untuk menginstall docker:

sudo yum install -y yum-utils device-mapper-persistent-data lvm2
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install -y docker-ce-19.03.12
sudo systemctl enable --now docker

Install Kubernetes

Tambah repository

Jalankan command berikut untuk menambahkan repository yang digunakan untuk install komponen-komponen kubernetes:

sudo su

Tekan Enter

cat >>/etc/yum.repos.d/kubernetes.repo<<EOF[kubernetes]name=Kubernetesbaseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64enabled=1gpgcheck=1repo_gpgcheck=1gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg        https://packages.cloud.google.com/yum/doc/rpm-package-key.gpgEOF

Tekan Enter

exit

Install Komponen Kubernetes

sudo yum install -y kubeadm-1.18.5-0 kubelet-1.18.5-0 kubectl-1.18.5-0

Enable dan Jalankan service kubelet

sudo systemctl enable --now kubelet

Di Node Master

Menghidupkan cluster Kubernetes

Untuk menghidupkan cluster kubernetes di Master, jalankan command berikut dengan mengganti apiserver-advertise-address sesuai dengan IP master-node:

sudo kubeadm init --apiserver-advertise-address=10.10.114.91 --pod-network-cidr=192.168.0.0/16

Berikut adalah output setelah sukses menjalankan command diatas, simpan output tersebut karena akan kita gunakan nantinya:

Your Kubernetes control-plane has initialized successfully!
To start using your cluster, you need to run the following as a regular user:
  mkdir -p $HOME/.kube
  sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
  sudo chown $(id -u):$(id -g) $HOME/.kube/config
You should now deploy a pod network to the cluster.
Run "kubectl apply -f [podnetwork].yaml" with one of the options listed at:
  https://kubernetes.io/docs/concepts/cluster-administration/addons/Then you can join any number of worker nodes by running the following on each as root:
kubeadm join 10.10.114.91:6443 --token 47gzz2.6dpohwk3vo70ubxp \    --discovery-token-ca-cert-hash sha256:4401bf612500d824773df689b7a481bfac24b5046349a5fe1db836733c3359af

Output diatas memiliki dua command yang perlu kita jalankan.

  • Command pertama adalah agar user non-root yang kita gunakan dapat mengakses command kubectl. Jalankan command berikut:
    mkdir -p $HOME/.kube
    sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
    sudo chown $(id -u):$(id -g) $HOME/.kube/config
  • Command kedua kita gunakan di worker agar dapat join ke cluster ini, jangan jalankan command ini di node master, tetapi di node worker.
    sudo kubeadm join 10.10.114.91:6443 --token 0uwce4.zyoilzefa5rnp8zm --discovery-token-ca-cert-hash sha256:16c09cacb33dc47defcb666c66a71e05d8c123c05c04d2c1c301c0e12e9c1c15

Apabila Anda belum sempat meng-copy output tadi, Anda dapat menjalankan command berikut untuk memunculkan command yg digunakan untuk join ke cluster:

kubeadm token create --print-join-command

Deploy Calico Network

Command terakhir yang perlu dijalankan di node master adalah untuk network :

sudo kubectl --kubeconfig=/etc/kubernetes/admin.conf create -f https://docs.projectcalico.org/v3.14/manifests/calico.yaml

Command pada Node Worker

Setelah selesai dengan konfigurasi node master, selanjutnya kita tinggal masuk ke masing-masing node worker agar dapat join ke cluster yang telah dibuat pada node master.

Join ke Cluster

Agar node worker dapat join ke cluster, jalankan command yang dihasilkan dari node master sebelumnya seperti berikut:

sudo kubeadm join 10.10.114.91:6443 --token 0uwce4.zyoilzefa5rnp8zm --discovery-token-ca-cert-hash sha256:16c09cacb33dc47defcb666c66a71e05d8c123c05c04d2c1c301c0e12e9c1c15

Hasil akhir

Untuk memastikan bahwa setup cluster sudah sesuai, jalankan command berikut di master-node:

kubectl get nodes

Dari hasil command diatas terlihat bahwa dalam cluster sudah terisi 1 node master dan 2 node worker yang siap digunakan.

NAME            STATUS   ROLES    AGE    VERSION
master-node     Ready    master   1m   v1.18.5
worker01-node   Ready    <none>   1m   v1.18.5
worker02-node   Ready    <none>   1m   v1.18.5

References

justmeandopensource

Slow

Aplikasi

Kategori

  • Freelance
  • Entrepreneurship
  • Design
  • Sales & Marketing
  • Story

Tentang

  • Tentang Blabak
  • Bagaimana Cara Kerja
  • Berita
  • Keamanan
  • Kutipan
  • Peta Situs

Ketentuan

  • Disclaimaer Policy
  • Privasi Policy
  • Terms of Service