שימוש בנפח אחסון של Azure Disk
GKE on Azure פורס באופן אוטומטי את azuredisk-csi-driver כדי להקצות ולנהל את נפחי Azure Disk באשכולות.
גרסת מנהל התקן ה-CSI של Azure Disk ב-GKE ב-Azure קשורה לגרסת אשכול Kubernetes. בדרך כלל, גרסת הדרייבר היא הגרסה העדכנית ביותר שזמינה כשגרסת GKE יוצאת. כשמשדרגים את האשכול, מנהלי ההתקנים מתעדכנים אוטומטית.
מידע נוסף על אחסון מתמיד ב-GKE on Azure זמין במאמר סקירה כללית על אחסון.
סוגי אחסון (storage classes) שמוגדרים כברירת מחדל
GKE ב-Azure מספק את האפשרויות הבאות של StorageClass כברירת מחדל:
-
standard-rwo(ברירת מחדל): הקצאת דיסקים סטנדרטיים של SSD Azure עם LRS -
premium-rwo: הקצאת דיסקים מסוג SSD Premium ב-Azure עם LRS
לפני שמתחילים
שימוש ב-StorageClass שמוגדר כברירת מחדל
כשיוצרים PersistentVolumeClaim בלי להגדיר את השדה spec.storageClassName, GKE on Azure מקצה נפח SSD רגיל של Azure באמצעות StorageClass של GKE on Azure Azure Disk CSI Driver שמוגדר כברירת מחדל.
קובץ ה-YAML הבא יוצר PersistentVolumeClaim (PVC) בשם mypvc בגודל של 30 גיביבייט.
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: mypvc
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 30Gi
שימוש בסוג האחסון (storage class) פרימיום
כשיוצרים PersistentVolumeClaim ומגדירים את השדה spec.storageClassName לערך premium-rwo, GKE on Azure מקצה נפח SSD פרימיום ב-Azure.
קובץ ה-YAML הבא יוצר PersistentVolumeClaim (PVC) בשם mypvc בגודל 30 גיביבייט.
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: mypvc
spec:
storageClassName: premium-rwo
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 30Gi
הפניה ל-StorageClass ב-StatefulSet
כדי להשתמש ב-StorageClass החדש, אפשר להפנות אליו ב-volumeClaimTemplates של StatefulSet.
כשמפנים אל StorageClass במפרט volumeClaimTemplates של StatefulSet, Kubernetes מספק אחסון יציב באמצעות PersistentVolumes (PVs).
Kubernetes קורא למנהל ההקצאות שמוגדר ב-StorageClass כדי ליצור נפח אחסון חדש. אחרי שהנפח מוקצה, Kubernetes יוצר באופן אוטומטי PV.
ההפניה הבאה של StatefulSet מתייחסת ל-StorageClass premium-rwo ומקצה נפח אחסון של גיביבייט אחד:
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: web
spec:
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: registry.k8s.io/nginx-slim:0.8
volumeMounts:
- name: www
mountPath: /usr/share/nginx/html
volumeClaimTemplates: # This is the specification in which you reference the StorageClass
- metadata:
name: www
spec:
accessModes: [ "ReadWriteOnce" ]
resources:
requests:
storage: 1Gi
storageClassName: premium-rwo # This field references the existing StorageClass
המאמרים הבאים
אפשר לקרוא את התיעוד של Azure Disk CSI driver.
יצירת סוג אחסון מותאם אישית עם פרמטרים ספציפיים.
מידע נוסף על נפחים קבועים ב-GKE
מתקינים מנהלי התקנים של אחסון באשכול GKE on Azure.