לאשכול משתמש שנוצר באמצעות תוכנת 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.