מדריך למתחילים: גישה לקטגוריות של Cloud Storage באמצעות מנהל התקן ה-CSI של FUSE
במדריך הזה לשימוש מהיר תלמדו איך לגשת לקטגוריות של Cloud Storage מתוך אפליקציית Google Kubernetes Engine (GKE) כאילו הן מערכות קבצים מקומיות. במדריך לתחילת העבודה הזה מובא מניפסט לדוגמה של Kubernetes ליצירת Pod שמטמיע את הדלי, ומוסבר איך ליצור אינטראקציה עם התוכן של הדלי באמצעות מערכת הקבצים של ה-Pod.
הדף הזה מיועד למפתחים, למומחי אחסון ולכל מי שרוצה להקצות ולנהל משאבי ענן ולפרוס עומסי עבודה. מידע נוסף על תפקידים נפוצים זמין במאמר תפקידים נפוצים של משתמשים ומשימות ב-GKE.
לפני שקוראים את הדף הזה, חשוב להכיר את Kubernetes ואת מנהל התקן ה-CSI של Cloud Storage FUSE.
במדריך הזה נשתמש במצב GKE Autopilot. אם רוצים להשתמש במצב רגיל, אפשר לעיין במאמר הגדרת מנהל התקן ה-CSI של Cloud Storage FUSE ל-GKE.
לפני שמתחילים
-
In the Cloud de Confiance console, on the project selector page, select or create a Cloud de Confiance project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Cloud de Confiance project.
Enable the GKE and Cloud Storage APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
צריך לוודא שיש לכם בפרויקט את התפקיד או התפקידים הבאים: אדמין של Kubernetes Engine, אדמין של Storage, משתמש בחשבון שירות
בדיקת התפקידים
-
נכנסים לדף IAM במסוף Cloud de Confiance .
כניסה לדף IAM - בוחרים את הפרויקט.
-
בעמודה Principal (חשבון המשתמש), מוצאים את כל השורות שבהן מופיע השם שלכם או של קבוצה שאתם נכללים בה. כדי לברר באילו קבוצות אתם נכללים, פנו לאדמין.
- בודקים את העמודה Role בכל השורות שבהן מצוין או מופיע השם שלכם, כדי לראות אם רשימת התפקידים כוללת את התפקידים הנדרשים.
מתן התפקידים
-
נכנסים לדף IAM במסוף Cloud de Confiance .
כניסה לדף IAM - בוחרים את הפרויקט.
- לוחצים על Grant access.
-
בשדה New principals, מזינים את מזהה המשתמש. בדרך כלל זה המזהה של משתמש במאגר זהויות של כוח עבודה. למידע נוסף, קראו את המאמר ייצוג המשתמשים במאגרי כוח עבודה בכללי מדיניות IAM או פנו לאדמין שלכם.
- לוחצים על Select a role ומחפשים את התפקיד.
- כדי לתת עוד תפקידים, לוחצים על Add another role ומוסיפים אותם.
- לוחצים על Save.
-
יצירת אשכול GKE Autopilot
נכנסים לדף Create an Autopilot cluster במסוף Cloud de Confiance .
בקטע Cluster basics (פרטים בסיסיים על האשכול), מבצעים את הפעולות הבאות:
בשדה Name (שם), מזינים שם לאשכול.
משאירים את ערכי ברירת המחדל בשאר ההגדרות.
כדי ליצור את האשכול, לוחצים על Create.
יצירת קטגוריה של Cloud Storage
- במסוף Cloud de Confiance , נכנסים לדף Buckets של Cloud Storage.
לוחצים על יצירה.
בדף Create a bucket, בקטע Get started, מבצעים את הפעולות הבאות:
מזינים שם ייחודי גלובלית לקטגוריה שעומד בדרישות לשמות של קטגוריות.
משאירים את ערכי ברירת המחדל בשאר ההגדרות.
כדי ליצור את ה-bucket, לוחצים על Create.
העלאת אובייקטים לקטגוריה של Cloud Storage
- במסוף Cloud de Confiance , נכנסים לדף Buckets של Cloud Storage.
ברשימת הקטגוריות, לוחצים על שם הקטגוריה שיצרתם.
בכרטיסייה Objects של הקטגוריה, מבצעים אחת מהפעולות הבאות:
גוררים קבצים משולחן העבודה או ממנהל הקבצים לחלונית הראשית במסוף Cloud de Confiance .
לוחצים על הלחצן העלאת קבצים. בתיבת הדו-שיח שמופיעה, בוחרים את הקבצים שרוצים להעלות ולוחצים על פתיחה.
הגדרת גישה לקטגוריה של Cloud Storage
כדי לוודא שיש לכם גישה לקטגוריית Cloud Storage דרך אשכול GKE, פועלים לפי השלבים במאמר הגדרת גישה לקטגוריות Cloud Storage.
הגדרת Cloud Shell
במסוף Cloud de Confiance , מפעילים את Cloud Shell.
יתחיל סשן של Cloud Shell ותופיע הודעה של שורת הפקודה. הסשן יופעל תוך כמה שניות.
פריסת Pod כדי לגשת לקטגוריה של Cloud Storage באמצעות FUSE
מגדירים את פרויקט ברירת המחדל שבו רוצים לפרוס את ה-Pod:
gcloud config set project PROJECT_IDמחליפים את
PROJECT_IDבמזהה הפרויקט.יוצרים ומחילים את מניפסט ה-Pod עם התוכן הבא:
cat << EOF | kubectl apply -f - apiVersion: v1 kind: Pod metadata: name: gcsfuse-test namespace: default annotations: gke-gcsfuse/volumes: "true" spec: terminationGracePeriodSeconds: 60 containers: - image: busybox name: busybox command: ["sleep"] args: ["infinity"] volumeMounts: - name: gcsfuse-test mountPath: /data readOnly: true serviceAccountName: default volumes: - name: gcsfuse-test csi: driver: gcsfuse.csi.storage.gke.io volumeAttributes: bucketName: BUCKET_NAME mountOptions: "implicit-dirs" EOF- מחליפים את
BUCKET_NAMEבשם הקטגוריה שלכם ב-Cloud Storage. - אם משתמשים במרחב שמות אחר או בחשבון שירות, מחליפים את השדות
namespaceו-serviceAccountNameבהתאם.
התוכן של המניפסט הזה מתחיל Pod בשם
gcsfuse-testשמטמיע את הקטגוריה בנתיב/data.- מחליפים את
מוודאים שה-Pod פועל:
kubectl get pod gcsfuse-testהפלט אמור להיראות כך:
NAME READY STATUS RESTARTS AGE gcsfuse-test 2/2 Running 0 12sמנהל התקן ה-CSI של Cloud Storage FUSE מצרף קונטיינר sidecar ב-Pod כדי לנהל אינטראקציות עם Cloud Storage.
אם ה-Pod לא פועל, אפשר לאחזר את יומני האירועים כדי לאבחן את הבעיה באמצעות הפעלת הפקודה
kubectl describe pod gcsfuse-test. מידע נוסף זמין במאמר פתרון בעיות ב-GitHub.אחרי שה-Pod פועל, אפשר לעיין במערכת הקבצים שלו:
kubectl exec -it gcsfuse-test -- find /data
הסרת המשאבים
כדי להימנע מחיובים בחשבון Cloud de Confiance by S3NS על המשאבים שבהם השתמשתם במדריך הזה, מוחקים את ה-Pod:
kubectl delete pod gcsfuse-test