המניפסטים הבאים מתארים את השדות הנתמכים של מנהל התקן CSI במשאבים Storage Class ו-Persistent Volume.
סוג אחסון (storage class)
המניפסט הבא כולל את כל השדות הנתמכים ב-Storage Class.
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: lustre-csi-example-storage-class
provisioner: lustre.csi.storage.gke.io
parameters:
network: VPC_NETWORK # optional
filesystem: LUSTRE_FILESYSTEM_NAME # optional
labels: KEY_1=VALUE_1,KEY_2=VALUE_2,...,KEY_N=VALUE_N # optional
description: DESCRIPTION # optional
perUnitStorageThroughput: 125 | 250 | 500 | 1000 # required
volumeBindingMode: WaitForFirstConsumer | Immediate # default is Immediate
allowedTopologies:
- matchLabelExpressions:
- key: topology.gke.io/zone
values:
- ZONE_1
- ZONE_2
mountOptions:
- LUSTRE_MOUNT_OPTIONS
מחליפים את הערכים הבאים:
network: אופציונלי. רשת הענן הווירטואלי הפרטי (VPC) שבה יוצרים את המכונה של Managed Lustre. אם לא מציינים את המאפיין הזה, המערכת משתמשת ברשת שמוגדרת כברירת מחדל.כדי ליצור מכונה של Managed Lustre ברשת VPC משותפת, צריך לספק את השם המלא של הרשת. לדוגמה,
projects/PROJECT_ID/global/networks/VPC_NETWORK_NAME.
filesystem: מציין את ה-fsnameשל המכונה ב-Managed Lustre. הפרמטר הזה משמש להקצאה דינמית. הערך שלfsnameחייב להיות מחרוזת אלפאנומרית של עד שמונה תווים, שמתחילה באות. אם לא תציינו ערך, מנהל ההתקן של CSI ייצורfsnameבפורמט"lfsNNNNN"(לדוגמה,"lfs97603").
labels: אופציונלי. ב-Managed Lustre אפשר להוסיף תוויות לכל מכונה, כמפה של צמדי מפתח/ערך. מנהל ההתקן של Managed Lustre CSI מאפשר לצרף למכונה תוויות שהמשתמשים סיפקו.
description: אופציונלי. תיאור של המכונה. האורך המותר הוא 2,048 תווים לכל היותר.
perUnitStorageThroughput: מציין את קצב העברת הנתונים באחסון לכל יחידה (MB/s/TiB) במכונה. הערכים הנתמכים הם125,250,500ו-1000. ערך ברירת המחדל הוא1000.
allowTopologies: אופציונלי. מכונות Managed Lustre הן משאבים של תחום מוגדר. אם לא מציינים את המאפיין הזה, המכונה של Managed Lustre נוצרת באותו אזור שבו נמצא ה-Pod של מנהל ההתקן של בקר ה-CSI, ומצב הקישור של אמצעי האחסון מוגדר כברירת מחדל ל-Immediate.אם מציינים את
WaitForFirstConsumer, הטופולוגיה מוגדרת למקום שבו מתוזמן ה-Pod. עם זאת, ההגדרה הזו יכולה לגרום לחסימה של Pods בזמן שהם ממתינים להקצאת נפח אחסון.מנהל ההתקן של Managed Lustre CSI תומך בתכונת הטופולוגיה כדי לוודא שהנפחים הקבועים וה-Pods ממוקמים בטופולוגיות המותרות, על סמך הטופולוגיה שסופקה ב-StorageClass.
mountOptions: אופציונלי. מציינת אפשרויות טעינה שלmount.lustre. אמצעי האחסון של Managed Lustre מקבלים בירושה את אפשרויות הטעינה האלה מה-StorageClass בשדהpv.spec.mountOptions.
נפח אחסון מתמיד (Persistent Volume)
המניפסט הבא כולל את כל השדות הנתמכים ב-Persistent Volume.
apiVersion: v1
kind: PersistentVolume
metadata:
name: preprov-pv
annotations:
pv.kubernetes.io/provisioned-by: lustre.csi.storage.gke.io
spec:
mountOptions:
- LUSTRE_MOUNT_OPTIONS
...
storageClassName: ""
capacity:
storage: CAPACITY
accessModes:
- ReadWriteMany
persistentVolumeReclaimPolicy: Retain
volumeMode: Filesystem
csi:
driver: lustre.csi.storage.gke.io
volumeHandle: EXISTING_LUSTRE_INSTANCE_NAME
volumeAttributes:
ip: EXISTING_LUSTRE_IP_ADDRESS
filesystem: EXISTING_LUSTRE_FSNAME
מחליפים את הערכים הבאים:
-
capacity.storage: הקיבולת של מכונת Managed Lustre. בקטע רמות ביצועים מפורטים הקיבולת המינימלית והקיבולת המקסימלית של המכונות הנתמכות. -
mountOptions: מציין את אפשרויות הטעינה שלmount.lustre. הערך הזה עובר בירושה מהשדהmountOptionsב-StorageClass. -
csi.volumeHandle: מזהה ייחודי של מכונה של Managed Lustre. צריך להשתמש בפורמט הבא: PROJECT_ID/LOCATION/INSTANCE_NAME. -
csi.volumeAttributes.ip: כתובת ה-IP של מכונת Managed Lustre, שמשמשת לטעינה. -
csi.volumeAttributes.filesystem: שם מערכת הקבצים של המכונה ב-Managed Lustre, שהוא מזהה באורך שמונה תווים.