הגדרת משתני סביבה למשימות

בדף הזה מוסבר איך להגדיר משתני סביבה לעבודת Cloud Run.

כשמגדירים משתני סביבה, הם מוזרקים לקונטיינר ונגישים לקוד. משתני הסביבה מוגדרים כצמדי מפתח/ערך.

שמות שמורים

משתני הסביבה שמוגדרים בחוזה של זמן הריצה של הקונטיינר הם שמורים ואי אפשר להגדיר אותם.

מספר משתני הסביבה המקסימלי

שימו לב: אפשר להגדיר עד 1,000 משתני סביבה לכל קונטיינר בכל משימת 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 שלכם מתקשרת עםCloud de Confiance ממשקי API, כמו ספריות לקוח ב-Cloud, כדאי לעיין במדריך להגדרת זהות שירות. מידע נוסף על מתן תפקידים זמין במאמרים הרשאות פריסה וניהול גישה.

הגדרה של משתני סביבה

אפשר להגדיר משתני סביבה למשימות חדשות וקיימות. שימו לב שהדגל --set-env-vars הוא פעולה הרסנית שמוחקת משתני סביבה שהוגדרו בעבר ולא נכללים ברשימה החדשה של משתני הסביבה.

אפשר להגדיר משתני סביבה באמצעות המסוף Cloud de Confiance , ה-CLI של gcloud או קובץ YAML:

המסוף

  1. במסוף Cloud de Confiance by S3NS , נכנסים לדף Cloud Run:

    כניסה ל-Cloud Run

  2. בתפריט הניווט של Cloud Run, לוחצים על Jobs (משימות):

    1. אם יוצרים משימה חדשה, לוחצים על Deploy container (פריסת מאגר תגים) כדי למלא את דף ההגדרות הראשוני של המשימה.

    2. אם אתם מגדירים משימה קיימת, בוחרים את המשימה ולוחצים על View and edit job configuration (הצגה ועריכה של הגדרת המשימה).

  3. לוחצים על Containers, Connections, Security (מאגרי תגים, חיבורים, אבטחה) כדי להרחיב את דף מאפייני העבודה.

  4. לוחצים על הכרטיסייה Variables & Secrets (משתנים וסודות).

  5. לוחצים על הוספת משתנה.

  6. מציינים את השם והערך שרוצים להגדיר למשתנה בשדות Name (שם) ו-Value (ערך). מידע נוסף על הגדרת כמה משתני סביבה או על שימוש בתווי escape לתווים מיוחדים זמין במאמר הגדרת כמה משתני סביבה.

  7. לוחצים על יצירה או על עדכון.

gcloud

כדי לציין משתני סביבה כשיוצרים עבודה, משתמשים בדגל --set-env-vars:

gcloud run jobs create JOB_NAME --image IMAGE_URL --set-env-vars KEY1=VALUE1,KEY2=VALUE2

מחליפים את מה שכתוב בשדות הבאים:

  • ‫JOB_NAME: השם של המשימה.
  • ‫KEY1=VALUE1,KEY2=VALUE2: רשימה מופרדת בפסיקים של שמות משתנים והערכים שלהם.
  • ‫IMAGE_URL: הפניה לקובץ אימג' של קונטיינר, לדוגמה us-docker.pkg.dev/cloudrun/container/job:latest.

מידע נוסף על הגדרת כמה משתני סביבה או על שימוש בתווי escape זמין במאמר הגדרת כמה משתני סביבה.

