0Pricing
DevOps Bootcamp · บทเรียน

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

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

การตรวจสอบและแก้ไขปัญหาคลัสเตอร์ เป็นบทเรียน DevOps Bootcamp ฟรีบน CoddyKit นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน DevOps Bootcamp และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส DevOps Bootcamp มีบทเรียนทั้งหมด 4 บทเรียน

เมื่อสิ่งต่าง ๆ ทำงานผิดพลาด

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

ตรวจสอบโหนด

เริ่มจากภาพรวมก่อน โหนดของคลัสเตอร์มีสถานะสมบูรณ์และ Ready หรือไม่

kubectl get nodes -o wide

แสดงรายการพ็อดและสถานะ

ตรวจสอบระยะของพ็อด Running ถือว่าดี ส่วน Pending, CrashLoopBackOff หรือ ImagePullBackOff จะชี้ไปยังปัญหาเฉพาะ

kubectl get pods -o wide

ใช้ describe เพื่อดูรายละเอียด

kubectl describe คือเครื่องมือสำคัญที่สุดของคุณ โดยจะแสดงข้อกำหนด สถานะปัจจุบัน และรายการ เหตุการณ์ ที่อธิบายความล้มเหลวในการจัดตารางเวลาและการดึงอิมเมจ

kubectl describe pod my-app-abc123

อ่านบันทึกการทำงาน

ข้อผิดพลาดของแอปพลิเคชันมักปรากฏในบันทึกการทำงาน คุณสามารถสตรีมบันทึกเหล่านี้ด้วย -f หรืออ่านบันทึกก่อนหน้าของคอนเทนเนอร์ที่หยุดทำงานด้วย --previous

kubectl logs -f my-app-abc123

บันทึกจากการหยุดทำงาน

หากพ็อดเริ่มทำงานใหม่ซ้ำ ๆ คอนเทนเนอร์ปัจจุบันอาจยังไม่มีบันทึกที่เป็นประโยชน์ ให้ดูอินสแตนซ์ก่อนหน้าแทน

kubectl logs my-app-abc123 --previous

เข้าสู่คอนเทนเนอร์ด้วย Exec

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

kubectl exec -it my-app-abc123 -- sh

เหตุการณ์ทั่วทั้งคลัสเตอร์

ดูเหตุการณ์ล่าสุดทั่วทั้งเนมสเปซโดยเรียงตามเวลา เพื่อสังเกตรูปแบบที่มุมมองรายพ็อดอาจมองไม่เห็น

kubectl get events --sort-by=.lastTimestamp

ข้อผิดพลาดที่พบบ่อย: ImagePullBackOff

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

ข้อผิดพลาดที่พบบ่อย: CrashLoopBackOff

คอนเทนเนอร์เริ่มทำงานแล้วหยุดลงซ้ำ ๆ ให้ตรวจสอบ logs --previous เพื่อดูสาเหตุของการหยุดทำงาน ซึ่งมักเกิดจากคำสั่งไม่ถูกต้อง การกำหนดค่าหายไป หรือการพึ่งพาที่ทำงานไม่สำเร็จ

การตรวจสอบทรัพยากรและการเชื่อมต่อ

ใช้ kubectl top เพื่อดูการใช้ CPU และหน่วยความจำแบบปัจจุบัน (ต้องมีเซิร์ฟเวอร์เมตริก) และใช้ port-forward เพื่อทดสอบบริการโดยตรงจากเครื่องของคุณ

kubectl port-forward pod/my-app-abc123 8080:80

ตรวจสอบอย่างรวดเร็ว

วินิจฉัยพ็อดที่เริ่มทำงานใหม่

สรุปทบทวน

ตอนนี้คุณมีชุดเครื่องมือสำหรับแก้ไขปัญหาแล้ว:

  • get nodes/pods ใช้ตรวจสอบสถานะ และ describe ใช้ดูเหตุการณ์
  • logs (และ --previous) ใช้ตรวจสอบข้อผิดพลาดของแอปพลิเคชัน
  • exec ใช้ตรวจสอบจากภายใน และ port-forward ใช้ทดสอบ
  • จดจำ ImagePullBackOff และ CrashLoopBackOff

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

คำถามที่พบบ่อย

บทเรียน “การตรวจสอบและแก้ไขปัญหาคลัสเตอร์” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “การตรวจสอบและแก้ไขปัญหาคลัสเตอร์” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส DevOps Bootcamp ให้อัปเกรดเป็น CoddyKit PRO คอร์ส DevOps Bootcamp มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “การตรวจสอบและแก้ไขปัญหาคลัสเตอร์”

ใช้ kubectl ตรวจสอบสถานะโหนดและพ็อด อ่านบันทึก อธิบายเหตุการณ์ และเรียกใช้คำสั่งภายในคอนเทนเนอร์ เพื่อวินิจฉัยปัญหาในคลัสเตอร์แรกของคุณ คุณปฏิบัติ DevOps Bootcamp ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน DevOps Bootcamp หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน DevOps Bootcamp บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน

บทเรียน “การตรวจสอบและแก้ไขปัญหาคลัสเตอร์” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน DevOps Bootcamp นี้ได้ไหม

ได้ บทเรียน DevOps Bootcamp ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. การติดตั้งและตั้งค่า Minikube
  2. Kubeconfig และบริบท
  3. การนำแอปอย่างง่ายไปใช้งาน
  4. การตรวจสอบและแก้ไขปัญหาคลัสเตอร์
← กลับไปที่ DevOps Bootcamp