Prometheus HA ใน Kubernetes (AKS)

ฉันใช้แผนภูมิหางเสือต่อไปนี้ (https://github.com/helm/charts/tree/master/stable/prometheus) โดยมี server.replicaCount =2 และ server.statefulSet.enabled = true

สำหรับการจัดเก็บฉันใช้จัดการดิสก์สองตัว (ไม่ใช่ไฟล์ Azure ที่ไม่ใช่ POSIX) (2 PV และ 2 PVC) จะถูกสร้างขึ้นในระหว่างการปรับใช้แผนภูมิ

คำถามของฉันคือ: นี่เป็นวิธีแก้ปัญหา HA หรือไม่ ตัววัดถูกเขียนไปยังอินสแตนซ์ Prometheus ทั้งสอง (บริการที่มี IP สาธารณะและ "บริการ" แบบไม่มีส่วนหัวถูกสร้างขึ้น) และจำลองข้อมูลไปยังดิสก์ทั้งสองหรือไม่

แบบจำลองนี้ทำงานอย่างไรจริงๆ?

ขอบคุณ,


person Luís Marques    schedule 17.06.2020    source แหล่งที่มา


คำตอบ (2)


น่าเศร้าที่ Piotr กล่าวไว้ นี่ไม่ใช่ข้อเสนอ HA ที่แท้จริง และโดยทั่วไปแล้วธานอสก็เป็นวิธีที่นิยมใช้สำหรับการตั้งค่าประเภทนี้ แต่ไม่ใช่หากไม่มี gotcha ของตัวเอง จำนวนคลัสเตอร์ที่คุณมีเป็นปัจจัยหนึ่ง และคุณอาจต้องมีบัญชีเครื่องมือบางประเภทเพื่อให้สามารถติดตามการเปลี่ยนแปลงได้ตลอด

สิ่งที่ฉันสามารถเสนอให้คุณได้คือการพูดคุยที่ยอดเยี่ยมนี้ ซึ่งรวมถึงการสาธิตสดและแสดงให้เห็นว่า สิ่งนี้ใช้ได้ในทางปฏิบัติ

person tristanvvatson    schedule 18.06.2020

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

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

มีบทความสองสามบทความเกี่ยวกับการให้ Prometheus ทำงานร่วมกับ HA:

กำลังปรับใช้ HA Prometheus ใน Kubernetes บน AWS — Gotcha ของ Availability Zone หลายรายการ

การตรวจสอบ HA Kubernetes โดยใช้ Prometheus และ Thanos

จำนวนเรพลิกาจะสั่งให้การปรับใช้ให้มีอินสแตนซ์ที่กำลังทำงานอยู่อย่างน้อย 2 อินสแตนซ์ของพ็อดการปรับใช้เสมอ คุณสามารถดูข้อมูลเพิ่มเติมเกี่ยวกับการจำลองได้ในเอกสารประกอบ< /ก>.

ในแผนภูมิหางเสือเอกสารประกอบ ดูเหมือนว่าจะมีตัวเลือกอื่นๆ เช่น server.service.statefulsetReplica.enabled และ server.service.statefulsetReplica.replica แต่ฉันคิดว่านั่นเป็นเพียงเครื่องมือที่สามารถช่วยสร้าง HA prometheus ได้ ไม่พร้อมจากการแก้ปัญหาแบบก้าวไป

หวังว่ามันจะช่วยได้

person Piotr Malec    schedule 18.06.2020
comment
สวัสดี ขอบคุณสำหรับคำตอบที่ชัดเจน แม้ว่าฉันต้องการกลไกการตรวจจับความล้มเหลวแบบไดนามิก (ธานอสที่มีรถด้านข้าง) ข้อมูล (หน่วยเมตริก) เดียวกันก็จะอยู่บนทั้งสองอินสแตนซ์/ดิสก์ ตัวอย่างเช่น เมตริกของ pushgateway ไปที่แบบจำลองเดียวเท่านั้นใช่หรือไม่ หรือสำหรับทั้งสองอย่าง? - person Luís Marques; 18.06.2020