CLOUD PAAS / KUBERNETES HOSTING

การแก้ไขปัญหาคลัสเตอร์

คู่มือนี้เรียบเรียงและปรับรูปแบบสำหรับ Ruk-Com Cloud PaaS ภาพหน้าจออาจแตกต่างเล็กน้อยตามเวอร์ชันของระบบ

คลิกหรือแตะภาพหน้าจอเพื่อดูรายละเอียดขนาดจริง

วัตถุประสงค์

บทความนี้อธิบายการใช้งาน การแก้ไขปัญหาคลัสเตอร์ บน Ruk-Com Cloud PaaS โดยจัดลำดับขั้นตอนและจุดตรวจสอบสำหรับการนำไปใช้งานจริง

ก่อนเริ่มดำเนินการ

  • เข้าสู่ระบบด้วยบัญชีที่มีสิทธิ์จัดการ Environment ที่เกี่ยวข้อง
  • ตรวจสอบชื่อ Environment, Region และทรัพยากรเป้าหมายก่อนบันทึกการเปลี่ยนแปลง
  • สำรองข้อมูลหรือกำหนดแผนย้อนกลับก่อนแก้ไขระบบ Production

แพคเกจคลัสเตอร์ Kubernetesโดย Ruk-Com เป็นผลิตภัณฑ์ที่ซับซ้อนมากซึ่งมีหลายขั้นตอนที่จำเป็นในการตั้งค่าโซลูชัน ด้วยเหตุนี้การกระทำแต่ละอย่างอาจล้มเหลวเนื่องจากสาเหตุหลายประการซึ่งควรวิเคราะห์เพื่อป้องกันไม่ให้เกิดปัญหาในอนาคต ด้านล่างนี้เราจะสรุปขั้นตอนการแก้ปัญหาหลักระหว่างขั้นตอนต่าง ๆ และสำหรับ Log ไฟล์หลาย ๆ ไฟล์:

การติดตั้ง K8s

การติดตั้ง Kubernetes cluster เป็นกระบวนการที่ซับซ้อน แต่เป็นแบบอัตโนมัติทั้งหมดซึ่งมีกลไกการจัดการข้อผิดพลาดอยู่แล้ว แพลตฟอร์มจะประมวลผลปัญหาที่พบบ่อยโดยอัตโนมัติและแสดงสาเหตุที่แท้จริงในแดชบอร์ดโดยตรง ในกรณีนี้สำหรับปัญหาที่ซับซ้อนมากขึ้นคุณสามารถกดปุ่มส่งรายงานไปยังทีมสนับสนุนผ่านวิดเจ็ต (widget) ที่เหมาะสม

รายงานดังกล่าวประกอบด้วย log การติดตั้ง, ข้อความแสดงข้อผิดพลาดและข้อมูลการดีบักอื่น ๆ ทั้งหมดที่จำเป็น

นอกจากนี้แพ็คเกจจะตรวจสอบส่วนประกอบคลัสเตอร์ทั้งหมดโดยอัตโนมัติหลังการติดตั้ง รายละเอียดที่เกี่ยวข้องสามารถดูได้จากไฟล์ /var/log/k8s-health-check.log บนโหนดหลัก (master node) สคริปต์ยูทิลิตี้เฉพาะจะตรวจสอบความสมบูรณ์ของส่วนประกอบต่อไปนี้: Weave CNI Plugin, Ingres Controller, Metrics Server, Kubernetes Dashboard, Node Problem Detector, Monitoring Tools, Remote API, NFS Storage, Sample App

หากตัวตรวจสอบประสิทธิภาพการทำงานไม่สามารถตรวจสอบสถานะ Running ของส่วนประกอบได้ การแจ้งเตือนที่เหมาะสมจะแสดงในกรอบติดตั้งสำเร็จ (success) ในตัวอย่างนี้คำเตือนดังกล่าวไม่ได้เกิดจากความผิดปกติของคลัสเตอร์เสมอไป (เช่น การ deploy อาจอยู่ระหว่างการดำเนินการ) คุณสามารถรันคำสั่ง kubectl get pods –all-namespaces เพื่อตรวจสอบสถานะของพ็อด (pod) หากทั้งหมดกำลังทำงานอยู่ (Running) แสดงว่าคลัสเตอร์ของคุณทำงานได้ดี มิฉะนั้นให้ติดต่อฝ่ายสนับสนุนแพลตฟอร์มและแนบบันทึก (log) ที่เกี่ยวข้องกับ K8 จากไดเร็กทอรี /var/log

การติดตามกิจกรรม

คุณสามารถใช้ kubectl หรือ Kubernetes Dashboard เพื่อติดตามและวิเคราะห์เหตุการณ์สำหรับเนมสเปซ (namespace) เฉพาะหรือทั้งหมดในที่เดียว (ต้องมีการสิทธิ์ที่เพียงพอ):

  • กิจกรรมใน Kubernetes Dashboard
  • ตัวอย่างผลลัพธ์จากคำสั่ง kubectl get events -n $namespaceภาพประกอบขั้นตอนการใช้งาน Ruk-Com Cloud PaaS

บันทึกพ็อด

หลังจากกำหนดเวลาให้พ็อดทำงานบนโหนดว่างคุณสามารถทำตาม log ที่เหมาะสมได้ทาง:

  • แดชบอร์ด Kubernetes- ปที่หน้า pod แล้วคลิกปุ่ม Logs ที่มุมขวาบน
  • คิวเบคเทิล- ใช้คำสั่งสำหรับการจัดการพ็อด

ตัวอย่างเช่น log เหล่านี้สามารถช่วยค้นหาสาเหตุที่แท้จริงของเหตุการณ์ “Back-off restart failed container” สำหรับพ็อดของคุณได้