Chuyển đến nội dung chính
Quay lại danh sách bài viết

Kubernetes Service ทำให้ Pod เปลี่ยน IP แล้วยังเข้าถึงได้อย่างไร

Service ให้จุดเข้าถึงที่คงที่แก่แอปซึ่งทำงานอยู่บน Pod ที่เปลี่ยนได้ตลอดเวลา อธิบายหลักการใช้งาน กรณีที่เหมาะ และข้อควรระวังจากเอกสารทางการ

Kubernetes Service ทำให้ Pod เปลี่ยน IP แล้วยังเข้าถึงได้อย่างไร

Service ให้จุดเข้าถึงที่คงที่แก่แอปซึ่งทำงานอยู่บน Pod ที่เปลี่ยนได้ตลอดเวลา เหมาะกับบริการภายในคลัสเตอร์ที่ต้องเรียกกันด้วยชื่อโดยไม่ผูกกับ IP ของ Pod ใด Pod หนึ่ง บทความนี้สรุปแนวคิดจากเอกสารทางการของ Kubernetes และจุดที่ควรตรวจเมื่อนำไปใช้จริง

ภาพรวม

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

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

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

ตัวเลือก label เชื่อม Service กับชุด Pod และระบบดูแล EndpointSlice เพื่อบอกปลายทางที่พร้อมรับคำขอ

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

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

เหมาะกับบริการภายในคลัสเตอร์ที่ต้องเรียกกันด้วยชื่อโดยไม่ผูกกับ IP ของ Pod ใด Pod หนึ่ง

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

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

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

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

ข้อควรระวัง

ตรวจ selector และพอร์ตให้ตรงกับ Pod เพราะ Service ที่สร้างสำเร็จอาจยังไม่มีปลายทางจริง

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

สรุป

Service ให้จุดเข้าถึงที่คงที่แก่แอปซึ่งทำงานอยู่บน Pod ที่เปลี่ยนได้ตลอดเวลา เหมาะกับบริการภายในคลัสเตอร์ที่ต้องเรียกกันด้วยชื่อโดยไม่ผูกกับ IP ของ Pod ใด Pod หนึ่ง ก่อนนำไปใช้กับงานหลัก ควรตรวจผลตามขั้นตอนข้างต้นและทบทวนข้อจำกัดของระบบที่มีอยู่

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

Chia sẻ bài viết:
Xem thêm bài viết