StorageClass מאפשר להגדיר תצורות אחסון מותאמות אישית כדי לענות על הצרכים הספציפיים של המכונות הווירטואליות (VM) בסביבת זמן הריצה של VM ב-GDC. אתם יכולים להגדיר סוג אחסון שמוגדר כברירת מחדל לדיסקים וירטואליים, להקצות סוגים ספציפיים לדיסקים ולהגדיר פרופילי אחסון כדי לנהל את מצבי הגישה והנפח.
לפני שמתחילים
כדי להשלים את המשימות שבמסמך הזה, אתם צריכים גישה לאשכול של Google Distributed Cloud בגרסה 1.12.0 (anthosBareMetalVersion: 1.12.0) ואילך. אפשר להשתמש בכל סוג של אשכול שיכול להריץ עומסי עבודה. במקרה הצורך, תוכלו לנסות את Google Distributed Cloud ב-Compute Engine או לעיין בסקירה הכללית על יצירת אשכולות.
סקירה כללית על סוגי אחסון (storage classes)
אתם משתמשים ב-StorageClass כדי להגדיר את סוג האחסון שאתם מאפשרים למכונות הווירטואליות. יכול להיות שסוגי אחסון שונים ימופו לסוגים שונים של חומרת אחסון, מערכת קבצים או ביצועים. אתם יכולים ליצור מחלקות אחסון ולהשתמש בהן כדי לתמוך בעומסי העבודה שלכם ב-VM Runtime on GDC. מידע נוסף מופיע במאמר סוגי אחסון.
אפשר להגדיר StorageClass כברירת מחדל במשאב בהתאמה אישית של VM Runtime on GDC. אם לא מגדירים סוג ספציפי כשיוצרים VirtualMachineDisks,, המערכת משתמשת בברירת המחדל StorageClass. לא הוגדר StorageClass ראשוני כברירת מחדל. בקטע הבא מוסבר איך להגדיר או לעדכן את ברירת המחדל של StorageClass.
הגדרה או עדכון של StorageClass שמוגדר כברירת מחדל
בהתחלה, ל-Google Distributed Cloud עם VM Runtime on GDC אין StorageClass שמוגדר כברירת מחדל. כדי ליצור VirtualMachineDisk בלי לציין StorageClass, קודם צריך ליצור StorageClass ואז להגדיר אותו כברירת מחדל.
כדי להגדיר או לעדכן את ברירת המחדל של StorageClass שבה משתמשת סביבת זמן הריצה של VM ב-GDC כשיוצרים VirtualMachineDisk, צריך לעדכן את המשאב המותאם אישית VMRuntime.
עורכים את המשאב המותאם אישית
VMRuntime:kubectl edit vmruntimeמוסיפים או מעדכנים את הקטע
spec.storageשמציין את ברירת המחדל שלStorageClassשבה רוצים להשתמש:apiVersion: vm.cluster.gke.io/v1 kind: VMRuntime metadata: name: vmruntime spec: enabled: true storage: defaultStorageClass: STORAGE_CLASS_NAME ...עורכים את
STORAGE_CLASS_NAMEעם השם של ברירת המחדל שלStorageClassשבה רוצים להשתמש. אם אתם צריכים ליצור קודםStorageClass, קראו את המאמר יצירתStorageClass.שומרים וסוגרים את המשאב המותאם אישית
VMRuntimeבכלי העריכה.מעכשיו, כשיוצרים דיסק של מכונה וירטואלית בלי לציין
StorageClass, המערכת משתמשת ב-StorageClassשציינתם. בקטע הבא מוסבר איך ליצור דיסק ולהשתמש ב-StorageClass ספציפי.משאבי
VirtualMachineDiskקיימים לא מתעדכנים כדי להשתמש ב-StorageClassהחדש שצוין.
שימוש ב-StorageClass ספציפי
אם אתם לא רוצים להשתמש בערך ברירת המחדל של StorageClass כשאתם יוצרים VirtualMachineDisk, אתם יכולים להשתמש בשדה storageClassName כדי לציין StorageClass אחר.
כדי להשתמש ב-StorageClass ספציפי שכבר הוגדר כשיוצרים VirtualMachineDisk, מבצעים את השלבים הבאים:
יוצרים מניפסט של
VirtualMachineDisk, כמוmy-disk.yaml, בכלי העריכה שבוחרים:nano my-disk.yamlמעתיקים ומדביקים את המניפסט הבא ב-YAML:
apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachineDisk metadata: name: DISK_NAME spec: size: 10Gi storageClassName: STORAGE_CLASS_NAMEמחליפים את הערכים הבאים:
-
DISK_NAME: שם הדיסק. -
STORAGE_CLASS_NAME: ה-StorageClassשבו רוצים להשתמש לדיסק. ה-StorageClassהזה כבר צריך להיות קיים. אם אתם צריכים ליצור קודםStorageClass, קראו את המאמר יצירת StorageClass.
-
שומרים וסוגרים את המניפסט של הדיסק בכלי העריכה.
יוצרים את הדיסק באמצעות
kubectl:kubectl apply -f my-disk.yaml
הגדרת פרופילי אחסון
פרופילי אחסון מספקים אפשרויות הגדרה נוספות שמשויכות לכל StorageClass. אפשרויות ההגדרה האלה כוללות את מצב הגישה ומצב הנפח שבהם צריך להשתמש ב-VirtualMachineDisks שמשתמשים ב-StorageClass.
אם לא מגדירים פרופיל אחסון, הדיסקים מוגדרים כברירת מחדל למצב הגישה ReadWriteOnce. מצב הגישה הזה לא מספיק לעומסי עבודה בסביבת הייצור, כי תכונות כמו מיגרציה פעילה לא פועלות. מצב ברירת המחדל של נפח האחסון בלי פרופיל אחסון מוגדר הוא Filesystem.
סביבת זמן הריצה של VM ב-GDC יוצרת באופן אוטומטי פרופיל אחסון אחד לכל StorageClass באשכול. השם של פרופיל האחסון זהה לשם של ה-StorageClass המשויך. הפלט לדוגמה הבא מראה שלאשכול יש ארבע מחלקות אחסון ופרופילים משויכים:
$ kubectl get storageprofiles
NAME AGE
anthos-system 11d
node-disk 11d
standard 11d
nfs 11d
כדי לערוך פרופיל אחסון ולשנות את מצב הגישה או את מצב אמצעי האחסון:
עורכים את המשאב המותאם אישית
StorageProfile:kubectl edit storageprofile STORAGE_PROFILE_NAMEמחליפים את
STORAGE_PROFILE_NAMEב-StorageProfileשרוצים לערוך.מוסיפים רשומה אחת לרשימה
spec.claimPropertySetsשלStorageProfile:apiVersion: cdi.kubevirt.io/v1beta1 kind: StorageProfile metadata: name: nfs spec: claimPropertySets: - accessModes: - ACCESS_MODE volumeMode: VOLUME_MODE
accessModeו-volumeModeמשתמשים ברכיבי Kubernetes הבסיסיים. הערכים שתגדירו תלויים במנהל ההתקן של האחסון שבו אתם משתמשים. מחליפים את הערכים הבאים בהתאם לאחסון שבו משתמשים:-
ACCESS_MODE: מצב הגישה שבו רוצים להשתמש. אם יש תמיכה ב-StorageClassהמשויך, מצב הגישה המועדף הואReadWriteMany.- ערכים קבילים כוללים את
ReadWriteOnce,ReadOnlyMany,ReadWriteManyו-ReadWriteOncePod. אם לא מציינים ערך, המערכת משתמשת בערך שלReadWriteOnceעל סמך ברירות המחדל של VM Runtime on GDC. למידע נוסף, קראו את המאמר מצבי גישה.
- ערכים קבילים כוללים את
-
VOLUME_MODE: מצב עוצמת הקול שבו רוצים להשתמש.- הערכים הקבילים כוללים את
Filesystemו-Block. אם לא מציינים ערך, המערכת משתמשת ב-Filesystemעל סמך ברירות המחדל של Kubernetes. מידע נוסף זמין במאמר מצבי ווליום.
- הערכים הקבילים כוללים את
-
שומרים וסוגרים את המשאב המותאם אישית
StorageProfileבכלי העריכה.הגדרות פרופיל האחסון שהגדרתם משמשות עכשיו ליצירת דיסקים וירטואליים. משאבי
VirtualMachineDiskקיימים לא מתעדכנים כדי להשתמש בהגדרות של פרופיל האחסון שהוגדר.