שימוש בדרייבר של vSphere Container Storage Interface

במאמר הזה מוסבר איך להשתמש בדרייבר של vSphere Container Storage Interface ‏ (CSI) עם Google Distributed Cloud.

סקירה כללית

מנהל ההתקן של vSphere CSI נפרס באופן אוטומטי כשמתקינים את Google Distributed Cloud (תוכנה בלבד) ל-VMware. מידע על שימוש במנהלי התקנים אחרים של CSI זמין במאמר בנושא התקנת מנהל התקן של CSI.

הדרישות של vSphere

כדי להשתמש בדרייבר vSphere CSI, צריך:

הרחבת נפח

  • כדי לבצע הרחבת נפח אופליין, צריך ש-vCenter Server ו-ESXi יהיו בגרסה 7.0 Update 1 ואילך

  • כדי להרחיב את נפח האחסון אונליין, צריך ש-vCenter Server ו-ESXi יהיו בגרסה 7.0 Update 2 ואילך.

תמונת מצב של נפח

כדי ליצור תמונת מצב של נפח, צריך ש-vCenter Server ו-ESXi יהיו בגרסה 7.0 Update 3 ואילך.

Cns.Searchable

לחשבון המשתמש שלכם ב-vCenter צריכה להיות ההרשאה Cns.Searchable באובייקט הבסיס של vCenter.

אם אתם לא בטוחים אם החשבון שלכם עומד בדרישות המוקדמות של CSI, כדאי להריץ את הפקודה gkectl diagnose cluster לפני שמפעילים עומסי עבודה של CSI.

בדיקה שמנהל ההתקן מותקן

כשמנהל ההתקנים של vSphere CSI מותקן באשכול המשתמשים, נוצר StorageClass בשם standard-rwo.

מציגים רשימה של אובייקטים מסוג StorageClass:

kubectl --kubeconfig CLUSTER_KUBECONFIG get storageclass

מחליפים את CLUSTER_KUBECONFIG בנתיב של קובץ ה-kubeconfig של האשכול.

מוודאים שהתוצאה standard-rwo מופיעה בפלט. לדוגמה:

standard                 kubernetes.io/vsphere-volume  Delete   Immediate     false      33m
standard-rwo (default)   csi.vsphere.vmware.com    Delete   Immediate     true       32m

מוודאים שהדרייבר של vSphere CSI מותקן:

kubectl --kubeconfig CLUSTER_KUBECONFIG get csinode \
    -o="custom-columns=NAME:metadata.name,DRIVERS:spec.drivers[].name"

הפלט צריך לציין שהדרייבר זמין בכל הצמתים של האשכול. לדוגמה:

NAME     DRIVERS
node-0   csi.vsphere.vmware.com
node-1   csi.vsphere.vmware.com
node-2   csi.vsphere.vmware.com

מספר גדול של הקצאות

כדי להקצות נפחים באמצעות מנהל התקני ה-CSI של vSphere, צריך להגדיר את השדה storageClassName של PersistentVolumeClaim ל-standard-rwo.

הגדרת סוג האחסון (storage class) שמוגדר כברירת מחדל

כדי להגדיר את standard-rwo כסוג האחסון שמוגדר כברירת מחדל, אפשר לעיין במאמר בנושא סוג האחסון שמוגדר כברירת מחדל.

שימוש בתמונת מצב לשחזור נפח אחסון

איך משחזרים נפח מגיבוי Snapshot

יצירה של StorageClasses נוספים

אפשר ליצור עוד StorageClasses של vSphere CSI באשכול באמצעות הפרמטרים datastoreurl או storagepolicyname.

בדוגמה הבאה השתמשנו בפרמטר storagepolicyname:

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: gold
parameters:
  csi.storage.k8s.io/fstype: ext4
  storagepolicyname: "Gold Policy"
provisioner: csi.vsphere.vmware.com

כדי למצוא את הערך הנכון של הפרמטר datastoreurl, מריצים את הפקודה הבאה:

govc datastore.info DATASTORE_NAME

מחליפים את DATASTORE_NAME בשם של מאגר הנתונים של vSphere.

משתמשים בערך של URL מהפלט של datastoreurl. דוגמה לפלט:

Name:        DATASTORE_NAME
  Path:      /DATACENTER_NAME/datastore/DATASTORE_NAME
  Type:      VMFS
  URL:       ds:///vmfs/volumes/5d864fa0-7f2184d4-8eb4-3cfdfe0ce9a0/
  Capacity:  20479.8 GB
  Free:      10066.9 GB

ניקוי נפח האחסון

כשמוחקים אשכול משתמשים, אמצעי האחסון שהוקצו על ידי מנהל התקן vSphere CSI לא נמחקים. לפני שמוחקים את האשכול, צריך למחוק את כל ה-PVC ואת StatefulSets. כדי למחוק את אמצעי האחסון, מריצים את הפקודה הבאה:

kubectl delete statefulsets,persistentvolumeclaims --namespace=MY_NAMESPACE --all

מחליפים את MY_NAMESPACE במרחב השמות של Kubernetes.

אם מחקתם אשכול משתמשים בלי למחוק את אמצעי האחסון שלו, תוכלו למצוא את אמצעי האחסון בממשק המשתמש של vSphere:

  1. בוחרים מאגר נתונים.

  2. עוברים אל Monitor (מעקב) > Cloud Native Storage (אחסון בענן) > Container Volumes (נפחי אחסון של קונטיינרים).

  3. בקטע Details של כל נפח, אפשר לראות את השם של אשכול Kubernetes.

השבתת מנהל התקן vSphere CSI

כדי להסיר את התמיכה ב-vSphere CSI, מוסיפים את השורה הבאה להגדרות של אשכול המשתמשים:

# (Optional) Storage specification for the cluster storage:
# To disable the vSphere CSI driver, set this to true. The value is set to false by default and 
# the vSphere CSI driver is enabled by default on vSphere version >= 6.7U3.
  vSphereCSIDisabled: true

המאמרים הבאים