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

בנושא הזה מוסבר איך להתקין מנהל התקן לאחסון של Container Storage Interface ‏ (CSI) באשכולות.

סקירה כללית

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

Container Storage Interface (CSI) הוא ממשק API סטנדרטי פתוח שמאפשר לעומסי עבודה של Kubernetes לגשת למערכות אחסון תואמות. בנוסף, CSI מאפשר שימוש בתכונות אחסון מודרניות כמו שינוי גודל וצילומי מצב.

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

התקנה של מנהל התקן CSI של ספק

ספקי אחסון אחראים לספק הוראות התקנה לדרייברים של CSI שלהם. אפשר לעיין ברשימה של מנהלי התקנים של CSI במסמכי התיעוד של CSI.

פועלים לפי הוראות ההתקנה של מנהל ההתקן של CSI, ואז ממשיכים לשלבים הבאים בדף הזה.

אימות ההתקנה של הדרייבר

אחרי שמתקינים מנהל התקן CSI, אפשר להריץ את הפקודות הבאות כדי לוודא שההתקנה בוצעה:

kubectl get csinodes \
  -o jsonpath='{range .items[*]} {.metadata.name}{": "} {range .spec.drivers[*]} {.name}{"\n"} {end}{end}'

איך משתמשים ב-CSI driver

כדי להשתמש בדרייבר CSI:

  1. יוצרים StorageClass בהתאמה אישית שמפנה לדרייבר בשדה provisioner.

  2. כדי להקצות נפח אחסון, אפשר:

שיקולים לגבי StorageClass שמגובה על ידי מנהל התקן CSI

כשיוצרים StorageClass, כדאי לקחת בחשבון את הנקודות הבאות:

  • כדאי לעיין במסמכי התיעוד של מנהל התקן ה-CSI כדי למצוא פרמטרים ספציפיים למנהל ההתקן שאתם מספקים ל-StorageClass, כולל שם ה-provisioner.

  • מומלץ לתת ל-StorageClass שם שמתאר את המאפיינים שלו (למשל fast או highly-replicated), ולא שם שמתאר את שם הדרייבר או המכשיר הספציפיים שמאחוריו. כשנותנים ל-StorageClass שם לפי המאפיינים שלו, אפשר ליצור StorageClass עם אותו שם באשכולות ובסביבות שונות. לאחר מכן מגדירים את עומסי העבודה כך שישתמשו באותו StorageClass.

המאמרים הבאים

  • יוצרים StorageClass שמפנה אל מנהל התקן CSI.