containerd restart from nvidia-container-toolkit causes other daemonsets to get stuck
Maintainer thường phản hồi trong vòng 1 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 38/100
- Loại issue
- Lỗi
- Độ rõ ràng
- Cần làm rõ
- Mức độ hoạt động
- Ít trao đổi
- Công nghệ
- kubernetes
- Lĩnh vực
- devops, infrastructure
Hướng nghiên cứu
Bắt đầu với issue containerd được liên kết và các log journalctl, sau đó theo dõi cách các DaemonSets do ClusterPolicy quản lý lập lịch cho config-manager-init và các pod GPU discovery hoặc device plugin. So sánh thời điểm SIGHUP với quá trình chuyển từ Created sang Running. Hoàn thành nghĩa là xác định và triển khai một cách được hỗ trợ để ngăn các pod bị mắc kẹt sau khi containerd khởi động lại hoặc khôi phục chúng khỏi trạng thái đó.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Original context and jounrnalctl logs here: https://github.com/containerd/containerd/issues/10437
As we know by default nvidia-container-toolkit sends a SIGHUP to containerd for the patched containerd config to take effect. Unfortunately the way gpu-operator schedules Daemonsets all at once, we have noticed our gpu discovery and nvidia device plugin pods get forever stuck in pending. This is primarily due to config-manager-init container getting stuck in Created and never transitioning to Running state due to containerd restart.
Timeline of race condition:
- nvidia-container-toolkit and nvidia-device-plugin schedules
- nvidia-device-plugin waits on toolkit-ready file validation via init container
- Patches the config to update nvidia runtime
- Sends SIGHUP and writes toolkit-ready file
- config-manager-init container from nvidia-device-plugin pod enters Created state
- containerd restarts
- config-manager-init forever stuck in Created, hence device plugin never gets to start
Today the only way for us to recover is to manually delete the stuck daemonset pods.
While I understand at the core this is containerd issue but this has become so troublesome we are looking for entrypoint and node label hacks. We are willing to take a solution that allows us to modify the entrypoint configmaps of daemonsets managed by ClusterPolicy.
I think something similar was discovered here but different effect
https://github.com/NVIDIA/gpu-operator/commit/963b8dc87ed54632a7345c1fcfe842f4b7449565
and was fixed with a sleep
P.S. I am aware container-toolkit has an option to not restart containerd, but we need a restart for correct toolkit injection behavior
cc: @klueska
- Ngôn ngữ chính
- Go
- Star
- 2.9k
- Fork
- 576
- Merge trung bình
- 1 ngày 9 giờ
- Pull request đã merge (30 ngày)
- 78
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của NVIDIA/gpu-operator
-
feature lifecycle/frozen needs-triage
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
NVIDIA/gpu-operator#3074 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
[Bug]: nvidia-validator waits the full timeout on a failed validation pod; loadPodSpec panicsĐang mởbug needs-triage
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
NVIDIA/gpu-operator#3065 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
[Bug]: ClusterPolicy isDaemonSetReady can report Ready from a DaemonSet status of an older generationCó thể đã có người làm @efegokdemir đã nhận 3 ngày trước. Đang mởbug needs-triage
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
NVIDIA/gpu-operator#3060 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
[Bug]: GPUCluster common name label breaks DRA validator selectorCó thể đã có người làm @ajavanma đã nhận 24 ngày trước. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
NVIDIA/gpu-operator#2955 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
[Bug]: driver-validation hides why a pre-installed driver failed and loops without a reasonCó thể đã có người làm @fjvbn2003 đã nhận hôm nay. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 25/100
NVIDIA/gpu-operator#3085 ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của NVIDIA/gpu-operator
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 81/100
apache/rocketmq-dashboard#6895 ·
Maintainer thường phản hồi trong vòng 3 ngày
-
agent-butler-finding chore
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 88/100
jordansmall/spindrift#5466 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 87/100
777genius/agent-notifications#490 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
devantler-tech/ksail#7836 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
keyxmakerx/Chronicle#1469 ·
Maintainer thường phản hồi trong vòng 1 ngày