Puncte:0

Containerd nu a pornit după Nvidia Config

drapel ky

Am urmat asta tutorial oficial pentru a permite unui cluster k8s bare-metal să aibă acces GPU. Cu toate acestea, am primit erori în timp ce făceam asta.

Kubernetes 1.21 containered 1.4.11 și Ubuntu 20.04.3 LTS (GNU/Linux 5.4.0-91-generic x86_64).

Driverul Nvidia este preinstalat pe sistemul de operare cu versiunea 495 Headless

După ce lipiți următoarea configurație în interior /etc/containerd/config.toml și efectuați repornirea serviciului, containerd nu ar putea începe cu iesirea 1.

Containerd Config.toml

jurnal de sistem Aici.

# locație persistentă a datelor
root = "/var/lib/containerd"
# informații despre starea de rulare
stare = "/run/containerd"

# Kubernetes nu folosește managerul de repornire în container.
disabled_plugins = ["reporniți"]

# CONFIG NVIDIA ÎNCEPE AICI

versiunea = 2
[pluginuri]
  [plugins."io.containerd.grpc.v1.cri"]
    [pluginuri."io.containerd.grpc.v1.cri".containerd]
      default_runtime_name = "nvidia"

      [pluginuri."io.containerd.grpc.v1.cri".containerd.runtimes]
        [pluginuri."io.containerd.grpc.v1.cri".containerd.runtimes.nvidia]
          privileged_without_host_devices = false
          runtime_engine = ""
          runtime_root = ""
          runtime_type = „io.containerd.runc.v2”
          [pluginuri."io.containerd.grpc.v1.cri".containerd.runtimes.nvidia.options]
            BinaryName = „/usr/bin/nvidia-container-runtime”

# CONFIGURARE NVIDIA SE Termină AICI

[depanare]
  nivel = ""

[grpc]
  max_recv_message_size = 16777216
  max_send_message_size = 16777216

[plugins.linux]
  shim = "/usr/bin/containerd-shim"
  runtime = "/usr/bin/runc"

Pot confirma că driverul Nvidia detectează GPU-ul (Nvidia GTX 750Ti) rulând nvidia-smi și a primit următoarea ieșire

+--------------------------------------------- ----------------------------+
| Versiunea driverului NVIDIA-SMI 495.44: 495.44 Versiune CUDA: 11.5 |
|-------------------------------+------------------ -----+----------------------+
| Persistența numelui GPU-M| Autobuz-Id Disp.A | Volatil Uncorr. ECC |
| Fan Temp Perf Pwr:Utilizare/Cap| Utilizarea memoriei | GPU-Util Compute M. |
| | | MIG M. |
|================================+================== =====+=======================|
| 0 NVIDIA GeForce ... Oprit | 00000000:02:00.0 Dezactivat | N/A |
| 34% 34C P8 1W / 38W | 0MiB / 2000MiB | 0% Implicit |
| | | N/A |
+-------------------------------+----------------- -----+----------------------+

+--------------------------------------------- ----------------------------+
| Procese: |
| GPU GI CI Tip PID Nume proces Memorie GPU |
| ID ID Utilizare |
|=================================================== =============================|
| Nu s-au găsit procese care rulează |
+--------------------------------------------- ----------------------------+

modificat config.toml asta a pus-o la treaba.

drapel in
Două lucruri: probabil că veți primi un ajutor mai bun dacă postați jurnalele din containerul care a ieșit diferit de zero, deoarece detaliile contează.În al doilea rând, nu utilizați 1.4.11, a existat o remediere de securitate în [1.4.12](https://github.com/containerd/containerd/releases/tag/v1.4.12)
XPLOT1ON avatar
drapel ky
@mdaniel că pentru notificarea unei astfel de vulnerabilități, am actualizat toate nodurile. de asemenea, am actualizat postarea de mai sus cu jurnalul de sistem.
Puncte:2
drapel in

Din câte îmi dau seama, acesta este:

02 decembrie 03:15:36 k8s-node0 containerd[2179737]: containerd: URI de plugin dezactivat nevalid „repornire” așteptați io.containerd.x.vx

Dec 02 03:15:36 k8s-node0 systemd[1]: containerd.service: Proces principal ieșit, cod=ieșit, stare=1/Eșec

Deci daca tu stiu că cel repornirePluginul -ish este de fapt activat, va trebui să urmăriți noua sa sintaxă URI, dar de fapt aș recomanda doar să comentați acea strofă sau să mergeți cu disabled_plugins = [], de cand rolul containerd ansible folosim nu menționează nimic despre „repornire” și are = [] aromă


În mod tangenţial, este posibil să doriţi să restricţionaţi jurnalctl invocare în viitor să se uite doar la containerd.service, deoarece va arunca mult de text care este o distragere a atenției: journalctl -u containerd.service și îl puteți restricționa chiar la ultimele câteva rânduri, ceea ce uneori poate ajuta și mai mult: journalctl -u containerd.service --lines=250

XPLOT1ON avatar
drapel ky
Mulțumesc pentru răspunsul amplu, am încercat să pun „disabled_plugins” ca listă goală. Mi-a dat o eroare diferită „containerd: URI cheie plugin nevalid „linux” aștept io.containerd.x.vx”. Am atașat un container complet `config.toml` în postarea originală. Dacă ai putea arunca o privire, ar fi grozav.
drapel in
Da, pare să fie aceeași problemă; `linux` ca nume necalificat este, evident, stilul vechi, așa că ceea ce veți dori probabil este `[plugins."io.containerd.runtime.v1.linux"]` așa cum vedeți cu membrii `[plugins]` în partea de sus a fișierului și [așa cum se arată în șablonul la care am legat](https://github.com/particuleio/symplegma-containerd/blob/v1.4.3-rel.0/templates/config.toml.j2# L132)
XPLOT1ON avatar
drapel ky
Mulțumesc pentru ajutor, acum pot porni containerd-ul cu configurația integrată bazată pe documentele nvidia. Pentru referință viitoare: mi-am actualizat postarea inițială pentru config.toml actualizat
drapel in
Mă bucur să-l aud și mereu mă bucur când este ceva simplu și îți doresc mult succes în călătoria ta cu GPU-uri în k8s! Vă rugăm să luați în considerare includerea configurației în întrebarea dvs., deoarece conectarea la site-uri externe riscă ca acestea să fie 404 pentru generațiile viitoare.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.