YAML

  1. אם אתם יוצרים משרה חדשה, דלגו על השלב הזה. אם אתם מעדכנים משימה קיימת, אתם צריכים להוריד את הגדרת ה-YAML שלה:

    gcloud run jobs describe JOB --format export > job.yaml
    1. מעדכנים את המאפיינים name ו-value בקטע env כמו שמוצג ב-containers::
    apiVersion: run.googleapis.com/v1
    kind: Job
    metadata:
      name: JOB
    spec:
      template:
        spec:
          template:
            spec:
              containers:
              - image: IMAGE
                env:
                - name: KEY-1
                  value: VALUE-1
                - name: KEY-N
                  value: VALUE-N

    מחליפים את KEY-1 ואת VALUE-1 במשתנה הסביבה ובערך. אפשר להוסיף עוד משתנים וערכים לפי הצורך.

    אפשר גם לציין הגדרות נוספות, כמו משתני סביבה או מגבלות זיכרון.

  2. מעדכנים את ההגדרה הקיימת של העבודה:

    gcloud run jobs replace job.yaml

Terraform

כדי ללמוד איך להחיל הגדרות ב-Terraform או להסיר אותן, ראו פקודות בסיסיות ב-Terraform.

מוסיפים את השורות הבאות למשאב google_cloud_run_v2_job בתצורת Terraform:
resource "google_cloud_run_v2_job" "default" {
  name     = "JOB_NAME"
  location = "REGION"

  template {
    template {
      containers {
        image = "us-docker.pkg.dev/cloudrun/container/job"
        env {
          name = "KEY-1"
          value = "VALUE-1"
        }
        env {
          name = "KEY-N"
          value = "VALUE-N"
        }
      }
    }
  }
}

מחליפים את מה שכתוב בשדות הבאים:

  • ‫JOB_NAME: השם של המשימה ב-Cloud Run.
  • ‫REGION: Cloud de Confiance האזור. לדוגמה: europe-west1.
  • ‫KEY-1: משתנה הסביבה.
  • ‫VALUE-1: הערך שמשויך למפתח.

אפשר להוסיף עוד בלוקים של env כדי להגדיר משתני סביבה נוספים.

הגדרת משתני סביבה כברירת מחדל במאגר התגים

אפשר להשתמש בהצהרה ENV בקובץ Dockerfile כדי להגדיר ערכי ברירת מחדל למשתני סביבה:

ENV KEY1=VALUE1,KEY2=VALUE2

סדר העדיפות: משתני מאגר תגים לעומת משתני משימה

אם מגדירים משתנה סביבה שמוגדר כברירת מחדל בקונטיינר וגם מגדירים משתנה סביבה עם אותו שם במשימת Cloud Run, הערך שמוגדר במשימה מקבל עדיפות.

הגדרה של כמה משתני סביבה

אפשר להגדיר כמה משתני סביבה באמצעות הקובץ .env או הדגל --set-env-vars.

הגדרת כמה משתני סביבה באמצעות הקובץ .env

המסוף

  1. במסוף Cloud de Confiance by S3NS , נכנסים לדף Cloud Run:

    כניסה ל-Cloud Run

  2. בתפריט הניווט של Cloud Run, לוחצים על Jobs (משימות):

    1. אם יוצרים משימה חדשה, לוחצים על Deploy container (פריסת מאגר תגים) כדי למלא את דף ההגדרות הראשוני של המשימה.

    2. אם אתם מגדירים משימה קיימת, בוחרים את המשימה ולוחצים על View and edit job configuration (הצגה ועריכה של הגדרת המשימה).

  3. לוחצים על Containers, Connections, Security (מאגרי תגים, חיבורים, אבטחה) כדי להרחיב את דף מאפייני העבודה.

  4. לוחצים על הכרטיסייה Variables & Secrets (משתנים וסודות).

  5. לוחצים על הוספת משתנה.

  6. בשדה Name (שם), מדביקים את התוכן של קובץ .env. ‫Cloud Run מאכלס אוטומטית את השדה Value ויוצר משתנים חדשים לכל צמד מפתח/ערך שמוגדר בקובץ .env.

  7. לוחצים על יצירה או על עדכון.

gcloud

כדי לציין כמה משתני סביבה מקובץ .env, מריצים את הפקודה הבאה:

gcloud run jobs create JOB_NAME --image=IMAGE_URL --env-vars-file=ENV_FILE_PATH

