Menu
CoddyTech

Vòng lặp lỗi khởi động

Thuộc phần Giới thiệu về Kubernetes trong hành trình Terminal của Coddy. Bài học 24 trên 45.

Một container được kỳ vọng sẽ tiếp tục chạy. Khi tiến trình của nó thoát, Kubernetes sẽ khởi động lại container đó (theo mặc định, restartPolicy của Pod là Always). Nếu container liên tục thoát, trạng thái sẽ chuyển thành CrashLoopBackOff và cột RESTARTS tăng lên, đồng thời thời gian chờ trước mỗi lần khởi động lại cũng dài hơn.

Đây là một container in ra thông báo rồi cố ý gặp lỗi:

kubectl run crash --image=busybox -- sh -c "echo boom; exit 1"

Mọi thứ sau -- là lệnh mà container chạy. Liệt kê các Pod vài lần và theo dõi trạng thái chuyển từ Running sang Error rồi đến CrashLoopBackOff.

Nguyên nhân nằm trong nhật ký: kubectl logs crash in ra boom, điều cuối cùng mà container nói. Ngay cả image không có gì để chạy, như busybox thông thường, cũng thoát ngay lập tức và rơi vào cùng một vòng lặp: Pod cần một tiến trình tiếp tục chạy.

challenge icon

Thử thách

Dễ

Tạo một Pod tên là crash từ image busybox, chạy lệnh sh -c "echo boom; exit 1". In nhật ký của Pod, sau đó liệt kê các Pod hai lần và theo dõi cho đến khi trạng thái chuyển thành CrashLoopBackOff.

Tự làm thử

Terminal
quiz iconTự kiểm tra

Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.

Tất cả bài học trong Giới thiệu về Kubernetes

Tự luyện tập: Playground Terminal