CoreOS รุ่นใหม่เพิ่ม kubelet เข้ามาช่วยให้คุณสามารถสร้าง Kubernetes cluster ได้เร็วยิ่งขึ้น โดยปกติ kubelet จะทำหน้าที่เป็น agent คอยดูแล pod ที่ถูกสร้างขึ้น register node เข้าไปยัง Kubernetes cluster ส่ง event, สถานะของ pod และรายงาน resource utilization นอกจากจะทำงานใน Kubernetes cluster แล้วยังสามารถทำงานแบบ stanalone ได้อีกด้วย ดังนั้นเราสามารถใช้ kubelet สร้าง single node Kubernetes cluster พร้อมระบบ monitoring resource utilization อย่าง cAdvisor ได้

มาเริ่มกันเลย เราจะใช้ CoreOS เวอร์ชั่น 773.1.0 ขึ้นไป อันดับแรกมาตั้งค่า service ใน systemd ให้ kubelet กันก่อน

sudo vim /etc/systemd/system/kubelet.service

จากนั้นสั่ง start kubelet โดยใช้ systemctl ดังนี้

sudo systemctl daemon-reload

sudo systemctl start kubelet

ตรวจสอบสถานะ kubelet ด้วยคำสั่ง

sudo systemctl status kubelet

จากนั้นเราจะสั่ง bootstrap Kubernetes cluster โดยใช้ไฟล์ pod manifest ซึ่งเป็น default pod ใส่ลงใน /etc/kubernetes/manifests เมื่อ kubelet ตรวจสอบสถานะของ pod ก็จะพบว่าไม่มี pod default ตามไฟล์ manifests ที่สร้างไว้ kubelet จะสร้าง pod และสร้าง container ให้เราขึ้นมาใหม่โดยอัตโนมัติ

มาลองทดสอบกัน ดาวน์โหลด Kubernetes pod manifest มาก่อนดังนี้

wget https://raw.githubusercontent.com/coreos/pods/master/kubernetes.yaml

จากนั้นคัดลอกไฟล์ kubernetes.yaml ไปไว้ใน /etc/kubernetes/manifests/

sudo cp kubernetes.yaml /etc/kubernetes/manifests/

จากนั้นรอสักพัก แล้วใช้คำสั่ง docker เพื่อดูว่า kubelet จัดการ pod ให้เราจริงหรือไม่

sudo docker images

sudo docker ps

เราจะพบว่า kubelet ดาวน์โหลด images และสร้าง Kubernetes ให้อัตโนโมัติ

ลองใช้ kubectl ตรวจสอบ Kubernetes cluster ดูได้ดังนี้

wget https://storage.googleapis.com/kubernetes-release/release/v1.0.3/bin/linux/amd64/kubectl

chmod +x kubectl

./kubectl cluster-info

จากนี้คุณก็สามารถใช้งาน Kubenetes ตามปกติ มาดู cAdvisor กันบ้าง cAdvisor จะทำงานบน port 4194 ดังนี้

จะเห็นได้ว่าเราสามารถติดตั้ง Kubernetes cluster แบบ single node โดยใช้ kubelet ได้ง่ายๆ

Comments are closed.