המסמך הזה מיועד לבעלי אפליקציות ולאדמינים של פלטפורמות שמריצים את Google Distributed Cloud. במאמר הזה מוסבר איך ליצור ולהשתמש במחלקות אחסון למכונות וירטואליות שמשתמשות ב-VM Runtime ב-GDC. StorageClass
מאפשרת להגדיר תצורות אחסון שונות כדי לספק את הצרכים השונים של המכונות הווירטואליות.
לפני שמתחילים
כדי להשלים את המסמך הזה, צריך גישה לאשכול Google Distributed Cloud בגרסה 1.12.0
(anthosBareMetalVersion: 1.12.0) ומעלה. אפשר להשתמש בכל סוג של אשכול שיכול להריץ עומסי עבודה. אם צריך, אפשר לנסות את Google Distributed Cloud ב-Compute Engine או לעיין בסקירה הכללית על יצירת אשכולות.
סקירה כללית על סוגי אחסון (storage classes)
משתמשים ב-StorageClass כדי להגדיר את סוג האחסון שיהיה זמין למכונות וירטואליות. יכול להיות שסוגי אחסון שונים ימופו לסוגים שונים של חומרת אחסון, מערכת קבצים או ביצועים. אתם יכולים ליצור ולהשתמש במחלקות אחסון כדי לתמוך בעומסי העבודה של המחשוב ב-VM Runtime ב-GDC. מידע נוסף מופיע במאמר סוגי אחסון.
אפשר להגדיר ערך ברירת מחדל StorageClass במשאב המותאם אישית של VM Runtime ב-GDC. אם לא מגדירים סוג אחסון ספציפי כשיוצרים VirtualMachineDisks,, המערכת משתמשת בברירת המחדל הזו StorageClass. לא מוגדר StorageClass ראשוני כברירת מחדל. בקטע הבא מוסבר איך להגדיר או לעדכן את ברירת המחדל הזו של StorageClass.
הגדרה או עדכון של StorageClass שמוגדר כברירת מחדל
במקור, ל-Google Distributed Cloud עם VM Runtime ב-GDC לא מוגדר StorageClass כברירת מחדל. כדי ליצור VirtualMachineDisk בלי לציין StorageClass, צריך קודם ליצור StorageClass ואז להגדיר אותו כברירת מחדל.
אם רוצים להגדיר או לעדכן את ברירת המחדל של StorageClass ש-VM Runtime ב-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, צריך לבצע את השלבים הבאים:
יוצרים קובץ
VirtualMachineDiskmanifest, כמו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 Runtime ב-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 ב-GDC. מידע נוסף זמין במאמר בנושא מצבי גישה.
- הערכים הקבילים כוללים
-
VOLUME_MODE: מצב עוצמת הקול שרוצים להשתמש בו.- הערכים הקבילים כוללים
Filesystemו-Block. אם לא מציינים ערך, נעשה שימוש בערך שלFilesystemעל סמך ברירות המחדל של Kubernetes. מידע נוסף זמין במאמר בנושא מצבי עוצמת הקול.
- הערכים הקבילים כוללים
-
שומרים וסוגרים את המשאב המותאם אישית
StorageProfileבכלי העריכה.הגדרות פרופיל האחסון שהגדרתם ישמשו אתכם מעכשיו בכל פעם שתצרו דיסקים וירטואליים. משאבים קיימים
VirtualMachineDiskלא מתעדכנים לשימוש בהגדרות של פרופיל האחסון שהוגדר.