- Spec เครื่องอย่างน้อยใช้ 2 vCPU
- Memory อย่างน้อย 2 GB
- Linux Ubuntu 18.04
- เราจะจำลอง (ใช้) 3 Nodes ดังนี้
Master Node : 10.130.38.189
Worker Node1 : 10.130.38.192
Worker Node2 : 10.130.38.200
- ติดตั้ง Docker และ Kubernetes สำหรับทุก ๆ Nodes
- Setup Master Node
- Worker Node เข้าร่วม (Join) Cluster
- ติดตั้ง Docker บน Ubuntu 18.04
- ปิดการใช้งาน (Turn off) Swap
$ sudo swapoff -a
$ sudo vi /etc/fstab
ให้ Comment บรรทัดนี้ (ถ้ามี)
#/swap.img none swap sw 0 0
- Update และติดตั้ง
apt-transport-https
$ sudo apt-get update
$ sudo apt install -y apt-transport-https
- เพิ่ม api-key
$ curl -s \
https://packages.cloud.google.com/apt/doc/apt-key.gpg |\
sudo apt-key add -
- สร้าง File เปล่า (Empty File)
kubernetes.list
$ sudo touch /etc/apt/sources.list.d/kubernetes.list
- Update File
kubernetes.list
$ echo \
"deb http://apt.kubernetes.io/ kubernetes-xenial main" |\
sudo tee -a /etc/apt/sources.list.d/kubernetes.list
- ติดตั้ง Package
kubeadm
$ sudo apt update
$ sudo apt install -y kubeadm
มันจะทำการติดตั้งทั้ง kubeadm
, kubectl
และ kubelet
ให้
- ตรวจสอบคำสั่ง
$ kubeadm --help
$ kubectl --help
$ kubelet --help
- Run Command สำหรับ Initial Master Node
$ sudo kubeadm init --pod-network-cidr=10.244.0.0/16
*** เมื่อ Run เสร็จ ให้ Copy Command ชุดนี้ ซึ่งอยู่ด้านล่างสุด ไปใส่ Text Editor สักตัว (เช่น Notepad++) แล้ว Save เก็บไว้ (อย่าให้หาย)
kubeadm join <MASTER_NODE_IP>:6443 --token jtadhb.cv1o6qi62g1n85s9 --discovery-token-ca-cert-hash sha256:ffd679b0444cb1d8dd67dab42e232c9...
- สร้าง Directory
.kube
ไว้ที่ Home Directory ของ User
$ mkdir -p $HOME/.kube
- Copy Admin Config ไปเก็บไว้ใน
.kube
$ sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
- เปลี่ยนความเป็นเจ้าของ File (File Owner)
$ sudo chown $(id -u):$(id -g) $HOME/.kube/config
- ติดตั้ง
kube-flannel
addons สำหรับทำ Network Configurations
$ kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
- ตรวจสอบ Nodes
$ kubectl get nodes
- Run Command (ที่เคยให้ Save เก็บไว้) เพื่อเข้าร่วม (Join) Cluster
$ kubeadm join <MASTER_NODE_IP>:6443 --token jtadhb.cv1o6qi62g1n85s9 --discovery-token-ca-cert-hash sha256:ffd679b0444cb1d8dd67dab42e232c9...
- ลองเช็ค Nodes ดู
$ kubectl get nodes
https://spalinux.com/2018/09/install-and-configure-kubernetes-on-ubuntu-18-04