Puncte:0

Kubernetes - PersitentVolume vs StorageClass

drapel de

Am acest exemplu de volum persistent de la acest articol despre postgresql prin kubernetes statefulset

fel: PersistentVolume
apiVersion: v1
metadate:
  nume: pgdata
  etichete:
    aplicație: postgres
    tip: local
specificație:
  storageClassName: sc001
  capacitate:
    stocare: 1Gi
  Moduri de acces:
    - ReadWriteOnce
  hostPath:
    cale: "/var/data"

Se pare că funcționează, dar au probleme cu logica.

  1. din câte înțeleg problema de care ai nevoie fie A persistentVolum sau A storageClass pentru a satisface nevoile unui PersistentVolumeClaim. Unde un PV este static în timp ce SC este dinamic. Înțeleg fie/sau ca exclusiv fie unu sau celălalt, nu amândoua (Cred că așa se numește NICI în opoziţie cu SAU).
    Deci nu înțeleg ce a storageClaseName se descurcă aici. Ma poate ajuta cineva cu intelegerea logica?

  2. Eu cred tip: local & cale: "/var/data" înseamnă că volumul există în sistemul de fișiere local al nodului și conținutul său poate fi găsit în /var/data director pe acel nod
    Pentru ce valoare ar trebui să folosesc tip dacă am vrut să folosesc altceva? cum ar fi stocarea oferită de un furnizor (csi.vsphere.vmware.com în cazul meu)?

Puncte:3
drapel us

Sper că am înțeles corect întrebarea.

Un persistentVolumeClaim se leagă întotdeauna de un persistentVolume, ideea este de a avea o revendicare conectată la un disc, astfel încât podul să se poată atașa la același disc, indiferent de nodul pe care se instalează.

StorageClass este un mecanism automat de furnizare persistentVolume, adică dacă specificați un persistentVolumeClaim și există o storageClass implicit configurată, acesta va crea un persistentVolume și îl va atașa la persistentVolumeClaim.

De asemenea, puteți crea manual un volum persistent și acesta se va atașa la persistentVolumeClaim (indiferent de o clasă de stocare), dar imagineați un mediu mare cu sute de pvcs și menținând un pv pentru fiecare pvc.

De asemenea, puteți specifica un pv la care să atașați pvc-ul.

The tip: local configurația este un volum local pe nod care acționează ca un pv. În cazul dvs., vmware creează un fișier vmdk și îl copiază în nodul pe care este implementat pod-ul.

Sper că te ajută.

vrms avatar
drapel de
multumesc pentru comentariul tau. Deci înțelegerea mea `PV` **sau** `sc` este incorectă atunci? Există întotdeauna un `pv` doar modul în care stocarea reală în fundal este furnizată pentru care este diferit (fie manual, fie printr-un sc).
vrms avatar
drapel de
Poate că termenul de _"crearea manuală a unui volum persistent"_ este ceea ce mă induce în eroare. Înseamnă asta „kubctl create pv ...” (sau fișierul echivalent .yaml) sau crearea manuală, adică un disc vmdk pe un nod (sau în altă parte) care poate fi folosit pentru a furniza stocare fizică reală pentru un astfel de obiect pv?
Puncte:0
drapel br
Întrebare: Deci nu înțeleg ce face un storageClaseName aici. Ma poate ajuta cineva cu intelegerea logica?

StorageClaseName trebuie să specifice clasa unui volum persistent. Voi folosi un caz de utilizare pentru a explica. Imaginați-vă că doriți să gestionați stocarea aplicațiilor critice de producție în 3 categorii diferite. Aur, argint și bronz. Aurul este pentru aplicații critice de producție, iar restul sunt pentru aplicațiile mai puțin critice. Acum puteți aloca cu ușurință ce tip de spațiu de stocare doriți să atribuiți unei aplicații în funcție de nivelul de risc al acesteia. De exemplu, vreau să folosesc stocarea clasa Gold pentru serviciul meu de streaming video, apoi va trebui să specific un PVC cu un storageClassName setat la clasa gold. Acum, kubernetes va găsi (dacă este disponibil) un PV care aparține categoriei clasei aur pentru a satisface această solicitare. Dacă există un PV care este suficient de dimensiune pentru acest PVC, dar nu aparține clasei Gold, atunci acel PV nu va fi utilizat pentru a satisface această cerință.

apiVersion: v1
fel: PersistentVolumeClaim
metadate:
  nume: gold-class-claim
specificație:
  Moduri de acces:
    - ReadWriteOnce
  storageClassName: clasa-aur-stocare
  ....
Întrebare: Ce valoare ar trebui să folosesc pentru tip dacă aș vrea să folosesc altceva?

Vă rugăm să consultați acest link: https://kubernetes.io/docs/concepts/storage/persistent-volumes/#types-of-persistent-volumes

vrms avatar
drapel de
vrei să spui că `tipul` este întotdeauna unul dintre tipurile enumerate pe acel link (deci în cazul meu (cluster vmware tanzu) cel mai probabil `vsphereVolume`)?

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.