Ce sunt spațiile de nume pe un SSD și cum sunt utilizate în Linux?

Ultima actualizare: 17/12/2025
Autorul: Isaac
  • Într-un singur SSD NVMe, un spațiu de nume, este un set logic de blocuri (LBA) pe care gazda îl vede ca un dispozitiv independent, gestionat de comenzi de creare, ștergere și asociere.
  • Linux Expune fiecare spațiu de nume ca /dev/nvmeXnY, pe care partiții și sisteme de fișiere pot fi create sau utilizate ca bloc brut, gestionând permisiunile la nivel de dispozitiv.
  • Spațiile de nume sunt, de asemenea, un mecanism de kernel pentru izolarea resurselor (PID-uri, rețea, monturi, utilizatori etc.), baza containerelor și a sandbox-urilor precum Docker, Podman sau Flatpak.
  • În Kubernetes, spațiile de nume organizează și izolează resursele clusterului logic, permițând multitenancy, controlul accesului RBAC și cotele de resurse în cadrul aceluiași cluster fizic.

Spații de nume pe SSD-uri NVMe

Când începi cu adevărat să te implici depozitare modern, NVMe și LinuxE normal să te simți puțin copleșit: spații de nume, partiții, LVM, containere, Kubernetes… Se pare că totul folosește același cuvânt, dar nu înseamnă întotdeauna același lucru. Aici ne vom concentra asupra a ceea ce sunt acestea. spații de nume pe un SSD NVMeVom vedea cum arată din Linux și, din moment ce termenul este reutilizat, vom vedea și cum se încadrează spațiile de nume în kernelul Linux și Kubernetes, astfel încât să nu le mai confunzi.

Ideea este de a construi o imagine completă: de la ceea ce se întâmplă fizic în interiorul unui SSD-uri NVMe cu spații de nume logice, inclusiv modul în care sunt expuse ca dispozitive /dev/nvme0n1 în Linux și cum sunt gestionate cu instrumente precum nvme-cliȘi, în final, vom acoperi conceptul de spații de nume la nivel de sistem (IPC, PID, rețea etc.) și în orchestratori precum Kubernetes. Toate acestea vor fi prezentate într-un stil practic, accesibil și, mai presus de toate, fără a lăsa detalii neclar.

Ce este mai exact un spațiu de nume pe un SSD NVMe?

În tehnologia NVMe, un spațiu de nume este, literalmente, un set de adrese de bloc logice. (LBA, Adrese de Bloc Logice) pe care sistemul de operare le poate vedea ca și cum ar fi un dispozitiv bloc independent. Nu este o piesă fizică separată a NAND, ci o separare logică în interiorul SSD-ului.

Când producătorul configurează discul, controlerul NVMe organizează memoria flash într-unul sau mai multe spații de nume. Fiecare este identificat printr-un NSID (ID spațiu de nume) Controlerul este responsabil pentru expunerea acestor spații de nume către sistemul gazdă. Fiecare spațiu de nume este prezentat sistemului ca o destinație independentă, permițând unui singur SSD să apară sistemului ca mai multe „discuri” diferite.

În Linux, fiecare spațiu de nume apare ca un dispozitiv bloc de tip /dev/nvmeXnYunde X este indexul controlerului (de exemplu, 0) și Y este ID-ul spațiului de nume (de exemplu, 1). Astfel, /dev/nvme0n1 Indică „controler NVMe 0, spațiu de nume 1”. Acest dispozitiv poate tratează-l ca pe orice alt discPoate fi compartimentat, format, adăugați la LVM, utilizați ca volum brut etc.

Un detaliu important este că, în majoritatea unităților, În mod implicit, există un singur spațiu de nume a cărui dimensiune cuprinde toată capacitatea utilizabilă al SSD-ului. Cu toate acestea, standardul NVMe vă permite să ștergeți acel spațiu de nume și să recreați mai multe, fiecare cu propria dimensiune și anumite proprietăți particulare, cum ar fi un format LBA specific sau politici de securitate specifice.

