Tentang BlabakHubungi Blabak Login
Kategori
ActionAnother actionSomething else hereSeparated link
Submit
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.
Pada artikel ini akan digunakan 3 server, dimana 1 server sebagai master, dan 2 server sebagai worker.
Jalankan command-command berikut pada masing-masing node, baik node master maupun node worker.
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.
Rubah hostname pada masing-masing node sesuai tabel diatas. Berikut contoh command untuk node master:
sudo hostnamectl set-hostname master-node
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
sudo swapoff -a; sudo sed -i '/swap/d' /etc/fstab
sudo setenforce 0
sudo sed -i --follow-symlinks 's/^SELINUX=enforcing/SELINUX=disabled/' /etc/sysconfig/selinux
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
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
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
sudo yum install -y kubeadm-1.18.5-0 kubelet-1.18.5-0 kubectl-1.18.5-0
sudo systemctl enable --now kubelet
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.
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
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
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
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.
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
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
Slow
Aplikasi