סקירה כללית על אחסון

אתם יוצרים אחסון מתמיד לעומסי עבודה שפועלים ב-GKE ב-AWS באמצעות אובייקטים של Kubernetes.

שימוש באחסון מתמיד בעומסי העבודה של GKE ב-AWS

ב-GKE on AWS, משתמשים במשאבי Kubernetes‏ PersistentVolume‏ (PV),‏ PersistentVolumeClaim‏ (PVC) ו-StorageClass כדי לספק לעומסי עבודה אחסון קבצים ואחסון בלוקים קבוע. אפשר ליצור תמונות מצב של אחסון מתמשך באמצעות המשאבים VolumeSnapshot ו-VolumeSnapshotClass. תמונות המצב מאוחסנות בחשבון AWS שלכם.

StorageClass

ל-Clusters יש ברירת מחדל של Kubernetes StorageClass שמקצה באופן דינמי אחסון עם שמירת מצב לעומסי עבודה בנפחי AWS Elastic Block Storage ‏ (EBS). אפשר גם להשתמש בStorageClass מותאם אישית כדי להקצות נפחי אחסון מסוגים אחרים. האפשרויות האלה מתוארות בסעיף הבא.

VolumeSnapshotClass

ל-Clusters יש ברירת מחדל של Kubernetes VolumeSnapshotClass שיוצרת תמונות מצב של אחסון עם שמירת מצב בנפחי EBS.

הגדרת אחסון באשכול

אם רוצים להקצות נפחי אחסון עם StorageClass שאינו ברירת המחדל, אפשר ליצור StorageClass מותאם אישית באשכול שמשתמש בפרמטרים שונים או במנהל התקן אחסון שונה. אחר כך תוכלו להגדיר את StorageClass כברירת מחדל או להגדיר את עומסי העבודה כך שישתמשו ב-StorageClass. לדוגמה, אפשר להשתמש בהפניה ל-StorageClass ב-StatefulSet כדי להגדיר שם ספציפי של StorageClass.

שימוש בתמונות מצב של עוצמת הקול

אפשר להשתמש במשאב VolumeSnapshot כדי ליצור תמונות מצב של נפחי אחסון. לאחר מכן, תוכלו להקצות נפחי אחסון קבועים חדשים מהתמונות האלה. מידע נוסף זמין במאמר בנושא יצירת תמונת מצב של PersistentVolume.

Elastic Block Storage (EBS)‎

‫GKE ב-AWS מנהל את אמצעי האחסון של EBS ב-AWS באמצעות aws-ebs-csi-driver.

גרסת מנהל ההתקן של EBS CSI קשורה לגרסת Kubernetes של GKE ב-AWS. כשמשדרגים את גרסת האשכול, גרסת הדרייבר החדשה מוחלת באופן אוטומטי. הגרסה הזו היא בדרך כלל מנהל ההתקן העדכני ביותר שזמין בזמן שחרור הגרסה של GKE ב-AWS.

הדרייבר שמותקן מראש עם GKE ב-AWS מספק את StorageClasses הבאים כברירת מחדל:

  • standard-rwo (ברירת מחדל): משמש להקצאת נפחי EBS gp2.
  • premium-rwo: משמש להקצאת נפחי אחסון של EBS io1.

נפחי EBS תומכים במצב הגישה ReadWriteOnce של Kubernetes.

כרכים קיימים של EBS

אתם יכולים להקצות נפחי EBS קיימים בעומסי העבודה של GKE ב-AWS. במאמר ייבוא של נפח EBS קיים יש דוגמאות לשימוש בנפחי EBS ב-GKE ב-AWS.

Elastic File System ‏ (EFS)

‫GKE ב-AWS תומך בטעינה של מערכות קבצים קיימות של EFS ובנקודות גישה. מידע נוסף זמין במאמר בנושא שימוש במערכת קבצים של EFS.

אפשרויות אחסון נוספות

אפשר להשתמש במערכות אחסון אחרות של צד שלישי עם GKE ב-AWS באמצעות מנהלי התקן של Container Storage Interface ‏ (CSI) של צד שלישי (מומלץ) או באמצעות תוספים של נפחי אחסון ב-Kubernetes.

דרייברים של CSI

Container Storage Interface (CSI) הוא API בתקן פתוח שמאפשר ל-Kubernetes לצרף מערכות אחסון שרירותיות לעומסי עבודה מבוססי קונטיינרים. רשימה לא מלאה של מנהלי התקנים של CSI זמינה במאמרי העזרה למפתחים של Kubernetes CSI. ‫GKE ב-AWS תומך ב-CSI v1.x.

כדי להשתמש בדרייבר CSI באשכול, צריך להתקין דרייבר CSI שסופק על ידי ספק האחסון. לאחר מכן תוכלו להגדיר את עומסי העבודה כך שישתמשו ב-StorageClass של מנהל ההתקן או להגדיר את StorageClass כברירת מחדל.

מנהלי התקנים ספציפיים לאחסון

אפשר להשתמש במניעי הנפח הבאים עם GKE ב-AWS.

‫FSx for Lustre ‏ (FSX)

‫GKE ב-AWS לא מנהל נפחי אחסון של FSx באופן ישיר. אפשר להתקין ידנית את aws-fsx-csi-driver, אבל Google לא מספקת תמיכה בנושא.

פלאגינים של נפחים בתוך העץ ב-Kubernetes

‫Kubernetes מגיעה עם תוספי נפח (built-in) בתוך העץ. רשימת מנהלי ההתקנים הנתמכים בתוך העץ:

  • configMap
  • emptyDir
  • hostPath
  • nfs
  • תחזית
  • סודות

מה השלב הבא?