Spații de nume și controlere NVMe

Dimensiunea, capacitatea și utilizarea unui spațiu de nume NVMe

Standardul NVMe definește o structură numită Identificați spațiul de nume care conține mai multe valori critice: dimensiunea, capacitatea și utilizarea fiecărui spațiu de nume. Puteți accesa aceste informații cu instrumente precum nvme-cli folosind comanda nvme id-ns și, de asemenea, cu programe pentru diagnosticarea hard disk-urilor și SSD-urilor.

În cadrul acestei structuri, se remarcă trei domenii cheie: NSZE, NCAP și NUSEÎnțelegerea lor bună este fundamentală pentru a controla modul în care utilizați efectiv spațiul din fiecare spațiu de nume și modul în care unitatea răspunde la operațiunile logice de ștergere (TRIM sau Dealocare).

Câmpul Dimensiunea spațiului de nume (NSZE) Indică numărul total de blocuri logice care alcătuiesc spațiul de nume, numerotate de la LBA 0 la LBA n-1. Este, ca să spunem așa, dimensiunea nominală a spațiului de nume: numărul de adrese de bloc pe care gazda le vede ca fiind disponibile, indiferent dacă sunt sau nu alocate intern.

Câmpul Capacitatea spațiului de nume (NCAP) Aceasta marchează numărul maxim de blocuri pe care dispozitivul le poate avea alocate efectiv la un moment dat. Deși poate părea același lucru cu NSZE, nu coincide neapărat: capacitatea poate fi mai mică decât dimensiunea oficială a spațiului de nume, ceea ce deschide calea către tehnici avansate de gestionare a spațiului și supra-aprovizionare internă.

În cele din urmă, câmpul Utilizarea spațiului de nume (NUSE) Aceasta reflectă câte blocuri logice sunt alocate în prezent. După o formatare completă, NUSE ar trebui să fie zero; pe măsură ce datele sunt scrise, această valoare crește și scade din nou doar atunci când sistemul trimite comenzi de eliberare a blocurilor (TRIM sau Deallocate). Acest indicator este foarte util pentru aplicațiile și sistemele care trebuie să știe dacă dispozitivul gestionează corect cererile de eliberare a spațiului.

Formatarea blocurilor și alte capabilități ale spațiului de nume

Pe lângă dimensiune și utilizare, fiecare spațiu de nume este descris prin comanda Identifica, ce formate LBA acceptă, ce dimensiuni de bloc sunt optime și dacă are funcții suplimentare, cum ar fi protecție end-to-end sau moduri de securitate diferite. Aceste informații sunt utilizate de sisteme de operare și aplicațiile pentru a ajusta dimensiunea operațiunilor de citire/scriere și a profita din plin de hardware.

Un singur SSD poate accepta unul sau mai multe Formate LBA (de exemplu, 4 KiB, 8 KiB etc.). În unele modele, toate spațiile de nume trebuie să aibă același format; în altele, fiecare spațiu de nume poate avea o dimensiune de bloc diferită. Acest lucru este util în special atunci când se combină sarcini de lucru diverse, unde un spațiu de nume este optimizat pentru I/O de fișiere mici, iar altul pentru citiri secvențiale mari.

Structura de identificare indică, de asemenea, dacă spațiul de nume acceptă informații de protecție (Informații de protecție, PI), adică metadate suplimentare care permit verificarea integrității datelor de-a lungul întregii căi, de la aplicație la NAND, reducând probabilitatea de corupere silențioasă.

  Ghid complet TMUX: Cum să gestionați mai multe terminale pe Linux

Trebuie subliniat faptul că Un singur spațiu de nume poate fi asociat cu unul sau mai multe controlere NVMe în cadrul aceluiași subsistem. Dacă este legat la un singur controler, se numește spațiu de nume privat; dacă este atașat la mai multe, se numește spațiu de nume partajat. Această flexibilitate este esențială în mediile cu disponibilitate ridicată și în matricele de stocare NVMe-oF (NVMe over Fabrics).

