הגדרת StorageClass כברירת מחדל

לאשכול משתמש שנוצר באמצעות תוכנת Google Distributed Cloud ל-VMware בלבד יש אובייקט StorageClass אחד או יותר, ואחד מהם מוגדר כברירת המחדל של StorageClass. בדף הזה מוסבר איך להגדיר את ברירת המחדל של StorageClass לאשכול משתמש. מידע נוסף זמין במאמר אחסון.

הדף הזה מיועד למומחי אחסון שמגדירים ומנהלים את הביצועים, השימוש וההוצאות של האחסון. במאמר תפקידים ומשימות נפוצים של משתמשי GKE מפורטים תפקידים נפוצים ודוגמאות למשימות שמוזכרות בתוכן של Google Cloud .

חיפוש ה-StorageClass שמוגדר כברירת מחדל

מציגים את כל ה-StorageClasses:

kubectl --kubeconfig USER_CLUSTER_KUBECONFIG get storageclasses

בפלט אפשר לראות איזה StorageClass מוגדר כברירת מחדל. לדוגמה, בפלט הבא אפשר לראות ש-StorageClass בשם standard-rwo הוא ברירת המחדל של StorageClass:

standard                      kubernetes.io/vsphere-volume
standard-rwo (default)        csi.vsphere.vmware.com

כשמבקשים אחסון, אפשר לציין StorageClass. אם לא מציינים StorageClass, המערכת משתמשת ב-StorageClass שמוגדר כברירת מחדל. לדוגמה, נניח שאתם יוצרים PersistentVolumeClaim שלא מצוין בו StorageClass. בקר עוצמת הקול ימלא את הבקשה בהתאם ל-StorageClass שמוגדר כברירת מחדל.

שינוי ברירת המחדל של StorageClass

כאדמינים של אשכול, יכול להיות שתרצו לשנות את סוג האחסון שמוגדר כברירת מחדל. לאחר מכן, כל הבקשות לאחסון שלא מצוין בהן StorageClass ימולאו בהתאם ל-StorageClass שבחרתם. כאן מוסבר איך משנים את ברירת המחדל.

פריסת מערכת אחסון חדשה

פורסים מערכת אחסון חדשה ורכיבי תוכנה לשילוב מנגנון האחסון החדש עם אשכול Kubernetes. לדוגמה, יכול להיות שתצטרכו להתקין מנהל התקן CSI באשכול.

השלב הזה תלוי בספק האחסון שבו אתם משתמשים. ספקים של מנהלי התקני CSI צריכים לספק הוראות לפריסת מנהל ההתקן שלהם באשכול Kubernetes. המסמכים של מנהל התקן CSI צריכים לכלול גם את הפרמטרים הספציפיים למנהל ההתקן שאתם מספקים ב-StorageClass, כולל שם ה-provisioner.

כשיוצרים StorageClass למכשיר החדש, צריך לתת ל-StorageClass שם לפי המאפיינים שלו (כמו "fast" או "highly-replicated"), ולא לפי השם של הדרייבר או המכשיר הספציפיים שמאחוריו. כך קל יותר להגדיר כללי מדיניות עקביים לאחסון באשכולות ובסביבות שונות.

הסרת ההערה שמוגדרת כברירת מחדל מ-StorageClass שמוגדר כברירת מחדל

פותחים את ברירת המחדל של StorageClass בכלי לעריכת טקסט:

kubectl --kubeconfig [USER_CLUSTER_KUBECONFIG] edit storageclass \
    DEFAULT_STORAGE_CLASS

בכלי לעריכת טקסט, מסירים את ההערה storageclass.kubernetes.io/is-default-class: "true". סוגרים את הכלי לעריכת טקסט.

כדי לוודא שההערה הוסרה, מזינים את הפקודה הבאה:

kubectl --kubeconfig [USER_CLUSTER_KUBECONFIG] get storageclass \
    DEFAULT_STORAGE_CLASS --output yaml

יצירת StorageClass חדש

יוצרים מניפסט ל-StorageClass חדש. כוללים את ההערה storageclass.kubernetes.io/is-default-class: "true". לדוגמה:

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  annotations:
    storageclass.kubernetes.io/is-default-class: "true"
  ...
  name: my-storage-class
  ...
parameters:
  ...
provisioner: [MY_PROVISIONER]
...

שומרים את המניפסט כקובץ YAML ויוצרים את ה-StorageClass החדש:

kubectl --kubeconfig [CLUSTER_KUBECONFIG] apply -f [MANIFEST_FILE]

‫[MANIFEST_FILE] הוא הנתיב לקובץ המניפסט החדש של StorageClass.

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