סקירה כללית על Storage API

אחסון אובייקטים

ה-API של Object Storage כולל קטעים של Kubernetes Resource Model ‏ (KRM) ו-S3 REST API. אחסון בלוקים מנוהל באמצעות ה-API הרגיל של Kubernetes לאחסון (https://kubernetes.io/docs/concepts/storage/).

ה-API של Object Storage משתמש במשאבים מותאמים אישית של Kubernetes ומסתמך על מודל המשאבים של Kubernetes. ממשקי ה-API משמשים להקצאה ולניהול של משאבי אחסון אובייקטים. הם משמשים לניהול מחזור החיים של משאבי אחסון אובייקטים בארגון, כולל יצירה, קריאה, עדכון ומחיקה של קטגוריות. ה-API משמש גם לרישום, להגדרת מדיניות שמירה ולהגדרת סוג האחסון של קטגוריות ולבקרת גישה ברמת הקטגוריה.

נקודת קצה של שירות ומסמך Discovery

כתובת ה-URL הבאה היא נקודת הקצה של API ל-Object Storage: ‫https://MANAGEMENT_API_SERVER_ENDPOINT/apis/object.gdc.goog/v1, כאשר MANAGEMENT_API_SERVER_ENDPOINT היא נקודת הקצה של API של שרת הניהול.

באמצעות הפקודה kubectl proxy, אפשר לגשת לכתובת ה-URL הזו בדפדפן או באמצעות כלי כמו curl כדי לקבל את מסמך Discovery של Object Storage API. הפקודה kubectl proxy פותחת פרוקסי לשרת Kubernetes API במחשב המקומי. אחרי שמריצים את הפקודה הזו, ניגשים למסמך בכתובת ה-URL הבאה: http://127.0.0.1:8001/apis/object.gdc.goog/v1.

סקירה כללית על S3 API בארכיטקטורת REST

‫ אחסון מוגדר באמצעות תוכנה מספק Object Storage API שתואם ל-Amazon S3 API. ממשק ה-API בפורמט XML של Object Storage במכשיר Google Distributed Cloud ‏ (GDC) עם בידוד פיזי הוא ממשק RESTful שמאפשר לכם לנהל נתונים של Object Storage באופן פרוגרמטי. מכיוון שמדובר ב-API מסוג RESTful, הוא מסתמך על פרטי ה-method ועל פרטי ההיקף כדי להגדיר את הפעולות שיש לבצע:

  • פרטי השיטה. מציינים את פרטי השיטה באמצעות שיטות HTTP רגילות, כמו DELETE,‏ GET,‏ HEAD ו-PUT.
  • מידע על היקף ההרשאה. מציינים את פרטי ההיקף באמצעות נקודת קצה (URI) נגישה ופרמטרים שונים של היקף. ב-API בפורמט XML, הפרמטרים העיקריים להגדרת ההיקף הם שם הקטגוריה ושם האובייקט. כדי לצמצם עוד יותר את היקף הפעולות, אפשר להשתמש בכותרות HTTP ובפרמטרים של מחרוזת השאילתה.

אחסון בלוקים (block storage)

סקירה כללית על Volume storage API

האינטראקציה עם האחסון ב-GDC מתבצעת באופן מלא באמצעות פרימיטיבים של אחסון ב-Kubernetes. כדי ליצור נפחי אחסון מתמיד, פועלים לפי התיעוד של Kubernetes (https://kubernetes.io/docs/concepts/storage/persistent-volumes/).

דוגמה לדרישת נפח אחסון מתמיד:

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: my_volume
spec:
accessModes:
- ReadWriteOnce
volumeMode: Filesystem
resources:
requests:
storage: 1Gi
storageClassName: standard-rwo