Gestionarea și utilizarea spațiului de nume pe SSD-uri

Gestionarea spațiului de nume: creare, ștergere și asociere

Specificația NVMe include două grupuri mari de comenzi pentru gestionarea spațiilor de nume: Management y asociere (Anexă)Cu primul puteți crea, modifica și șterge spații de nume; cu al doilea, le puteți atașa sau detașa de la unul sau mai multe controlere ale subsistemului.

Fluxul tipic este următorul: mai întâi gazda Creați un spațiu de nume cu parametrii doriți (dimensiune, capacitate, format LBA etc.). În acel moment, spațiul de nume nu este încă vizibil ca dispozitiv bloc pentru sistemul de operare. Pentru a-l face să apară, trebuie executată o comandă. atașacare îl leagă de un anumit controler sau mai multe. După o reseta Fie că provine de la controler sau din cauza unei redescoperiri, sistemul îl va expune în cele din urmă ca dispozitiv /dev/nvmeXnY.

De asemenea, puteți urma calea inversă: deconectarea unui spațiu de nume existent de la controlerele sale pentru a opri expunerea acestuia către gazdă și apoi a-l șterge complet. Aceasta este ceea ce se face de obicei atunci când doriți să recreați distribuția spațiilor de nume pe o unitate, de exemplu, pentru a modifica procentul de supra-aprovizionare sau pentru a reorganiza alocarea între diferite entități găzduite.

