בדף הזה מוסבר איך להתקין דרייבר לאחסון Container Storage Interface (CSI) באשכולות GKE.
CSI הוא API בתקן פתוח שמאפשר ל-Kubernetes לחשוף מערכות אחסון שרירותיות לעומסי עבודה בקונטיינרים. בנוסף, CSI מאפשר שימוש בתכונות אחסון מודרניות, כמו שינוי גודל וצילומי מצב.
כברירת מחדל, GKE ב-AWS מקצה כרכים של EBS עםebs-csi-driver.
אפשר גם להקצות כרכים של EFS באמצעות efs-csi-driver.
אם רוצים להשתמש בסוג אחר של נפח אחסון, אפשר להתקין מנהל התקן CSI.
אחרי שמתקינים מנהל התקן CSI, צריך ליצור StorageClass של Kubernetes. מגדירים את מנהל התקן ה-CSI כמנהל הקצאות (provisioner) עבור ה-StorageClass. אחר כך תוכלו להגדיר את StorageClass כברירת מחדל או להגדיר את עומסי העבודה כך שישתמשו ב-StorageClass.
לפני שמתחילים
התקנה של מנהל התקן CSI של ספק
ספקי אחסון אחראים לספק הוראות התקנה לדרייברים של CSI שלהם. אפשר לעיין ברשימה של מנהלי התקנים של CSI במסמכי התיעוד של CSI.
פועלים לפי הוראות ההתקנה של מנהל ההתקן של CSI, ואז ממשיכים לשלבים הבאים בדף הזה.
Google לא מספקת תמיכה או הוראות לגבי מנהלי התקנים של צד שלישי. צריך לפנות לספק האחסון לקבלת תמיכה.
אימות ההתקנה של הדרייבר
אחרי שמתקינים מנהל התקן CSI, אפשר להריץ את הפקודות הבאות כדי לוודא שההתקנה בוצעה:
kubectl get csinodes \
-o jsonpath='{range .items[*]} {.metadata.name}{": "} {range .spec.drivers[*]} {.name}{"\n"} {end}{end}'
שימוש ב-CSI driver
כדי להשתמש בדרייבר CSI:
יוצרים StorageClass בהתאמה אישית שמפנה אל מנהל ההתקן בשדה
provisioner.כדי להקצות נפח אחסון, אפשר:
- מפנים אל StorageClass במפרט של StatefulSet
volumeClaimTemplates. - הגדרת סוג האחסון כברירת המחדל של האשכול.
- מפנים אל StorageClass במפרט של StatefulSet
שיקולים לגבי StorageClass שמגובה על ידי מנהל התקן CSI
כשיוצרים StorageClass, כדאי לקחת בחשבון את הנקודות הבאות:
כדאי לעיין במסמכי התיעוד של מנהל התקן ה-CSI כדי למצוא פרמטרים ספציפיים למנהל ההתקן שאתם מספקים ל-StorageClass, כולל שם ה-provisioner.
מומלץ לתת ל-StorageClass שם שמתאר את המאפיינים שלו (למשל
fastאוhighly-replicated), ולא שם שמתאר את שם הדרייבר או המכשיר הספציפיים שמאחוריו. כשנותנים ל-StorageClass שם לפי המאפיינים שלו, אפשר ליצור StorageClass עם אותו שם באשכולות ובסביבות שונות. לאחר מכן, מגדירים את עומסי העבודה כך שישתמשו באותו StorageClass.
מה השלב הבא?
- יוצרים StorageClass שמפנה אל מנהל התקן CSI.