มาเล่น Kubernetes kubelet ใน CoreOS Linux

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 กันก่อน
Continue reading

ใช้บริการ DataDog มา Monitor CoreOS กัน

หากคุณไม่ได้ใช้บริการ Support Plan ของ CoreOS ทางออกเดียวที่คุณมีคือใช้บริการ Monitoring System ของรายอื่น เช่น cAdvisor ของ Google, nrpe ของ Nagios หรือใช้ toolbox ของ CoreOS เอง ซึ่งไม่ได้ช่วยให้การทำงานคล่องตัวมากขึ้น DataDog มีบริการ Monitoring สำหรับ CoreOS เช่นเดียวกันกับ Docker และใช้วิธีการเดียวกันได้ ดังนี้

ติดตั้ง Container ของ DataDog Agent ดังนี้่

docker run -d --privileged --name dd-agent -h HOSTNAME \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /proc/mounts:/host/proc/mounts:ro \
-v /sys/fs/cgroup/:/host/sys/fs/cgroup:ro \
-e API_KEY=YOUR-API-KEY datadog/docker-dd-agent

เปลี่ยน HOSTNAME และ YOUR-API-KEY ให้เป็นของคุณเอง จากนั้นกลับไปที่ Dashboard คลิกที่ Infrastructure เราจะพบว่ามีชื่อ host อยู่ใน Infrastructure ดังนี้

Continue reading

CoreOS Cluster บน DigitalOcean

ถ้าคุณต้องการใช้ CoreOS เป็น Infrastructure หลักในการจัดการ Docker Container ในหลายๆ Host การสร้าง CoreOS Cluster ขึ้นมาใช้งานก็จะเป็นทางเลือกที่ดีที่สุด CoreOS ออกแบบ Cluster ขึ้นมาไม่เหมือนใคร การทำงานจะทำงานผ่าน service หลายตัวประกอบเข้าด้วยกัน เช่น etcd, fleet เป็นต้น CoreOS จะใช้การอ่านข้อมูล Node ของ Cluster จาก etcd เป็นหลัก ไม่ได้เกิดจากการเอาสายเชื่อมต่อกันแต่เกิด Cluster จากการทำงานซอฟต์แวร์เป็นหลัก

มาลองสร้าง CoreOS Cluster บน DigitalOcean กัน สำหรับท่านที่ติดตั้ง CoreOS เองก็สามรถใช้ How-To นี้อ้างอิงได้ CoreOS จะต้องใช้ etcd ซึ่งเป็น Discovery URL เพื่อเก็บข้อมูลของ Node ใน Cluster ซึ่งคุณใช้ etcd service ของคุณเองก็ได้ หรือจะใช้ service กลางจาก discovery.etcd.io ได้เช่นกัน การขอ Discovery URL ทำได้ง่ายๆ ผ่าน cURL ดังนี้

curl -w "\n" https://discovery.etcd.io/new

คุณจะได้รหัส token มาพร้อมกับ Discovery URL ดังนี้

https://discovery.etcd.io/2ff216654df841f09b76715109594100

Continue reading

มาเล่น CoreOS บน Azure กัน

แถลงข่าวกันมาหลายเดือนตอนนี้ CoreOS มีให้บริการบน Azure แล้ว สำหรับท่านที่เป็นแฟน CoreOS และ Docker พลาดไม่ได้เลยกับบริการนี้บน Azure ซึ่งคุณไม่ต้องกังวลเรื่องติดตั้ง CoreOS บน Azure อีกต่อไป และที่สำคัญสามารถใช้งาน Docker ได้เลย ไม่ต้องเขียน Cloud Config ให้ยุ่งยากอีกต่อไป สามารถเรียกใช้ etcd และ fleet ได้เลย สำหรับการใช้งาน CoreOS ก็ง่ายมากๆ เข้าไปที่ Azure Gallery จากนั้นคลิกสั่ง deploy กันได้เลย ง่ายๆ แค่นี้

เลือก Create Virtual Machine จาก Gallery

Continue reading

มาเล่น CoreOS กัน

มีหลายท่านถามถึง CoreOS ผมก็เข้าใจว่าเคย blog เรื่องนี้ไปแล้ว พอไปค้นดูอีกทีก็พบว่าไม่ได้ blog เรื่อง CoreOS ไว้เลย T_T ถือโอกาส CoreOS ออกรุ่น stable แล้วก็มาลองเล่นกัน CoreOS พัฒนาขึ้นมาโดยใช้แนวคิด ระบบปฏิบัติการขนาดเล็ก สามารถอัพเดทแบบ distributed update เหมือนกับ ChromeOS ใช้ systemd เป็นหลัก และยังมีเครื่องมือที่น่าสนใจอีกหลายอย่างเช่น fleet และ etcd เป็นต้น อ้อเกือบลืม CoreOS มี Docker ติดมาให้ด้วย คุณสามารถย้าย container จากเครื่องอื่นๆ มาทำงานบน CoreOS ได้เลย

CoreOS ได้ชื่อว่าเป็นระบบปฏิบัติการสำหรับ Cloud เลยก็ว่าได้ เพราะมีขนาดเล็ก บูตเร็ว จัดการง่ายใช้ systemd, fleet, kubernetes, cloud-config และรองรับ Docker อีกด้วย สำหรับท่านที่ต้องการใช้งาน CoreOS สามารถใช้งานได้บน

Cloud Provider

Continue reading