Skip to main content

Install Kubernetes Cluster di Centos 7

untuk memulai Lab install kubernetes cluster, maka sebaiknya anda harus mengetahui konesp kubernetes terlebih dahulu yang sudah kami jelaskan pada artikel berikut ini Mengenal Kubernetes

Topology Overview

Pada Master Node terdapat komponen seperti dibawah ini

  • API Server

menyediakan API mengunakan JSON/ Yaml  melalui protokol http, status dari objek API akan di simpan pada etcd

  • Scheduler

merupakan sebuah program pada master node yang melakukan tugas penjadwalan seperti launching container di worker node berbasis ketersedian sumber daya pada worker

  • Controller Manager

Tugas utama dari controller manager adalah untuk memonitoring replikasi controller dan membuat pod untuk mempertahankan keadaan yang diinginkan.

  • etch

merupakan sebuah database key value pair. etcd berfungsi untuk menyimpan data konfigurasi dari kluster dan status kluster.

  • Kubectl utility

merupakan sebuah tool command line yang digunakan untuk menghubungkan ke API Server  pada port 6443, ini digunakan oleh administrator untuk membuat pod, service dan lain-lain melalui command line

Pada Worker Node terdapat komponen seperti dibawah ini:

  • Kubelet

merupakan sebuah agen yang berjalan pada setiap worker node, kubelet akan terkoneksi ke docker dan bertugas untuk membuat, memulai dan menghapus container pada docker.

  • Kube-Proxy

berfungsi untuk menentukan rute dari sebuah trafik sesuai dengan kontainer berdasarkan ip address dan nomor port dari datangnya permintaan. dengan kata lain kita dapat mengatakan itu merupakan port translasi seperti nat

  • Pod

Pod dapat didefinisikan sebagai multi-tier atau kelompok kontainer yang digunakan pada worker node atau host docker.

Requirements Installation

  • 3 mesin virtual
  • masing-masing RAM => 4098 MB
  • Disk => 40GB

Master Node Configuration

Setting hostname & ip address

Disable SELinux & disable firewalld

Setting bridge value pada sysctl.conf

aktifkan sysctl

jika ada error seperti diatas maka bisa dilakukan dengan cara seperti ini

disable swap pada fstab

restart node master untuk reload selinux, setelah itu tambahkan pada hosts

Setting repository

Install Kubedm dan Docker

inisialisasi kubernetes master  dengan kubeadm init

output

sesuai dengan output successfull diatas maka kita harus membuat direktory .kube dan seterusnya

Worker Node

pada worker node tidak begitu berbeda dari master node,

Node1

Node2

Disable SELinux & disable firewalld pada node1 & node2

Setting bridge value pada sysctl.conf pada node1 & node2

aktifkan sysctl pada node1 & node2

jika ada error seperti diatas maka bisa dilakukan dengan cara seperti ini

disable swap pada fstab di node1 & node2

restart node node1 & node2 untuk reload selinux, setelah itu tambahkan pada hosts pada kedua node worker

Setting repository pada node1 & node2

Install Kubedm dan Docker

kemudian join worker node ke master node

output

kemudian get nodes pada master

ternyata hasilnya masih NotReady pada node worker, selain itu kita harus cek pods –all-namespace pada node master

ternyata pada kube-dns-86f4d74b45-vhvnv masih pending, ini disebabkan karena pod network cluster flannel belum terinstall.

Install Network pada node master

status nodes sudah ready

untuk instlalasi kubernetes sebenarnya sudah selesai, namun belum terdpat dashboard dan aplikasi yang running yang berjalan di atas kubernetes, mungkin untuk tutorial selanjutanya kami akan membahas tentang install dashboard dan management container diatas kubernestes, sekian terimakasih

refrensi:

www.linuxtechi.com/install-kubernetes-1-7-centos7-rhel7/

Alan Adi Prastyo

network & system engineer