במניפסטים הבאים מתוארים שדות נתמכים של מנהלי התקנים של CSI במשאבים StorageClass ו-Persistent Volume.
סוג אחסון (storage class)
המניפסט הבא כולל את כל השדות הנתמכים ב-StorageClass.
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: parallelstore-csi-sc
provisioner: parallelstore.csi.storage.gke.io
parameters:
network: VPC_NETWORK_NAME # optional
labels: KEY: VALUE # optional
description: DESCRIPTION # optional
reserved-ip-range: IP_RANGE_NAME # optional
file-stripe-level: FILE_STRIPE_LEVEL # optional
directory-stripe-level: DIRECTORY_STRIPE_LEVEL # optional
mountLocality: MOUNT_LOCALITY # optional
dfuseCPURequest: DFUSE_CPU_REQUEST # optional
dfuseMemoryRequest: DFUSE_MEMORY_REQUEST # optional
dfuseCPULimit: DFUSE_CPU_LIMIT # optional
dfuseMemoryLimit: DFUSE_MEMORY_LIMIT # optional
volumeBindingMode: VOLUME_BINDING_MODE # default is "immediate"; or "waitForFirstConsumer"
allowedTopologies: # optional
- matchLabelExpressions:
- key: topology.gke.io/zone
values:
- ZONE
mountOptions:
- DFUSE_MOUNT_OPTIONS # disable-caching, enable-wb-cache, thread-count, eq-count
כל השדות הבאים הם אופציונליים:
network: רשת ה-VPC שבה רוצים ליצור את מופע Parallelstore. אם לא מציינים את המאפיין הזה, נעשה שימוש ברשת של אשכול GKE.כדי ליצור מופע Parallelstore ברשת VPC משותפת, צריך לספק את השם המלא של הרשת. לדוגמה:
projects/PROJECT_ID/global/networks/VPC_NETWORK_NAME
labels: צמדים של מפתח/ערך שצוינו על ידי המשתמש לצירוף למופע הזה.
description: תיאור של המופע. האורך המרבי הוא 2,048 תווים.
reserved-ip-range: השם של טווח כתובות IP שהוקצה. אם לא מציינים טווח, כל הטווחים נלקחים בחשבון.התג
file-stripe-levelמגדיר את ההגדרות של חלוקת הקבצים לרצועות. הערכים המותרים הם:file-stripe-level-balancedfile-stripe-level-maxfile-stripe-level-min
פרטים נוספים מופיעים במאמר בנושא שיקולי ביצועים.
directory-stripe-levelמגדיר את רמת הפסים בספריות. הערכים המותרים הם:directory-stripe-level-balanceddirectory-stripe-level-maxdirectory-stripe-level-min
פרטים נוספים מופיעים במאמר בנושא שיקולי ביצועים.
mountLocality: הפעלת מצב ההרכבה המקומי של הצומת להקצאה דינמית. הערכים הנתמכים הםnodeאוpod. ערך ברירת המחדל הואpod. אם מציינים אתnode, אפשר להשתמש גם באפשרויות הבאות:-
dfuseCPURequest: בקשת ה-CPU לתהליך dfuse. ערך ברירת המחדל הוא250m. -
dfuseMemoryRequest: בקשת הזיכרון לתהליך dfuse. ערך ברירת המחדל הוא512Mi. -
dfuseCPULimit: מגבלת ה-CPU לתהליך dfuse. ברירת המחדל היא לא מוגדר. -
dfuseMemoryLimit: מגבלת הזיכרון לתהליך dfuse. ערך ברירת המחדל הוא10Gi.
-
allowedTopologies: מציין את האזור שבו ייצור את מופע Parallelstore. אם לא מציינים את השדה הזה, המכונה נוצרת באותו אזור שבו נפרס מנהל ההתקן של CSI, עם מצב שלimmediateקשירת נפח.
volumeBindingMode: מציין את מצב בחירת הטופולוגיה. במצבimmediateנעשה שימוש בערך שצוין ב-allowedTopologies. במצבwaitForFirstConsumer, הטופולוגיה מוקצית לאזור שבו מתוזמן ה-Pod של GKE. כתוצאה מכך, יכול להיות שפודים ייחסמו בזמן ההמתנה להקצאת נפח אחסון.
mountOptions: מציין את אפשרויות הטעינה של dfuse ואת פרמטרים של ליבת המערכת, כוללread_ahead_kbו-max_ratio. נפחי אחסון מתמיד שמגובים על ידי מופע Parallelstore מקבלים בירושה את הערכים האלה בשדה.spec.mountOptionsשל נפח האחסון המתמיד.האפשרויות הן:
-
disable-caching: השבתה של כל השמירה במטמון. כברירת מחדל, שמירת כל הנתונים במטמון (חוץ ממטמון של כתיבה חוזרת) מופעלת כשמפעילים מופע Parallelstore ב-GKE. -
enable-wb-cache: שימוש במטמון write-back במקום במטמון write-through. -
thread-count: מספר השרשורים לשימוש. הערך הזה הוא הסכום של מספר השרשורים של FUSE ומספר תורי האירועים. -
eq-count: מספר תורי האירועים לשימוש. -
read_ahead_kb: גודל חלון הקריאה מראש בקילובייט. -
max_ratio: מאפשר להגביל מכשיר מסוים כך שלא ישתמש ביותר מהאחוז הנתון של מטמון הכתיבה.
מידע על האפשרויות האלה זמין במאמר בנושא שיקולים לגבי ביצועים.
-
נפח אחסון מתמיד (Persistent Volume)
המניפסט הבא כולל את כל השדות הנתמכים ב-PersistentVolume.
apiVersion: v1
kind: PersistentVolume
metadata:
name: parallelstore-pv
annotations:
pv.kubernetes.io/provisioned-by: parallelstore.csi.storage.gke.io
spec:
storageClassName: parallelstore-csi-sc
capacity:
storage: INSTANCE_SIZE # 12Ti
accessModes:
- ReadWriteMany
persistentVolumeReclaimPolicy: Retain # or "Delete"
volumeMode: Filesystem
mountOptions:
- DFUSE_MOUNT_OPTIONS # disable-caching, enable-wb-cache, thread-count, eq-count, read_ahead_kb, max_ratio
csi:
driver: parallelstore.csi.storage.gke.io
volumeHandle: PROJECT_ID/LOCATION/INSTANCE_NAME/default-pool/default-container
volumeAttributes:
accessPoints: ACCESS_POINTS # comma-separated list of IP addresses
network: VPC_NETWORK # optional
mountLocality: MOUNT_LOCALITY # optional
dfuseCPURequest: DFUSE_CPU_REQUEST # optional
dfuseMemoryRequest: DFUSE_MEMORY_REQUEST # optional
dfuseCPULimit: DFUSE_CPU_LIMIT # optional
dfuseMemoryLimit: DFUSE_MEMORY_LIMIT # optional
-
capacity: הקיבולת של מופע Parallelstore. חייב להיות אחד מהערכים הבאים:12Ti,16Tiאו20Ti. -
mountOptions: קבלה בירושה מהשדהmountOptionsב-StorageClass. -
csi.volumeHandle: מזהה בלעדי של מופע Parallelstore. הפורמט הנדרש הוא:PROJECT_ID/LOCATION/INSTANCE_NAME/default-pool/default-container -
csi.volumeAttributes.accessPoints: רשימה של כתובות IP של צמתי שרת Parallelstore, מופרדות בפסיקים. -
csi.volumeAttributes.network: רשת ה-VPC של מכונת Parallelstore, שצריכה להיות זהה לרשת של אשכול GKE. השדה הזה משמש כדי לוודא שמופע Parallelstore שסופק נמצא ברשת תקפה לפני שמנהל התקן CSI מטמיע אותו.
csi.volumeAttributes.mountLocality: הפעלת מצב ההרכבה המקומי של הצומת להקצאה דינמית. הערכים הנתמכים הםnodeאוpod. ערך ברירת המחדל הואpod. אם מציינים אתnode, אפשר להשתמש גם באפשרויות הבאות:-
csi.volumeAttributes.dfuseCPURequest: בקשת ה-CPU לתהליך dfuse. ערך ברירת המחדל הוא250m. -
csi.volumeAttributes.dfuseMemoryRequest: בקשת הזיכרון לתהליך dfuse. ערך ברירת המחדל הוא512Mi. -
csi.volumeAttributes.dfuseCPULimit: מגבלת ה-CPU לתהליך dfuse. ברירת המחדל היא לא מוגדר. -
csi.volumeAttributes.dfuseMemoryLimit: מגבלת הזיכרון לתהליך dfuse. ערך ברירת המחדל הוא10Gi.
-