ขั้นตอน การติดตั้ง Kubernetes


วิธีติดตั้ง Kubernetes

เหมือนเดิม Environment เหมือน ตอนทำ docker swarm

โดยในที่นี้ สร้าง server โดยใช้เครื่องมือ vagrant โดย provider เป็น virtualbox

  • master node : 192.168.1.50
  • node-1 : 10.0.0.11
  • node-2 : 10.0.0.12

Step 1 Set environment All server ( master, node-1, node-2 )

  • ปิดการใช้งาน swap
sudo swapoff -a
sudo sed -i '/swap/d' /etc/fstab
  • Install Docker
sudo apt-get update
sudo apt-get install -y docker.io apt-transport-https curl
sudo systemctl start docker
sudo systemctl enable docker
  • Install Kubenetes Engine
sudo apt-get update
sudo apt-get install -y apt-transport-https
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
sudo touch /etc/apt/sources.list.d/kubernetes.list
echo "deb http://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee -a /etc/apt/sources.list.d/kubernetes.list
sudo apt-get update
sudo apt-get install -y kubeadm 

  • Master node

Step 2 Initial Master Node

$ sudo kubeadm init --apiserver-advertise-address=<ip master> --pod-network-cidr=10.244.0.0/16  
...
$ sudo kubeadm init --apiserver-advertise-address=192.168.1.50 --pod-network-cidr=10.244.0.0/16  

หลังจาก init จะได้คำสั่งมาชุดนึง เก็บ token ที่ได้นั้นไว้ หรือจะเก็บทั้งคำสั่งไว้เลยก็ได้ เอาไว้ใช้สำหรับ นำ worker node แต่ละตัว เข้า cluster ที่สร้าง

Screen-Shot-2563-05-13-at-23.37.01

หรือ หากลืมเก็บคำสั่งหรือToken ไว้ จะใช้คำสั่งได้เช่นกัน

$ sudo kubeadm token create --print-join-command

Screen-Shot-2563-05-13-at-23.38.09

Step 3

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

Step 4

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

Step 5 ติดตั้ง Addon

$ kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

  • Worker Node

Step 6 นำ worker node แต่ละตัว เข้า cluster

  • node-1
  • node-2
$ kubeadm join <MASTER_NODE_IP>:6443 --token jtadhb.cv1o6qi62g1n85s9 --discovery-token-ca-cert-hash sha256:ffd679b0444cb1d8dd67dab42e232c9...

Screen-Shot-2563-05-13-at-23.43.30

Step 7 Check Nodes ที่ Master Node

$ kubectl get nodes  

Screen-Shot-2563-05-13-at-23.43.57


Reference

ติดตั้ง Kubernetes บน Ubuntu 18.04