מחליפים את מה שכתוב בשדות הבאים:

  • ‫JOB_NAME: השם של המשימה ב-Cloud Run.
  • ‫IMAGE_URL: הפניה לקובץ אימג' של קונטיינר, לדוגמה us-docker.pkg.dev/cloudrun/container/job: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=..."

עדכון משתני סביבה

אפשר לעדכן משתני סביבה למשימות קיימות. זוהי גישה לא הרסנית שמשנה או מוסיפה משתני סביבה, אבל לא מוחקת משתני סביבה שהוגדרו קודם.

המסוף

כדי לעדכן משתני סביבה באמצעות מסוף Cloud de Confiance :

  1. נכנסים לדף Jobs ב-Cloud Run במסוף Cloud de Confiance by S3NS :

    כניסה ל-Cloud Run

  2. בוחרים את המשימה מהרשימה ולוחצים על עריכה ופריסה של עדכון חדש.

  3. לוחצים על הכרטיסייה מאגר תגים.

  4. בכרטיסייה משתנים וסודות, עורכים את השדות שם או ערך ולוחצים על סיום.

  5. לוחצים על פריסה.

gcloud

כדי לעדכן משתני סביבה של משימה קיימת, משתמשים בדגל --update-env-vars:

gcloud run jobs update JOB_NAME --update-env-vars KEY1=VALUE1,KEY2=VALUE2

מחליפים את מה שכתוב בשדות הבאים:

  • ‫JOB_NAME: השם של המשימה.
  • ‫KEY1=VALUE1,KEY2=VALUE2: רשימה מופרדת בפסיקים של שמות משתנים וערכים.

הצגת ההגדרות של משתני הסביבה

כדי לראות את ההגדרות הנוכחיות של משתני הסביבה של משימת Cloud Run, משתמשים במסוף Cloud de Confiance או ב-Google Cloud CLI:

המסוף

  1. במסוף Cloud de Confiance by S3NS , נכנסים לדף Cloud Run jobs:

    כניסה לדף Cloud Run jobs

  2. לוחצים על המשרה כדי לפתוח את הדף פרטי המשרה.

  3. לוחצים על הצגה ועריכה של הגדרות העבודה.

  4. מחפשים את ההגדרה של משתני הסביבה בפרטי התצורה.

gcloud

  1. מריצים את הפקודה הבאה:

    gcloud run jobs describe JOB
  2. מחפשים את הגדרת משתני הסביבה בתצורה שמוחזרת.

מחיקת משתני סביבה

אפשר למחוק משתני סביבה של משימות קיימות.

המסוף

כדי למחוק משתני סביבה באמצעות מסוף Cloud de Confiance :

  1. נכנסים ל-Cloud Run במסוף Cloud de Confiance :

    כניסה ל-Cloud Run

  2. בוחרים את המשימה מהרשימה ולוחצים על עריכה ופריסה של עדכון חדש.

  3. לוחצים על הכרטיסייה מאגר תגים.

  4. בכרטיסייה Variables and secrets (משתנים וסודות), מעבירים את הסמן אל הצד הימני של השדה Value (ערך) של משתנה הסביבה שרוצים להסיר, כדי להציג את סמל Delete (מחיקה), ולוחצים עליו.

  5. לוחצים על סיום.

  6. לוחצים על פריסה.

gcloud

כדי להסיר באופן סלקטיבי משתני סביבה של משימה קיימת, משתמשים בדגל --remove-env-vars:

gcloud run jobs update JOB_NAME --remove-env-vars KEY1,KEY2

מחליפים את מה שכתוב בשדות הבאים:

  • ‫JOB_NAME: השם של המשימה.
  • ‫KEY1,KEY2: רשימה מופרדת בפסיקים של שמות משתנים.

אפשר גם למחוק את כל משתני הסביבה שהוגדרו קודם באמצעות הדגל --clear-env-vars:

gcloud run jobs update JOB_NAME --clear-env-vars