วิธีติดตั้ง Kubernetes ด้วย CoreOS (ตอนที่ 2 Worker Node)
ถ้าต้องการระบบจัดการ docker container สักตัวต้องทำอย่างไร (ตอนที่ 2) จากตอนก่อนหน้านี้ รู้จักกับ Kubernetes และวิธีติดตั้ง Kubernetes ด้วย CoreOS (ตอนที่ 1 Master Node)[1] ก็มาต่อด้วยการติดตั้งบนเครื่อง Worker ต่อครับ วิธีการติดตั้ง Kubernetes Worker Node[2] ทำการติดตั้ง CoreOS บน Worker Node สร้าง directory ดังนี้ sudo mkdir -p /etc/kubernetes/ssl ทำการ copy ที่สร้างไว้ก่อนหน้านี้มาไว้ใน folder ดังนี้ File: /etc/kubernetes/ssl/ca.pem File: /etc/kubernetes/ssl/${WORKER_FQDN}-worker.pem File: /etc/kubernetes/ssl/${WORKER_FQDN}-worker-key.pem เปลี่ยน permission และ owner file เฉพาะไฟล์ -key* ดังนี้ sudo chmod 600 /etc/kubernetes/ssl/*-key.pem sudo chown root:root /etc/kubernetes/ssl/*-key.pem ทำการทำ link เผื่อให้ config แต่ละ worker เหมือน ๆ กัน cd /etc/kubernetes/ssl/ sudo ln -s ${WORKER_FQDN}-worker.pem worker.pem sudo ln -s ${WORKER_FQDN}-worker-key.pem worker-key.pem จากนั้นตั้งค่า flannel network เป็น network ที่เอาไว้เชื่อมแต่ละ pod ให้สามารถคุยกันได้ข้ามเครื่อง เพื่อสร้างวง virtual ip ให้กับ pod ดังนี้ sudo mkdir /etc/flannel ทำการสร้างไฟล์ option.env sudo vim /etc/flannel/options.env เนื้อหาในไฟล์ดังนี้ FLANNELD_IFACE=<Worker IP> FLANNELD_ETCD_ENDPOINTS=http://<Master IP>:2379,http://<Node1 IP>:2379,http://<Node2 IP>:2379 จากนั้นทำการสร้าง flannel service ดังนี้ sudo mkdir -p /etc/systemd/system/flanneld.service.d/ sudo vim /etc/systemd/system/flanneld.service.d/40-ExecStartPre-symlink.conf เนื้อหาในไฟล์ดังนี้ [Service] ExecStartPre=/usr/bin/ln -sf /etc/flannel/options.env /run/flannel/options.env จากนั้นทำการตั้งค่า docker เพื่อกำหนดให้ใช้งานผ่าน flannel โดยสร้างไฟล์ config ดังนี้ sudo mkdir -p /etc/systemd/system/docker.service.d sudo vim /etc/systemd/system/docker.service.d/40-flannel.conf เนื้อหาในไฟล์ดังนี้ [Unit] Requires=flanneld.service After=flanneld.service [Service] EnvironmentFile=/etc/kubernetes/cni/docker_opts_cni.env โดยที่ทำสร้างไฟล์ docker_opts_cni.env ขึ้นมาประกอบดังนี้ sudo mkdir -p /etc/kubernetes/cni sudo vim /etc/kubernetes/cni/docker_opts_cni.env เนื้อหาในไฟล์ดังนี้ DOCKER_OPT_BIP=”” DOCKER_OPT_IPMASQ=”” จากนั้นทำการ restart docker service สักรอบดังนี้ sudo systemctl restart docker หนังจากนั้นทำการสร้าง config ไฟล์สุดท้ายสำหรับ flannel ดังนี้ sudo mkdir -p /etc/kubernetes/cni/net.d sudo vim /etc/kubernetes/cni/net.d/10-flannel.conf เนื้อหาในไฟล์ดังนี้ { “name”: “podnet”, “type”: “flannel”, “delegate”: { “isDefaultGateway”: true } } ทำการ start flannel service