În Linux, instrumentul de referință pentru aceasta este nvme-cliCu acesta puteți lista spații de nume (nvme list), verificați detaliile cu Identify, creați spații de nume noi (nvme create-ns), atașați-le (nvme attach-ns), separați-le (nvme detach-ns) și ștergeți-le (nvme delete-nsAceste operațiuni necesită de obicei privilegii de administrator și trebuie planificate cu atenție, deoarece implică modificări semnificative ale aspectului unității. În plus, este recomandabil păstrați firmware-ul la zi.

Când lucrați cu mai multe spații de nume pe aceeași unitate, este obișnuit să utilizați spații de nume private pentru medii izolate (de exemplu, o gazdă specifică) și spații de nume partajate Pentru arhitecturi mai complexe, unde mai multe gazde accesează coordonat aceleași date printr-un subsistem NVMe-oF.

De ce să împarți un SSD NVMe în mai multe spații de nume?

Ar putea părea că cea mai simplă soluție este să lăsați SSD-ul cu un singur spațiu de nume care ocupă întreaga capacitate, dar există motive convingătoare pentru a crea mai multe spații de nume. Printre cele mai comune se numără: separare logică a clienților, securitate îmbunătățită și reglarea fină a performanței și durabilității.

În scenarii de multitenancyDe exemplu, în cazul furnizorilor de servicii cloud sau al platformelor mari, un singur SSD fizic poate găzdui datele mai multor clienți. Folosind spații de nume, fiecare chiriaș primește propriul „disc logic” izolat. Acest lucru simplifică foarte mult gestionarea, facturarea și proiectarea SLA-urilor, fără a fi necesară partiționarea fizică a NAND-ului.

Un alt motiv comun este securitate și criptare prin spațiu de numeMulte unități NVMe compatibile cu OPAL vă permit să definiți politici de criptare pe intervalele LBA. Dacă lucrați cu un singur spațiu de nume, puteți configura mai multe intervale protejate în cadrul acestuia; dar dacă creați spații de nume separate pentru diferite seturi de date, puteți aplica chei și reguli de criptare diferite pentru fiecare spațiu de nume, aliniate cu nivelul de sensibilitate al fiecărui set de date.

Exista si cazul medii cu cerințe de performanță foarte diferite pe aceeași mașină. Un spațiu de nume poate fi rezervat pentru o bază de date critică, cu un procent ridicat de supra-aprovizionare pentru a minimiza latența și a îmbunătăți reziliența, în timp ce un alt spațiu de nume servește pentru date care necesită mai puține I/O. Această separare ajută la prevenirea degradării experienței unei sarcini de lucru zgomotoase față de una mai sensibilă.

În plus, spațiile de nume permit aplică politici doar pentru citire la date importante, de exemplu, un sistem de operare încorporat sau o imagine a cizmă în produse mobile, medii cu securitate ridicată sau sisteme industriale. NVMe poate marca un spațiu de nume ca fiind temporar doar pentru citire (până la următorul ciclu de alimentare), până când blocarea este îndepărtată și unitatea este repornită sau chiar îl poate lăsa permanent în modul doar pentru citire pe întreaga durată de viață a unității.

Supra-aprovizionare și reglare fină după spațiul de nume

SSD-urile rezervă întotdeauna intern o anumită cantitate de memorie flash care nu este vizibilă sistemului, care este utilizată ca supraaprovizionare spațiu pentru sarcini interne precum colectarea gunoiului, nivelarea uzurii și gestionarea blocurilor defecte. Cu toate acestea, prin ajustarea dimensiunii spațiilor de nume, administratorul poate influența cât din NAND rămâne nealocat gazdei și, prin urmare, este disponibil ca rezervă internă.

Dacă creați un spațiu de nume semnificativ mai mic decât cantitatea totală de memorie flash fizică, lăsați o fracțiune mai mare de memorie neexpusă gazdei. Cu cât dispozitivul este mai supraalimentat, cu atât stabilitatea performanței este de obicei mai bună. și o rezistență mai mare în ciclurile de scriere, lucru fundamental în volumul de muncă intensiv de scriere.

De exemplu, imaginați-vă un SSD de 7,68 TB definit cu un spațiu de nume utilizabil de aproximativ 6,14 TBRestul rămâne ascuns de gazdă și este adăugat la bufferul de supra-aprovizionare. Cu instrumente precum nvme-cli Este posibil să ștergeți spațiile de nume anterioare, să le recreați cu dimensiunea dorită și să le reatașați controlerelor pentru a obține exact acest efect.

Una dintre provocările acestui proces este ajustarea corectă a dimensiunea spațiului de nume și granularitatea capacitățiiStandardul stipulează că atât NSZE, cât și NCAP sunt gestionate în unități care nu trebuie neapărat să corespundă exact dimensiunii blocului logic, ceea ce poate duce la porțiuni mici de memorie neadresabilă dacă valorile nu sunt alese cu atenție. Scopul este de a minimiza acest spațiu „irosit”, astfel încât spațiul de nume să fie cât mai complet posibil.

  Comanda Linux gpu-viewer: Instalarea, utilizarea și diagnosticarea GPU-ului

La crearea spațiului de nume, trebuie luate în considerare următoarele: restricții privind dispozitivele raportat de dispozitivul în sine. Prin ajustarea valorilor NSZE și NCAP pe baza acestor factori, este posibil să se asigure că aproape toată memoria fizică este utilizată corect, fie ca spațiu accesibil de către gazdă, fie ca supra-aprovizionare internă utilă pentru controler.

Spații de nume, partiții Linux, LVM și scurtături de bloc

Din perspectiva Linux, fiecare spațiu de nume NVMe apare ca un tipul dispozitivului bloc de bază /dev/nvme0n1De acolo, administratorul poate decide cum să îl utilizeze: să îl lase nepartiționat pentru I/O direct, să îl partiționeze ca pe un disc clasic sau să îl integreze în LVM sau alte sisteme de gestionare a volumelor.

Când partițiile sunt create pe acel spațiu de nume, kernelul le expune ca /dev/nvme0n1p1, /dev/nvme0n1p2etc. Sufixul „p” indică faptul că este o partiție a spațiului de nume, la fel cum /dev/sda1 este o partiție a /dev/sda. Sistemele de fișiere pot fi montate pe aceste partiții și pot fi utilizate în LVM, RAID software etc.

Dacă ceea ce cauți este expune stocarea în blocuri „brută” Când se accesează direct o bază de date sau un sistem de stocare distribuit, este obișnuit să se lucreze cu dispozitivul de spațiu de nume fără partiții sau cu o partiție dedicată, dar fără un sistem de fișiere deasupra acesteia. În aceste cazuri, aplicația comunică de obicei direct prin intermediul blocurilor logice și își gestionează propriul spațiu intern.

Trebuie remarcat faptul că Împărțirea unui spațiu de nume care este deja utilizat cu partiții nu este trivială. fără a afecta datele. Pentru a modifica aspectul spațiului de nume, procedura obișnuită este de a face o copie de rezervă a informațiilor, de a demonta, de a șterge spațiul de nume și de a-l recrea cu dimensiunea dorită, ceea ce necesită o planificare atentă în mediile de producție.

În ceea ce privește permisiunile, un dispozitiv bloc fără sistem de fișiere este controlat, ca orice alt nod din /dev, prin proprietar, grup și mod de accesÎn plus, ele pot fi folosite ACL-uri, reguli udev și mecanisme de control al accesului la sistem (de exemplu, grupuri speciale pentru acces la disc) pentru a decide ce utilizatori sau servicii pot citi și scrie într-un spațiu de nume sau într-una dintre partițiile sale.

Spații de nume ale kernelului Linux: izolarea resurselor de sistem

Cuvântul „namespace” nu este folosit doar în contextul NVMe. Nucleul Linux oferă un mecanism cu același nume, dar orientat către izolarea resurselor de sistem pentru proceseAceastă funcționalitate stă la baza unor tehnologii precum containerele Docker, Podman, LXC sau Flatpak și sandbox-urile cu bule de plastic.

În acest caz, un spațiu de nume încapsulează o resursă globală (puncte de montare, stivă de rețea, PID-uri, utilizatori, nume de gazdă, ceasuri etc.) într-o abstracție care face ca procesele care trăiesc în el să vadă instanță izolată proprie a acelei resurse. Modificările făcute din interiorul acelui spațiu de nume sunt vizibile doar proceselor care partajează același spațiu de nume.

Linux suportă în prezent mai multe tipuri de spații de nume: cgroup, ipc, mnt (mount), net, pid, utilizator, uts și orăFiecare izolează un aspect specific al sistemului. De exemplu, spațiul de nume al rețelei permite unui container să aibă propriile interfețe și tabele de rutare, în timp ce spațiul de nume PID îi atribuie propria numerotare a proceselor, începând de la 1.

Pentru a inspecta căror spații de nume aparține un anumit proces, pur și simplu uitați-vă la legături simbolice în /proc/<PID>/ns/Fiecare legătură indică un identificator de spațiu de nume, care poate fi partajat cu alte procese (dacă se află în același spațiu) sau poate fi diferit (dacă are un mediu izolat).

Instrumente precum folie cu bule (bwrap)Metodele utilizate de Flatpak se bazează tocmai pe aceste mecanisme. Bwrap creează sandbox-uri prin lansarea proceselor cu spații de nume separate pentru mount, PID, utilizator, rețea etc., astfel încât aplicația să ruleze într-un mediu limitat în care vede doar resursele care i-au fost acordate.

Experimente practice cu unshare și nsencer

Dacă vrei să experimentezi cu spațiile de nume Linux fără a instala nimic neobișnuit, ai la dispoziție comenzi de sistem, cum ar fi unshare y nsenterSunt foarte utile pentru a înțelege ce se întâmplă în culise atunci când rulați containere sau aplicații sandbox.

cu unshare Puteți lansa un proces nou cu unul sau mai multe spații de nume izolate: de exemplu, un shell care are propriul set de PID-uri și utilizatori. Când se rulează cu opțiuni precum –user, –pid și –forkVeți obține o sesiune în care procesul care rulează în interior vede PID-ul 1 ca fiind al său și, în plus, rulează cu un utilizator diferit (de exemplu, nimeni), ceea ce subliniază această izolare.

În aceste medii, este important să se configureze o /proc nou și izolat folosind opțiunea –mount-procDacă acest lucru nu se face, unele utilități care depind de acesta nu vor putea funcționa corect. /proc/<PID>/exe Acestea pot eșua deoarece încearcă să vizualizeze informațiile despre proces pe baza spațiului de nume al gazdei și a blocurilor kernel care accesează pentru a menține izolarea securității.

De asemenea, trebuie menționat că, dacă unshare nu folosește -furculiţăAr putea executa comanda în cadrul aceluiași proces și ar putea cauza erori curioase, cum ar fi incapacitatea de a monta /proc în mod adecvat sau erori de alocare a memoriei, deoarece procesul nu își asumă rolul corect al PID-ului 1 în noul spațiu de nume.

În plus, nsenter Face exact invers: îți permite să „intri” în spațiile de nume ale unui proces existent. Aceasta este ceea ce se face de obicei pentru a examina modul în care un container sau o aplicație Flatpak vede lumea dinspre gazdă. Odată ajuns în interior, poți inspecta stiva de rețea, punctele de montare, tabelul intern de procese și așa mai departe, ca și cum ai fi „în interiorul” containerului.

  Controlul ventilatoarelor în Windows 11 cu ASUS Fan Xpert, MSI și Gigabyte SIV

Spații de nume și containere: de la Flatpak la Podman și Docker

Odată ce înțelegi spațiile de nume ale kernelului, este ușor de văzut cum Containerele nu sunt magice, ci o compoziție a mai multor primitive: spații de nume pentru izolarea resurselor, grupuri de control pentru limitarea consumului, capabilități pentru controlul privilegiilor și sisteme de fișiere stratificate pentru împachetarea aplicațiilor.

Utilizări Flatpak folie cu bule pentru a crea medii izolate pentru aplicațiile desktop. Fiecare aplicație rulează într-un set de spații de nume unde căile pe care le poate accesa, vizibilitatea proceselor, accesul la rețea etc. sunt restricționate. La nivel de proces, este clar că PID-urile, punctele de montare și adesea utilizatorul diferă de cele ale sistemului gazdă.

În mod similar, instrumente precum LXC, Docker sau Podman Acestea cuprind diferite spații de nume pentru a construi containere de uz general. De exemplu, un container fără rădăcini ar putea utiliza un spațiu de nume de utilizator pentru a mapa ID-urile interne la ID-uri neprivilegiate pe gazdă și un spațiu de nume de rețea pentru a avea interfețe virtuale dedicate. Analizarea ID-ului procesului containerului pe gazdă și introducerea cu nsenterAceastă izolare poate fi verificată direct.

Pentru situațiile în care doriți să creați mai ușor spații de nume „fără rădăcini”, puteți utiliza instrumente precum kit fără rădăcinicare ajută la configurarea tuturor setărilor necesare, astfel încât un utilizator fără privilegii să poată crea medii izolate fără acces direct la rădăcină, ceva din ce în ce mai solicitat în mediile moderne cu mai mulți utilizatori.

Spații de nume în Kubernetes: clustere virtuale logice

Termenul spațiu de nume reapare în Kubernetes, dar aici se referă la un mecanism logic pentru segmentarea resurselor într-un singur clusterNu are nicio legătură cu adresele de bloc NVMe sau cu izolarea la nivel de kernel, deși conceptual este folosit și pentru separare și organizare.

În Kubernetes, un spațiu de nume este ca un cluster virtual în cadrul clusterului fizicEste utilizat pentru a grupa resurse (pod-uri, servicii, implementări etc.) astfel încât acestea să poată fi gestionate și izolate de echipe, proiecte sau medii (dezvoltare, testare, producție) fără a fi nevoie să se configureze mai multe clustere reale.

Aceste spații de nume permit resurselor să existe cu același nume în contexte diferiteDe exemplu, ați putea avea un serviciu numit serviciul meu în spațiul de nume Desarrollo și un altul cu același nume în producere fără conflict, deoarece unicitatea este garantată doar în cadrul fiecărui spațiu de nume.

În plus, spațiile de nume Kubernetes sunt integrate cu RBAC (controlul accesului bazat pe roluri)Este posibil să se definească permisiuni care limitează utilizatorii sau conturile de serviciu care pot crea, modifica sau citi resurse într-un anumit spațiu de nume, ceea ce facilitează foarte mult delegarea securizată între diferite echipe sau organizații care partajează infrastructura.

O altă piesă cheie este cote de resurseKubernetes vă permite să restricționați, prin spațiul de nume, cantitatea de CPU, memorie, obiecte (cum ar fi pod-uri) și alte resurse pe care le pot consuma sarcinile de lucru. Acest lucru împiedică un singur proiect să consume întregul cluster și promovează o utilizare mai previzibilă și echitabilă a resurselor.

Funcționarea practică a spațiilor de nume în Kubernetes

Într-un cluster nou instalat, Kubernetes creează de obicei mai multe spații de nume în mod implicit: implicit, sistem-kube și public-kubePrimul este utilizat pentru resurse care nu specifică un spațiu de nume; al doilea este destinat componentelor interne ale sistemului; al treilea, accesibil chiar și utilizatorilor neautentificați, este rezervat anumitor elemente care trebuie citite public la nivel de cluster.

Pentru a vedea spațiile de nume disponibile, puteți utiliza kubectl get namespaces sau abrevierea sa. De acolo, administratorul poate crearea și ștergerea spațiilor de nume după cum este necesar, de obicei urmând o strategie organizațională bazată pe proiect sau pe mediu (de exemplu, dev, înscenare, prod).

Când o comandă este lansată cu kubectlSpațiul de nume țintă poate fi specificat temporar folosind opțiunea –spațiu de numeSau puteți configura un context implicit care face ca toate operațiunile să indice către un anumit spațiu de nume, ceea ce salvează erorile și vă împiedică să tastați opțiunea în fiecare comandă.

În ceea ce privește DNS-ul, Kubernetes înregistrează serviciile folosind un nume de domeniu complet calificat (FQDN) astfel: . .svc.cluster.localÎn cadrul aceluiași spațiu de nume, simpla utilizare a numelui serviciului este suficientă, iar rezoluția DNS se va ocupa de restul. Cu toate acestea, dacă doriți să accesați un serviciu dintr-un spațiu de nume diferit dintr-un pod dintr-un spațiu de nume, trebuie să utilizați numele de domeniu complet calificat (FQDN) sau un nume parțial care include cel puțin serviciul și spațiul de nume.

Nu toate obiectele Kubernetes se află într-un spațiu de nume. Spațiile de nume în sine, nodurile sau volumele persistente Acestea sunt resurse la nivel de cluster și nu sunt încapsulate într-un spațiu de nume. Acest lucru este important pentru a înțelege care resurse sunt segmentate logic și care sunt considerate globale.

În general, se recomandă să începeți utilizarea spațiilor de nume atunci când Clusterul are deja un număr considerabil de utilizatori și aplicațiisau când aveți nevoie de o izolare clară între echipe. Pentru diferențe mai puțin profunde (cum ar fi versiunile aplicațiilor), este de obicei mai bine să utilizați etichete în cadrul aceluiași spațiu de nume decât să multiplicați inutil numărul de spații de nume.

Dacă punem toate aceste elemente laolaltă — spațiile de nume în SSD-urile NVMe pentru segmentarea adreselor de bloc, spațiile de nume din kernel pentru izolarea resurselor de proces și spațiile de nume în Kubernetes pentru organizarea logică a resurselor clusterului — observăm că același cuvânt este reutilizat pentru idei conexe: crearea de domenii separate într-un spațiu partajatFiecare cu propria viziune și reguli. Înțelegerea nivelului în care te afli la un moment dat este ceea ce face diferența dintre un sistem ordonat și unul imposibil de întreținut.

întreținerea hard disk-ului în Linux
Articol asociat:
Întreținerea hard disk-ului în Linux: Un ghid complet și practic