בדף הזה מוסבר איך להגדיר משתני סביבה למופע Cloud Run.
התפקידים הנדרשים
כדי לקבל את ההרשאות שנדרשות להגדרה ולפריסה של מופעי Cloud Run, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים:
- Cloud Run Developer (
roles/run.developer) במופע Cloud Run - משתמש בחשבון שירות (
roles/iam.serviceAccountUser) בזהות השירות
רשימת ההרשאות והתפקידים ב-IAM שמשויכים ל-Cloud Run מופיעה במאמרים תפקידי IAM ב-Cloud Run והרשאות IAM ב-Cloud Run. אם מופע Cloud Run שלכם מתקשר עםGoogle Cloud ממשקי API, כמו ספריות לקוח של Cloud, כדאי לעיין במדריך להגדרת זהות שירות. מידע נוסף על מתן תפקידים זמין במאמרים הרשאות פריסה וניהול גישה.
הגדרה של משתני סביבה
אפשר להגדיר משתני סביבה למופע של Cloud Run באמצעות Google Cloud CLI או YAML:
gcloud
כדי לציין משתני סביבה בזמן יצירת המכונה, משתמשים בדגל --set-env-vars:
gcloud beta run instances create INSTANCE --image IMAGE_URL --set-env-vars KEY1=VALUE1,KEY2=VALUE2
מחליפים את מה שכתוב בשדות הבאים:
- INSTANCE: השם של המכונה
-
IMAGE_URL: הפניה לקובץ אימג' בקונטיינר, כמוus-docker.pkg.dev/cloudrun/container/hello:latest. - KEY1=VALUE1,KEY2=VALUE2: רשימה מופרדת בפסיקים של שמות משתנים וערכים
מידע נוסף על הגדרת כמה משתני סביבה או על שימוש בתווי escape לתווים מיוחדים זמין במאמר הגדרת כמה משתני סביבה.
YAML
אם אתם יוצרים מכונה חדשה, דלגו על השלב הזה. אם אתם מעדכנים מופע קיים, אתם צריכים להוריד את הגדרות ה-YAML שלו:
gcloud beta run instances describe INSTANCE --format export > instance.yaml
בדוגמה הבאה מופיעה הגדרת ה-YAML:
apiVersion: run.googleapis.com/v1 kind: Instance metadata: name: INSTANCE annotations: run.googleapis.com/launch-stage: BETA spec: containers: - env: - name: KEY value: VALUE - name: KEY2 value: VALUE2 image: IMAGE
מחליפים את מה שכתוב בשדות הבאים:
- INSTANCE: השם של מופע Cloud Run.
- KEY ו-VALUE: השם והערכים של משתני הסביבה.
-
IMAGE_URL: הפניה לקובץ אימג' בקונטיינר, כמוus-docker.pkg.dev/cloudrun/container/hello:latest.
יוצרים או מעדכנים את המכונה באמצעות הפקודה הבאה:
gcloud beta run instances replace instance.yaml
הגדרת משתני סביבה כברירת מחדל במאגר התגים
אפשר להשתמש בהצהרה ENV בקובץ Dockerfile כדי להגדיר ערכי ברירת מחדל למשתני סביבה:
ENV KEY1=VALUE1,KEY2=VALUE2
סדר העדיפות: משתני מאגר תגים לעומת משתני מופע
אם מגדירים משתנה סביבה כברירת מחדל בקונטיינר וגם מגדירים משתנה סביבה עם אותו שם במופע של Cloud Run, הערך שמוגדר במופע מקבל עדיפות.
הגדרה של כמה משתני סביבה
אפשר להגדיר כמה משתני סביבה באמצעות הקובץ .env או הדגל --set-env-vars.
הגדרת כמה משתני סביבה באמצעות הקובץ .env
gcloud
כדי לציין כמה משתני סביבה מקובץ .env, מריצים את הפקודה הבאה:
gcloud beta run instances create INSTANCE --image IMAGE_URL --env-vars-file=ENV_FILE_PATH
מחליפים את מה שכתוב בשדות הבאים:
- INSTANCE: השם של המכונה.
-
IMAGE_URL: הפניה לקובץ אימג' בקונטיינר, כמוus-docker.pkg.dev/cloudrun/container/hello:latest. - ENV_FILE_PATH: הנתיב לקובץ
.env.
הגדרת כמה משתני סביבה באמצעות הדגל --set-env-vars
אם יש לכם כמה משתני סביבה שלא ניתן לפרט בפורמט KEY1=VALUE1,KEY2=VALUE2, אפשר לחזור על הדגל --set-env-vars כמה פעמים:
[...] --set-env-vars "KEY1=VALUE1" \ --set-env-vars "KEY2=VALUE2" \ --set-env-vars "KEY3=VALUE3"
תו בריחה (escape) לתווים של פסיקים
מכיוון שהתו פסיק, משמש לפיצול משתני סביבה, אם משתנה הסביבה שלכם מכיל תווי פסיק כערכים, צריך להשתמש בתו בריחה עבור התווים האלה על ידי ציון תו מפריד שונה, למשל @:
--set-env-vars "^@^KEY1=value1,value2,value3@KEY2=..."
עדכון משתני סביבה
אפשר לעדכן משתני סביבת זמן ריצה עבור מופעים קיימים. זו גישה לא הרסנית שמשנה או מוסיפה משתני סביבת זמן ריצה, אבל לא מוחקת אותם.
אפשר לעדכן את משתני הסביבה באמצעות Google Cloud CLI או YAML:
gcloud
כדי לעדכן משתני סביבה של מופע קיים, משתמשים בדגל --update-env-vars:
gcloud beta run instances update INSTANCE --update-env-vars KEY1=VALUE1,KEY2=VALUE2
מחליפים את מה שכתוב בשדות הבאים:
- INSTANCE: השם של המכונה
- KEY1=VALUE1,KEY2=VALUE2: רשימה מופרדת בפסיקים של שמות משתנים וערכים
YAML
מורידים את הגדרות ה-YAML של המכונה:
gcloud beta run instances describe INSTANCE --format export > instance.yaml
עורכים את משתני המפתח (השם) והערך.
מעדכנים את המופע באמצעות הפקודה הבאה:
gcloud beta run instances replace instance.yaml
מחיקת משתני סביבה
gcloud
כדי להסיר משתני סביבה באופן סלקטיבי ממופע קיים, משתמשים בדגל --remove-env-vars:
gcloud beta run instances update INSTANCE --remove-env-vars KEY1,KEY2
מחליפים את מה שכתוב בשדות הבאים:
- INSTANCE: השם של המכונה
- KEY1,KEY2: רשימה מופרדת בפסיקים של שמות משתנים
אפשר גם למחוק את כל משתני הסביבה שהוגדרו קודם באמצעות הדגל --clear-env-vars:
gcloud beta run instances update INSTANCE --clear-env-vars
מחליפים את INSTANCE בשם המכונה.
קוד לדוגמה
דוגמת קוד שמראה איך לגשת למשתני סביבה בקוד מופיעה במאמר טיפול בהגדרות רגישות באמצעות Secret Manager במדריך לאימות משתמשי קצה.
המאמרים הבאים
אתם יכולים להשתמש במשתני סביבה כדי להגדיר buildpacks. פרטים ספציפיים לשפה זמינים במסמכי התיעוד של buildpacks בנושאים הבאים: