Cluster Troubleshooting

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

การติดตั้ง K8s

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

kubernetes cluster installation error

รายงานดังกล่าวประกอบด้วย 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

Events Tracking

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

  • Events ใน Kubernetes Dashboardkubernetes dashboard events
  • ตัวอย่างผลลัพธ์จากคำสั่ง kubectl get events -n $namespacekubectl get events

Pod Logs

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

  • Kubernetes Dashboard – ปที่หน้า pod แล้วคลิกปุ่ม Logs ที่มุมขวาบน
  • kubectl – ใช้คำสั่งสำหรับ pods management

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