ב-Google Distributed Cloud (תוכנה בלבד) ל-VMware, באשכול משתמשים שנוצר יש אובייקט StorageClass אחד או יותר, ואחד מהם מוגדר כ-StorageClass שמוגדר כברירת מחדל. בדף הזה מוסבר איך להגדיר את StorageClass כברירת מחדל עבור אשכול משתמשים. מידע נוסף מופיע במאמר בנושא אחסון.
הדף הזה מיועד למומחי אחסון שמגדירים ומנהלים את הביצועים, השימוש וההוצאות של האחסון. מידע נוסף על תפקידים נפוצים ועל משימות לדוגמה שאנחנו מתייחסים אליהן ב Google Cloud תוכן, זמין במאמר תפקידים נפוצים של משתמשים ומשימות ב-GKE.
איך מוצאים את 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, הספקים צריכים לספק הוראות לפריסת מנהל התקן ה-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.