メインコンテンツへスキップ
記事一覧へ戻る

DaemonSet ติดตั้ง Agent ทุก Node ใน Kubernetes

DaemonSet ทำให้มี Pod งานระบบอยู่บนทุก Node หรือเฉพาะ Node ที่ตรงเงื่อนไข อธิบายหลักการใช้งาน กรณีที่เหมาะ และข้อควรระวังจากเอกสารทางการ

DaemonSet ติดตั้ง Agent ทุก Node ใน Kubernetes

DaemonSet ทำให้มี Pod งานระบบอยู่บนทุก Node หรือเฉพาะ Node ที่ตรงเงื่อนไข เหมาะกับ log collector, monitoring agent และส่วนประกอบเครือข่ายที่ต้องทำงานใกล้ระบบปฏิบัติการของ Node บทความนี้สรุปแนวคิดจากเอกสารทางการของ Kubernetes และจุดที่ควรตรวจเมื่อนำไปใช้จริง

ภาพรวม

Kubernetes ใช้ตัวควบคุมปรับสถานะคลัสเตอร์ให้ตรงกับค่าที่ประกาศไว้ การเข้าใจ resource และความสัมพันธ์ระหว่าง Pod, Service กับ Node ช่วยให้ออกแบบระบบที่ฟื้นตัวได้

หัวข้อนี้ตอบโจทย์เฉพาะเรื่อง: DaemonSet ทำให้มี Pod งานระบบอยู่บนทุก Node หรือเฉพาะ Node ที่ตรงเงื่อนไข จึงควรเริ่มจากปัญหาที่ต้องแก้และผลลัพธ์ที่คาดหวัง ไม่ใช่เพียงเปิดฟีเจอร์เพราะมีอยู่ในเครื่องมือ

หลักการทำงาน

เมื่อมี Node ใหม่เข้าคลัสเตอร์ ตัวควบคุมจะสร้าง Pod ที่กำหนดให้บน Node นั้น และนำออกเมื่อ Node ไม่อยู่ในขอบเขต

ให้ตรวจทั้งสถานะที่เครื่องมือรายงานและผลลัพธ์ปลายทางที่ผู้ใช้หรือระบบอื่นได้รับ หากสองส่วนไม่ตรงกัน ควรกลับไปตรวจค่าตั้งต้นและขอบเขตที่ฟีเจอร์นี้รับผิดชอบก่อนเปลี่ยนค่าเพิ่มเติม

เหมาะกับงานแบบไหน

เหมาะกับ log collector, monitoring agent และส่วนประกอบเครือข่ายที่ต้องทำงานใกล้ระบบปฏิบัติการของ Node

ก่อนทดลอง ให้ระบุสิ่งที่จะใช้วัดผล เช่น เวลาตอบสนอง ความพร้อมใช้งาน ความถูกต้องของข้อมูล หรือภาระการดูแล แล้วเทียบกับสภาพเดิม วิธีนี้ช่วยให้รู้ว่าฟีเจอร์แก้ปัญหาจริงหรือย้ายภาระไปอีกจุดหนึ่ง

ขั้นตอนนำไปใช้

  1. ตรวจ resource และ namespace ที่จะเปลี่ยน พร้อมดู workload ที่พึ่งพากัน
  2. ทดลอง manifest แล้วดู event, rollout และสถานะ Pod
  3. กำหนดวิธีย้อน manifest และตรวจข้อมูลที่ต้องคงอยู่

เริ่มจากขอบเขตเล็กและเก็บผลทดสอบไว้กับการเปลี่ยนแปลง หากจะใช้ใน production ให้กำหนดผู้ติดตามผลและเงื่อนไขที่จะหยุดการขยายการใช้งาน

ข้อควรระวัง

จำกัดทรัพยากรและสิทธิ์ของ Agent เพราะปัญหาเพียงชุดเดียวอาจกระทบทุก Node

แปลงข้อควรระวังนี้เป็นรายการตรวจในการทบทวนงาน เพราะปัญหาจากค่าตั้งต้นอาจไม่แสดงทันทีในสภาพแวดล้อมทดสอบ

สรุป

DaemonSet ทำให้มี Pod งานระบบอยู่บนทุก Node หรือเฉพาะ Node ที่ตรงเงื่อนไข เหมาะกับ log collector, monitoring agent และส่วนประกอบเครือข่ายที่ต้องทำงานใกล้ระบบปฏิบัติการของ Node ก่อนนำไปใช้กับงานหลัก ควรตรวจผลตามขั้นตอนข้างต้นและทบทวนข้อจำกัดของระบบที่มีอยู่

อ่านเพิ่มเติม: เอกสารทางการของ Kubernetes