Google Kubernetes Engine (GKE) מספק דרך פשוטה לפרוס ולנהל באופן אוטומטי את מנהל ההתקן של ממשק אחסון הקונטיינרים (CSI) של דיסק אחסון מתמיד (persistent disk) ב-Compute Engine באשכולות. מנהל ההתקן של CSI לדיסק אחסון מתמיד ב-Compute Engine תמיד מופעל באשכולות של Autopilot, ואי אפשר להשבית או לערוך אותו. באשכולות רגילים, צריך להפעיל את מנהל ה-CSI של דיסקים לאחסון מתמיד ב-Compute Engine.
גרסת ה-CSI Driver של דיסק אחסון מתמיד (persistent disk) ב-Compute Engine קשורה למספרי הגרסאות של GKE. גרסת ה-CSI Driver של דיסק אחסון מתמיד (persistent disk) ב-Compute Engine היא בדרך כלל הגרסה האחרונה שזמינה בזמן שגרסת GKE יוצאת. הדרייברים מתעדכנים אוטומטית כשמשדרגים את האשכול לתיקון (patch) האחרון של GKE.
יתרונות
שימוש ב-CSI Driver של דיסק אחסון מתמיד ב-Compute Engine מספק את היתרונות הבאים:
- הוא מאפשר פריסה וניהול אוטומטיים של מנהל ההתקן של הדיסק הקשיח בלי צורך בהגדרה ידנית.
- אתם יכולים להשתמש במפתחות הצפנה בניהול הלקוח (CMEK). המפתחות האלה משמשים להצפנה של המפתחות להצפנת נתונים, שבאמצעותם מוצפנים הנתונים שלכם. מידע נוסף על CMEK ב-GKE זמין במאמר שימוש ב-CMEK.
- אפשר להשתמש בתמונות מצב של נפחים עם מנהל התקן ה-CSI של דיסק אחסון מתמיד (persistent disk) ב-Compute Engine. תמונות מצב של נפח אחסון מאפשרות לכם ליצור עותק של נפח האחסון בנקודת זמן ספציפית. אתם יכולים להשתמש בעותק הזה כדי להחזיר נפח אחסון למצב קודם או כדי להקצות נפח אחסון חדש.
- אפשר להשתמש בשיבוט נפחים עם מנהל ההתקן של ה-CSI של דיסק אחסון מתמיד (persistent disk) ב-Compute Engine באשכולות שמריצים GKE בגרסה 1.22 ואילך. שיבוט נפח מאפשר ליצור עותק של הנפח בנקודת זמן ספציפית, עם כל הנתונים מנפח המקור.
- תיקוני באגים ועדכוני תכונות מופצים בנפרד מגרסאות משניות של Kubernetes. לוח זמנים לפרסום הזה בדרך כלל מוביל לקצב מהיר יותר של פרסום גרסאות.
לפני שמתחילים
לפני שמתחילים, חשוב לוודא שביצעתם את הפעולות הבאות:
- מפעילים את ממשק ה-API של Google Kubernetes Engine. הפעלת Google Kubernetes Engine API
- אם רוצים להשתמש ב-CLI של Google Cloud למשימה הזו, צריך להתקין ואז להפעיל את ה-CLI של gcloud. אם התקנתם בעבר את ה-CLI של gcloud, מריצים את הפקודה
gcloud components updateכדי לקבל את הגרסה העדכנית. יכול להיות שגרסאות קודמות של ה-CLI של gcloud לא יתמכו בהרצת הפקודות שמופיעות במסמך הזה.
הפעלת מנהל התקן CSI של דיסק אחסון מתמיד (persistent disk) ב-Compute Engine
כדי להפעיל את מנהל התקן ה-CSI של דיסק אחסון מתמיד (persistent disk) ב-Compute Engine באשכולות קיימים מסוג Standard, משתמשים ב-Google Cloud CLI או במסוף Google Cloud .
כדי להפעיל את ה-driver באשכול קיים, מבצעים את השלבים הבאים:
gcloud
gcloud container clusters update CLUSTER-NAME \
--update-addons=GcePersistentDiskCsiDriver=ENABLED
מחליפים את CLUSTER-NAME בשם של האשכול הקיים.
המסוף
נכנסים לדף Google Kubernetes Engine במסוף Google Cloud .
ברשימת האשכולות, לוחצים על שם האשכול שרוצים לשנות.
בקטע Features (תכונות), לצד השדה Compute Engine persistent disk CSI Driver (מנהל התקן CSI של דיסק לאחסון מתמיד ב-Compute Engine), לוחצים על edit Edit Compute Engine CSI driver (עריכת מנהל התקן CSI של Compute Engine).
מסמנים את תיבת הסימון Enable Compute Engine Persistent Disk CSI Driver.
לוחצים על שמירת השינויים.
אחרי שמפעילים את מנהל ההתקן CSI של דיסק אחסון מתמיד (persistent disk) ב-Compute Engine, אפשר להשתמש במנהל ההתקן בכרכים של Kubernetes באמצעות שם מנהל ההתקן ומנהל ההקצאות (provisioner): pd.csi.storage.gke.io.
השבתת מנהל התקן CSI של דיסק אחסון מתמיד ב-Compute Engine
אפשר להשבית את מנהל התקן ה-CSI של דיסק אחסון מתמיד (persistent disk) ב-Compute Engine עבור אשכולות רגילים באמצעות Google Cloud CLI או Google Cloud המסוף.
אם משביתים את הדרייבר, כל ה-Pods שמשתמשים כרגע ב-PersistentVolumes שבבעלות הדרייבר לא מסיימים את הפעולה. גם פודים חדשים שמנסים להשתמש ב-PersistentVolumes האלה לא מצליחים להתחיל.
כדי להשבית את הדרייבר באשכול קיים מסוג Standard, מבצעים את השלבים הבאים:
gcloud
gcloud container clusters update CLUSTER-NAME \
--update-addons=GcePersistentDiskCsiDriver=DISABLED
מחליפים את CLUSTER-NAME בשם של האשכול הקיים.
המסוף
נכנסים לדף Google Kubernetes Engine במסוף Google Cloud .
ברשימת האשכולות, לוחצים על שם האשכול שרוצים לשנות.
בקטע Features (תכונות), לצד השדה Compute Engine persistent disk CSI Driver (מנהל התקן CSI של דיסק לאחסון מתמיד ב-Compute Engine), לוחצים על edit Edit Compute Engine CSI driver (עריכת מנהל התקן CSI של Compute Engine).
מבטלים את הסימון בתיבה Enable Compute Engine Persistent Disk CSI Driver.
לוחצים על שמירת השינויים.
שימוש במנהל התקן CSI של דיסקים לאחסון מתמיד ב-Compute Engine לאשכולות Linux
בקטעים הבאים מתואר התהליך האופייני לשימוש בנפח Kubernetes שמגובה על ידי דרייבר CSI ב-GKE. הקטעים האלה ספציפיים לאשכולות שבהם נעשה שימוש ב-Linux.
יצירת StorageClass
אחרי שמפעילים את מנהל ה-CSI של דיסק אחסון מתמיד (persistent disk) ב-Compute Engine, GKE מתקין באופן אוטומטי את StorageClasses הבאים:
-
standard-rwo, באמצעות דיסק אחסון מתמיד מאוזן -
premium-rwo, באמצעות דיסק מתמיד שמבוסס על SSD
באשכולות Autopilot, סוג האחסון שמוגדר כברירת מחדל הוא standard-rwo, שמשתמש במנהל התקן ה-CSI של דיסק אחסון מתמיד (persistent disk) ב-Compute Engine. באשכולות Standard, סוג האחסון (StorageClass) שמוגדר כברירת מחדל משתמש בתוסף הנפח gcePersistentDisk של Kubernetes in-tree.
כדי לראות את השם של StorageClasses שהותקנו, מריצים את הפקודה הבאה:
kubectl get sc
אפשר גם להתקין StorageClass אחר שמשתמש במנהל התקן ה-CSI של דיסק אחסון מתמיד (persistent disk) ב-Compute Engine. כדי לעשות את זה, מוסיפים pd.csi.storage.gke.io בשדה מנהל הקצאות (provisioner).
לדוגמה, אפשר ליצור StorageClass באמצעות הקובץ הבא, שנקרא pd-example-class.yaml.
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: pd-example
provisioner: pd.csi.storage.gke.io
# Recommended setting. Delays the binding and provisioning of a PersistentVolume until a Pod that uses the
# PersistentVolumeClaim is created and scheduled on a node.
volumeBindingMode: WaitForFirstConsumer
allowVolumeExpansion: true
parameters:
type: pd-balanced
אפשר לציין את סוגי ה-Persistent Disk הבאים בפרמטר type:
pd-balancedpd-ssdpd-standard-
pd-extreme(נתמך ב-GKE בגרסה 1.26 ואילך)
אם משתמשים ב-pd-standard או ב-pd-extreme, כדאי לעיין בסוגי מכונות שלא נתמכים כדי ללמוד על מגבלות שימוש נוספות.
כשמשתמשים באפשרות pd-extreme, צריך להוסיף גם את השדה provisioned-iops-on-create למניפסט. הערך בשדה הזה צריך להיות זהה לערך ה-IOPS שהוקצה שציינתם כשנוצר ה-Persistent Disk.
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: pd-extreme-example
provisioner: pd.csi.storage.gke.io
volumeBindingMode: WaitForFirstConsumer
allowVolumeExpansion: true
parameters:
type: pd-extreme
provisioned-iops-on-create:'10000'
אחרי שיוצרים את הקובץ pd-example-class.yaml, מריצים את הפקודה הבאה:
kubectl create -f pd-example-class.yaml
יצירת PersistentVolumeClaim
אפשר ליצור PersistentVolumeClaim שמפנה ל-StorageClass של מנהל ה-CSI של דיסק אחסון מתמיד (persistent disk) ב-Compute Engine.
בקובץ הבא, שנקרא pvc-example.yaml, נעשה שימוש בסוג האחסון (storage class) standard-rwo שהותקן מראש:
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: podpvc
spec:
accessModes:
- ReadWriteOnce
storageClassName: standard-rwo
resources:
requests:
storage: 6Gi
אחרי שיוצרים את מניפסט PersistentVolumeClaim, מריצים את הפקודה הבאה:
kubectl create -f pvc-example.yaml
ב-StorageClass שהותקן מראש (standard-rwo), volumeBindingMode
מוגדר ל-WaitForFirstConsumer. כשהערך של volumeBindingMode הוא WaitForFirstConsumer, לא מוקצה PersistentVolume עד שתזמנו Pod שמפנה אל PersistentVolumeClaim. אם הערך של volumeBindingMode ב-StorageClass מוגדר כ-Immediate (או אם הוא לא מוגדר), לאחר יצירת PersistentVolumeClaim, מוקצה PersistentVolume שמגובה על ידי דיסק קשיח.
יצירת Pod שמשתמש בנפח האחסון
כשמשתמשים ב-Pods עם PersistentVolumes, מומלץ להשתמש בבקר של עומס עבודה (כמו Deployment או StatefulSet). למרות שבדרך כלל לא משתמשים ב-Pod עצמאי, בדוגמה הבאה נעשה שימוש ב-Pod כזה כדי לפשט את ההסבר.
בדוגמה הבאה נעשה שימוש בנפח האחסון שיצרתם בקטע הקודם:
apiVersion: v1
kind: Pod
metadata:
name: web-server
spec:
containers:
- name: web-server
image: nginx
volumeMounts:
# The path in the container where the volume will be mounted.
- mountPath: /var/lib/www/html
# The name of the volume that is being defined in the "volumes" section.
name: mypvc
volumes:
- name: mypvc
persistentVolumeClaim:
# References the PersistentVolumeClaim created earlier.
claimName: podpvc
readOnly: false
שימוש במנהל התקן ה-CSI של דיסקים לאחסון מתמיד ב-Compute Engine עבור אשכולות Windows
בקטעים הבאים מתואר התהליך האופייני לשימוש בנפח Kubernetes שמגובה על ידי דרייבר CSI ב-GKE. הקטעים האלה ספציפיים לאשכולות שפועלים ב-Windows.
חשוב לוודא ש:
- גרסת האשכול היא 1.19.7-gke.2000, 1.20.2-gke.2000 או גרסה מאוחרת יותר.
- גרסאות הצמתים הן 1.18.12-gke.1203, 1.19.6-gke.800 ואילך.
יצירת StorageClass
יצירת StorageClass ל-Windows דומה מאוד ליצירה ל-Linux. חשוב לדעת ש-StorageClass שמותקן כברירת מחדל לא יפעל ב-Windows כי סוג מערכת הקבצים שונה. מנהל התקן ה-CSI של דיסק לאחסון מתמיד ב-Compute Engine ל-Windows דורש NTFS כסוג מערכת הקבצים.
לדוגמה, אפשר ליצור StorageClass באמצעות הקובץ הבא שנקרא pd-
windows-class.yaml. חשוב להוסיף את csi.storage.k8s.io/fstype: NTFS לרשימת הפרמטרים:
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: pd-sc-windows
provisioner: pd.csi.storage.gke.io
volumeBindingMode: WaitForFirstConsumer
allowVolumeExpansion: true
parameters:
type: pd-balanced
csi.storage.k8s.io/fstype: NTFS
יצירת PersistentVolumeClaim
אחרי שיוצרים StorageClass ל-Windows, אפשר ליצור PersistentVolumeClaim שמפנה אל StorageClass הזה:
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: podpvc-windows
spec:
accessModes:
- ReadWriteOnce
storageClassName: pd-sc-windows
resources:
requests:
storage: 6Gi
יצירת Pod שמשתמש בנפח האחסון
בדוגמה הבאה נעשה שימוש בנפח האחסון שיצרתם במשימה הקודמת:
apiVersion: v1
kind: Pod
metadata:
name: web-server
spec:
# Node selector to ensure the Pod runs on a Windows node.
nodeSelector:
kubernetes.io/os: windows
containers:
- name: iis-server
# The container image to use.
image: mcr.microsoft.com/windows/servercore/iis
ports:
- containerPort: 80
volumeMounts:
# The path in the container where the volume will be mounted.
- mountPath: /var/lib/www/html
name: mypvc
volumes:
- name: mypvc
persistentVolumeClaim:
# References the PersistentVolumeClaim created earlier.
claimName: podpvc-windows
readOnly: false
אפשר לשנות באופן דינמי את קצב ה-IOPS ואת קצב העברת הנתונים של Hyperdisk באמצעות VolumeAttributeClass
אפשר להשתמש ב-VolumeAttributesClass עם מנהל התקן ה-CSI של דיסקים לאחסון מתמיד ב-Compute Engine כדי לשנות באופן דינמי מאפיינים של דיסקים לאחסון מתמיד, כולל IOPS וקצב העברת נתונים. מוודאים שגרסת אשכול GKE היא 1.34 ואילך.
בקטע הזה נראה איך משתמשים ב-VolumeAttributesClass כדי לשנות באופן דינמי את ביצועי עוצמת הקול. יוצרים שני משאבי VolumeAttributesClass, silver ו-gold, כדי להגדיר רמות שונות של IOPS ושל קצב העברת נתונים. לאחר מכן יוצרים StorageClass, PersistentVolumeClaim שמפנה לרמת silver, ו-Pod לצריכת הנפח. לבסוף, מעדכנים את PersistentVolumeClaim כך שיפנה לרמת gold, וכך מתבצע עדכון דינמי של הגדרות הביצועים של אמצעי האחסון.
יצירת VolumeAttributesClass להגדרת רמות ביצועים
בקטע הזה מוגדרים משאבי VolumeAttributesClass עם רמות לדוגמה בשמות silver ו-gold.
שומרים את קובץ המניפסט הבא בשם
vac-classes.yaml:apiVersion: storage.k8s.io/v1 kind: VolumeAttributesClass metadata: name: silver driverName: pd.csi.storage.gke.io parameters: iops: "3000" throughput: "188Mi" --- apiVersion: storage.k8s.io/v1 kind: VolumeAttributesClass metadata: name: gold driverName: pd.csi.storage.gke.io parameters: iops: "6000" throughput: "345Mi"החלת המניפסט:
kubectl apply -f vac-classes.yaml
יצירת StorageClass ל-Hyperdisk
בקטע הזה מוגדר משאב StorageClass להקצאת נפחי אחסון של Hyperdisk.
שומרים את קובץ המניפסט הבא בשם
hyperdisk-sc.yaml:apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: hyperdisk-example provisioner: pd.csi.storage.gke.io volumeBindingMode: WaitForFirstConsumer allowVolumeExpansion: true parameters: type: hyperdisk-balancedהחלת המניפסט:
kubectl apply -f hyperdisk-sc.yaml
יצירת PVC עם רמת ביצועים ראשונית
בקטע הזה נוצר PVC ונעשה שימוש ברמת השירות הראשונית שנקראת silver.
שומרים את קובץ המניפסט הבא בשם
vac-silver-pvc.yaml:apiVersion: v1 kind: PersistentVolumeClaim metadata: name: test-pv-claim spec: accessModes: - ReadWriteOnce storageClassName: hyperdisk-example volumeAttributesClassName: silver resources: requests: storage: 200Giהחלת המניפסט:
kubectl apply -f vac-silver-pvc.yamlכדי להקצות נפח אחסון מתמיד, יוצרים Pod שמשתמש ב-PVC. ה-
StorageClassשנוצר בסעיף הקודם מגדיר אתvolumeBindingMode: WaitForFirstConsumer, שמעכב את הקצאת נפח האחסון עד ש-Pod צורך את ה-PVC. שומרים את קובץ המניפסט הבא בשםtest-pod.yaml:apiVersion: v1 kind: Pod metadata: name: test-pvc-pod spec: containers: - name: nginx-container image: nginx:latest ports: - containerPort: 80 volumeMounts: - name: pvc-storage mountPath: /usr/share/nginx/html volumes: - name: pvc-storage persistentVolumeClaim: claimName: test-pv-claimהחלת המניפסט:
kubectl apply -f test-pod.yamlכדי לבדוק את הגדרות הביצועים של הדיסק, אפשר לעיין במאמר בדיקת הגדרות הביצועים של הדיסק במסוף Google Cloud . ערך Provisioned IOPS צריך להיות
3000וערך Provisioned throughput צריך להיות188.
עדכון של ה-PVC כדי להשתמש ברמת ביצועים אחרת
בקטע הזה מעדכנים את ה-PVC לשימוש ברמה gold במקום ברמה silver.
שומרים את קובץ המניפסט הבא בשם
vac-gold-pvc.yaml:apiVersion: v1 kind: PersistentVolumeClaim metadata: name: test-pv-claim spec: accessModes: - ReadWriteOnce storageClassName: hyperdisk-example volumeAttributesClassName: gold resources: requests: storage: 200Giהחלת המניפסט:
kubectl apply -f vac-gold-pvc.yamlכדי לוודא שהגדרות הביצועים של הדיסק עודכנו, אפשר לעיין במאמר אימות הגדרות הביצועים של הדיסק ב Google Cloud מסוף. ערך Provisioned IOPS צריך להיות
6000וערך Provisioned throughput צריך להיות345.
אימות הגדרות הביצועים של הדיסק במסוף Google Cloud
ניתן לוודא שהגדרות ה-IOPS והתפוקה חלות על דיסק אחסון מתמיד (persistent disk) על ידי בדיקת פרטי הדיסק במסוף Google Cloud .
משיגים את שם הדיסק:
PV_NAME=$(kubectl get pvc test-pv-claim -o=jsonpath='{.spec.volumeName}') DISK_NAME=$(kubectl get pv $PV_NAME -o=jsonpath='{.spec.csi.volumeHandle}' | sed 's|.*/||') echo "Persistent disk name: $DISK_NAME"נכנסים לדף Disks במסוף Google Cloud .
לוחצים על השם של דיסק אחסון מתמיד (persistent disk) התואם לשם הדיסק מהפלט של השלב הקודם.
בדף פרטי הדיסק, בקטע ביצועים, אפשר לראות את הערכים של Provisioned IOPS ושל Provisioned throughput.
מידע נוסף מופיע במאמר הצגת הגדרות הביצועים שהוקצו ל-Hyperdisk.
שיקולים לגבי שינוי דינמי
- החלה מחדש של הגדרות קודמות: אם לא ניתן לבצע איגוד של PVC עם מחלקת מאפייני נפח עקב שגיאה, כמו משאבים לא זמינים, אפשר להחיל מחדש את ה-PVC הקודם.
- תמיכה במכסות: מישור הבקרה של Kubernetes יכול לאכוף מכסות ב-PVC שמפנים ל-
VolumeAttributesClassספציפי באמצעותscopeSelectorב-ResourceQuota.
שימוש במנהל התקן CSI של דיסק לאחסון מתמיד ב-Compute Engine עם סוגים של מערכות קבצים שאינם ברירת מחדל
סוג מערכת הקבצים שמוגדר כברירת מחדל לדיסקים לאחסון מתמיד ב-Compute Engine ב-GKE הוא ext4. אפשר גם להשתמש בסוג האחסון xfs אם תמונת הצומת תומכת בו. כאן מופיעה רשימה של מנהלי התקנים נתמכים לפי תמונת צומת.
בדוגמה הבאה אפשר לראות איך משתמשים ב-xfs כסוג ברירת המחדל של מערכת הקבצים במקום ב-ext4 באמצעות מנהל התקן ה-CSI של דיסק אחסון מתמיד (persistent disk) ב-Compute Engine.
יצירת StorageClass
שומרים את המניפסט הבא כקובץ YAML בשם
pd-xfs-class.yaml:apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: xfs-class provisioner: pd.csi.storage.gke.io parameters: # The type of Compute Engine persistent disk to provision. type: pd-balanced # Specify "xfs" as the filesystem type. csi.storage.k8s.io/fstype: xfs volumeBindingMode: WaitForFirstConsumerהחלת המניפסט:
kubectl apply -f pd-xfs-class.yaml
יצירת PersistentVolumeClaim
שומרים את קובץ המניפסט הבא בשם
pd-xfs-pvc.yaml:apiVersion: v1 kind: PersistentVolumeClaim metadata: name: xfs-pvc spec: # References the StorageClass created earlier. storageClassName: xfs-class accessModes: - ReadWriteOnce resources: requests: # The amount of storage requested. storage: 10Giהחלת המניפסט:
kubectl apply -f pd-xfs-pvc.yaml
יצירת Pod שמשתמש בנפח האחסון
שומרים את קובץ המניפסט הבא בשם
pd-xfs-pod.yaml:apiVersion: v1 kind: Pod metadata: name: pd-xfs-pod spec: containers: - name: cloud-sdk image: google/cloud-sdk:slim # Keep the container running for 1 hour. args: ["sleep","3600"] volumeMounts: # The path in the container where the volume will be mounted. - mountPath: /xfs name: xfs-volume # Define the volumes available to the containers in the Pod. volumes: - name: xfs-volume persistentVolumeClaim: # References the PersistentVolumeClaim created earlier. claimName: xfs-pvcהחלת המניפסט:
kubectl apply -f pd-xfs-pod.yaml
איך מוודאים שהנפח הועלה בצורה נכונה
פותחים סשן של מעטפת ב-Pod:
kubectl exec -it pd-xfs-pod -- /bin/bashמחפשים מחיצות
xfs:df -aTh --type=xfsהפלט אמור להיראות כך:
Filesystem Type Size Used Avail Use% Mounted on /dev/sdb xfs 30G 63M 30G 1% /xfs
צפייה ביומנים של מנהל התקן CSI של דיסקים לאחסון מתמיד ב-Compute Engine
אפשר להשתמש ב-Cloud Logging כדי לראות אירועים שקשורים למנהל התקן ה-CSI של דיסק אחסון מתמיד (persistent disk) ב-Compute Engine. יומנים יכולים לעזור לכם לפתור בעיות.
מידע נוסף על Cloud Logging זמין במאמר צפייה ביומנים של GKE.
כדי לראות את היומנים של מנהל ה-CSI של דיסק אחסון מתמיד (persistent disk) ב-Compute Engine, פועלים לפי השלבים הבאים:
נכנסים לדף Cloud Logging במסוף Google Cloud .
כדי לסנן את הרשומות ביומן ולהציג רק את הרשומות שקשורות ל-CSI Driver שפועל במרחב השמות שלכם, מריצים את השאילתה הבאה ב-Cloud Logging:
resource.type="k8s_container" resource.labels.project_id="PROJECT_ID" resource.labels.location="LOCATION" resource.labels.cluster_name="CLUSTER_NAME" resource.labels.namespace_name="kube-system" resource.labels.container_name="gce-pd-driver"מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: שם הפרויקט. -
LOCATION: האזור או התחום של Compute Engine שבו נמצא האשכול. -
CLUSTER_NAME: השם של האשכול.
-
בעיות מוכרות
סוגי מכונות שלא נתמכים
אם אתם משתמשים בקבוצת המכונות מסוג C3, אין תמיכה בסוג pd-standardדיסק מתמשך.
אם תנסו להפעיל Pod במכונה, וה-Pod ישתמש בסוג דיסק אחסון מתמיד (persistent disk) שלא נתמך, תוצג לכם הודעת אזהרה כמו זו שמופיעה ב-Pod:
AttachVolume.Attach failed for volume "pvc-d7397693-5097-4a70-9df0-b10204611053" : rpc error: code = Internal desc = unknown Attach error: failed when waiting for zonal op: operation operation-1681408439910-5f93b68c8803d-6606e4ed-b96be2e7 failed (UNSUPPORTED_OPERATION): [pd-standard] features are not compatible for creating instance.
אם באשכול יש כמה מאגרי צמתים עם משפחות מכונות שונות, אפשר להשתמש בהכתמות צמתים ובהעדפת צמתים כדי להגביל את המקומות שבהם אפשר לתזמן את עומסי העבודה. לדוגמה, אפשר להשתמש בגישה הזו כדי להגביל עומס עבודה באמצעות pd-standard כך שלא יפעל במשפחת מכונות שלא נתמכת.
אם אתם משתמשים בסוג דיסק אחסון מתמיד pd-extreme, אתם צריכים לוודא שהדיסק מחובר למכונת VM עם צורה מתאימה. מידע נוסף זמין במאמר תמיכה בצורת מכונה.
המאמרים הבאים
- איך משתמשים בהרחבת נפח
- איך משתמשים בתמונות מצב של נפח
- איך משתמשים בשיבוט נפח
- איך יוצרים דיסקים קשיחים אזוריים
- מידע נוסף על הדרייבר ב-GitHub