
나는 이것을 팔로우했다공식 튜토리얼베어 메탈 k8s 클러스터가 GPU 액세스를 갖도록 허용합니다. 그러나 그렇게 하는 동안 오류가 발생했습니다.
Kubernetes 1.21 컨테이너 1.4.11 및 Ubuntu 20.04.3 LTS(GNU/Linux 5.4.0-91-generic x86_64).
Nvidia 드라이버는 Headless 버전 495의 시스템 OS에 사전 설치되어 있습니다.
다음 구성을 내부에 붙여넣고 /etc/containerd/config.toml
서비스 다시 시작을 수행하면 컨테이너가 exit 1
.
컨테이너Config.toml
시스템 로그여기.
# persistent data location
root = "/var/lib/containerd"
# runtime state information
state = "/run/containerd"
# Kubernetes doesn't use containerd restart manager.
disabled_plugins = ["restart"]
# NVIDIA CONFIG START HERE
version = 2
[plugins]
[plugins."io.containerd.grpc.v1.cri"]
[plugins."io.containerd.grpc.v1.cri".containerd]
default_runtime_name = "nvidia"
[plugins."io.containerd.grpc.v1.cri".containerd.runtimes]
[plugins."io.containerd.grpc.v1.cri".containerd.runtimes.nvidia]
privileged_without_host_devices = false
runtime_engine = ""
runtime_root = ""
runtime_type = "io.containerd.runc.v2"
[plugins."io.containerd.grpc.v1.cri".containerd.runtimes.nvidia.options]
BinaryName = "/usr/bin/nvidia-container-runtime"
# NVIDIA CONFIG ENDS HERE
[debug]
level = ""
[grpc]
max_recv_message_size = 16777216
max_send_message_size = 16777216
[plugins.linux]
shim = "/usr/bin/containerd-shim"
runtime = "/usr/bin/runc"
nvidia-smi
Nvidia 드라이버가 실행을 통해 GPU(Nvidia GTX 750Ti)를 감지 하고 다음 출력을 얻었음을 확인할 수 있습니다.
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 495.44 Driver Version: 495.44 CUDA Version: 11.5 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|===============================+======================+======================|
| 0 NVIDIA GeForce ... Off | 00000000:02:00.0 Off | N/A |
| 34% 34C P8 1W / 38W | 0MiB / 2000MiB | 0% Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=============================================================================|
| No running processes found |
+-----------------------------------------------------------------------------+
수정됨config.toml그게 작동하게 됐어요.
답변1
내가 알 수 있는 최선의 방법은 다음과 같다:
12월 2일 03:15:36 k8s-node0 컨테이너d[2179737]: 컨테이너d: 비활성화된 플러그인 URI "다시 시작"이 유효하지 않음 io.containerd.x.vx 예상
12월 2일 03:15:36 k8s-node0 systemd[1]: Containerd.service: 기본 프로세스가 종료됨, 코드=종료, 상태=1/FAILURE
그래서 당신이알다 -ish restart
플러그인이 실제로 활성화되어 있으면 새로운 URI 구문을 추적해야 하지만 실제로는 해당 스탠자를 주석 처리하거나 를 사용하는 것이 좋습니다 disabled_plugins = []
.컨테이너 앤서블 역할우리는 "재부팅"에 대해 아무 것도 언급하지 않고 맛도 있습니다 = []
.
journalctl
접선적으로, 앞으로는 단지 보기만 하도록 호출을 제한할 수 있습니다.containerd.service
.많이주의를 산만하게 하는 텍스트: journalctl -u containerd.service
마지막 몇 줄로 제한할 수도 있습니다. 그러면 때로는 더 도움이 될 수 있습니다.journalctl -u containerd.service --lines=250