跳到主要内容
返回文章列表

ใช้ Health Endpoint ของ Keycloak ตรวจความพร้อม

health endpoint แสดงสถานะ liveness และ readiness สำหรับระบบดูแลบริการ อธิบายหลักการใช้งาน กรณีที่เหมาะ และข้อควรระวังจากเอกสารทางการ

ใช้ Health Endpoint ของ Keycloak ตรวจความพร้อม

health endpoint แสดงสถานะ liveness และ readiness สำหรับระบบดูแลบริการ เหมาะกับ Keycloak ที่รันในคอนเทนเนอร์หรือ Kubernetes บทความนี้สรุปแนวคิดจากเอกสารทางการของ Keycloak และจุดที่ควรตรวจเมื่อนำไปใช้จริง

ภาพรวม

Keycloak จัดการการยืนยันตัวตนและออก token ให้แอป การตั้ง client, realm, session และสิทธิ์ต้องสอดคล้องกับการตรวจสอบฝั่ง API

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

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

ตัว orchestrator ใช้ผลตรวจเพื่อรู้ว่า process ยังทำงานและพร้อมรับคำขอหรือไม่

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

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

เหมาะกับ Keycloak ที่รันในคอนเทนเนอร์หรือ Kubernetes

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

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

  1. ทดลอง flow กับบัญชีทดสอบที่มีสิทธิ์ต่างกัน
  2. ตรวจ redirect URI, อายุ token และการปฏิเสธคำขอที่ API
  3. เตรียมวิธีกู้บัญชีผู้ดูแลและ rollback การตั้งค่า realm

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

ข้อควรระวัง

แยก health endpoint จาก public traffic และอย่าพึ่งการเปิดพอร์ตอย่างเดียวเพื่อสรุปว่าพร้อม

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

สรุป

health endpoint แสดงสถานะ liveness และ readiness สำหรับระบบดูแลบริการ เหมาะกับ Keycloak ที่รันในคอนเทนเนอร์หรือ Kubernetes ก่อนนำไปใช้กับงานหลัก ควรตรวจผลตามขั้นตอนข้างต้นและทบทวนข้อจำกัดของระบบที่มีอยู่

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