Nvidia Config 이후 Containerd를 시작하지 못했습니다.

Nvidia Config 이후 Containerd를 시작하지 못했습니다.

나는 이것을 팔로우했다공식 튜토리얼베어 메탈 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-smiNvidia 드라이버가 실행을 통해 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

관련 정보