בדף הזה מוסבר איך ליצור ולנהל אחסון מתמיד לעומסי עבודה של קונטיינרים במכשיר שלכם עם פער אוויר ב-Google Distributed Cloud (GDC). אחסון קבוע מספק לאפליקציה זהויות עקביות ושמות מארחים יציבים, ללא קשר למיקום שבו מתוזמנים עומסי העבודה שלה.
הדף הזה מיועד למפתחים בקבוצת מפעילים של אפליקציות, שאחראים על יצירת עומסי עבודה של אפליקציות בארגון שלהם.
לפני שמתחילים
כדי להשלים את המשימות שמתוארות במאמר הזה, צריך לבקש את ההרשאות הנדרשות ולהכין את הסביבה.
שליחת בקשה לתפקידי IAM
כדי ליצור, למחוק, לערוך או להציג נפחים קבועים באשכול Kubernetes, צריך לבקש מאדמין ה-IAM בארגון להקצות לכם את התפקיד אדמין של מרחב שמות (namespace-admin). התפקיד הזה משויך למרחב השמות של הפרויקט.
הכנת הסביבה
כדי להריץ פקודות באשכול Kubernetes בשרת פיזי שהוגדר מראש, צריך לוודא שיש לכם את המשאבים הבאים:
מאתרים את שם אשכול Kubernetes או שואלים את מנהל הפלטפורמה מה שם האשכול.
אם אין לכם קובץ kubeconfig, אתם צריכים להיכנס וליצור אותו עבור אשכול Kubernetes.
משתמשים בנתיב kubeconfig של אשכול Kubernetes כדי להחליף את הערך
CLUSTER_KUBECONFIGבהוראות האלה.
יצירת נפח אחסון מתמיד
בהוראות הבאות מוסבר איך ליצור אמצעי אחסון באמצעות GDC standard-rwo StorageClass. מידע נוסף על משאבי StorageClass שזמינים ב-GDC זמין במאמר אחסון מתמיד של קונטיינרים.
יוצרים
PersistentVolumeClaimומגדירים אותו עם מצב גישהReadWriteOnceוסוג אחסוןstandard-rwo:kubectl --kubeconfig CLUSTER_KUBECONFIG \ --namespace NAMESPACE apply -f - <<EOF apiVersion: v1 kind: PersistentVolumeClaim metadata: name: PVC_NAME spec: accessModes: - ReadWriteOnce resources: requests: storage: 10Gi storageClassName: standard-rwo EOFמחליפים את מה שכתוב בשדות הבאים:
CLUSTER_KUBECONFIG: קובץ ה-kubeconfig של אשכול Kubernetes.
NAMESPACE: מרחב השמות של הפרויקט שבו רוצים ליצור את ה-PVC.
PVC_NAME: השם של אובייקטPersistentVolumeClaim.
אובייקטים של
PersistentVolume(PV) מוקצים באופן דינמי. בודקים את הסטטוס של ה-PV החדשים באשכול Kubernetes:kubectl get pv --kubeconfig CLUSTER_KUBECONFIGהפלט אמור להיראות כך:
NAME CAPACITY ACCESS MODES STATUS CLAIM STORAGECLASS AGE pvc-uuidd 10Gi RWO Bound pvc-name standard-rwo 60sמגדירים את עומסי העבודה של הקונטיינר כך שישתמשו ב-PVC. הדוגמה הבאה היא של pod
nginxשמשתמש ב-PVCstandard-rwo:kubectl --kubeconfig CLUSTER_KUBECONFIG \ --namespace NAMESPACE apply -f - <<EOF apiVersion: apps/v1 kind: Pod metadata: name: web-server-deployment labels: app: nginx spec: containers: - name: nginx image: nginx volumeMounts: - mountPath: /usr/share/nginx/html name: data volumes: - name: data persistentVolumeClaim: claimName: PVC_NAME EOFמחליפים את
PVC_NAMEב-PVC שיצרתם.
הרחבת נפח האחסון
כדי להגדיל את הקיבולת של אובייקט PersistentVolumeClaim, מעדכנים את השדה spec.resources.storage לקיבולת החדשה. הגודל המקסימלי של נפח האחסון שנתמך הוא 14.5Ti.
מעדכנים את עוצמת הקול לגודל גדול יותר בקובץ המניפסט של אובייקט
PersistentVolumeClaim:kubectl --kubeconfig CLUSTER_KUBECONFIG \ --namespace NAMESPACE apply -f - <<EOF apiVersion: v1 kind: PersistentVolumeClaim metadata: name: PVC_NAME spec: accessModes: - ReadWriteOnce resources: requests: storage: VOLUME_STORAGE_SIZE EOFמחליפים את מה שכתוב בשדות הבאים:
CLUSTER_KUBECONFIG: קובץ ה-kubeconfig של אשכול Kubernetes.
NAMESPACE: מרחב השמות של הפרויקט שבו קיים משאב ה-PVC.
PVC_NAME: השם של ה-PVC שרוצים להגדיל את גודל האחסון שלו.
VOLUME_SNAPSHOT_SIZE: כמות האחסון שרוצים להגדיל, למשל50Gi.
בודקים את הסטטוס של ה-PV המעודכנים באשכול:
kubectl get pv --kubeconfig CLUSTER_KUBECONFIG
המאמרים הבאים
- סקירה כללית על עומסי עבודה של מאגרי מידע
- יצירת עומסי עבודה עם שמירת מצב
- יצירת תמונות מצב של נפח האחסון