הגדרת מדיניות הפעלה מחדש למכונות

מדיניות ההפעלה מחדש של מופע Cloud Run קובעת אם ומתי המופע יופעל מחדש.

אפשרויות להפעלה מחדש של מדיניות

בוחרים מבין מדיניות ההפעלה מחדש הבאה:

  • on-failure (ברירת מחדל): אם קונטיינר כלשהו יוצא עם קוד סטטוס שאינו אפס, או אם הקונטיינר חווה כשלים בתשתית, המופע מופעל מחדש. במקרים של מופעים עם כמה קונטיינרים, המשמעות היא שכל קונטיינר שנכשל גורם להפעלה מחדש של המופע כולו.
  • always: כשקונטיינר יוצא, המכונה תמיד מופעלת מחדש. זה כולל יציאות נקיות עם הקוד 0.
  • never: המכונה לא מופעלת מחדש. כשמיכל מסוים מסתיים את הפעולה שלו, המופע עובר מיד למצב STOPPED או FAILED.

כשמגדירים את מדיניות ההפעלה מחדש always או on-failure למופע, המופע מופעל מחדש באופן אוטומטי בסוף מחזור חיים של כ-7 ימים, ולכן הוא פועל ללא הגבלת זמן אלא אם הוא מופסק בדרך אחרת.

התפקידים הנדרשים

כדי לקבל את ההרשאות שנדרשות להגדרה ולפריסה של מופעי Cloud Run, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים:

רשימת ההרשאות והתפקידים ב-IAM שמשויכים ל-Cloud Run מופיעה במאמרים תפקידי IAM ב-Cloud Run והרשאות IAM ב-Cloud Run. אם מופע Cloud Run שלכם מתקשר עםGoogle Cloud ממשקי API, כמו ספריות לקוח של Cloud, כדאי לעיין במדריך להגדרת זהות שירות. מידע נוסף על מתן תפקידים זמין במאמרים הרשאות פריסה וניהול גישה.

הגדרה של מדיניות ההפעלה מחדש

מגדירים את מדיניות ההפעלה מחדש של מופע Cloud Run באמצעות Google Cloud CLI או YAML:

gcloud

כדי לציין מדיניות הפעלה מחדש כשפורסים מופע חדש:

gcloud beta run instances deploy INSTANCE \
    --image=IMAGE_URL \
    --restart-policy=POLICY

כדי לעדכן את מדיניות ההפעלה מחדש של מופע קיים:

gcloud beta run instances update INSTANCE \
    --restart-policy=POLICY

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

  • INSTANCE: השם של המכונה.
  • IMAGE_URL: הפניה לקובץ אימג' בקונטיינר, כמו us-docker.pkg.dev/cloudrun/container/hello:latest.
  • POLICY: מדיניות ההפעלה מחדש שרוצים להחיל. אפשר לבחור בין on-failure, always או never.

YAML

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

    gcloud beta run instances describe INSTANCE --format export > instance.yaml
  2. בדוגמה הבאה מופיעה הגדרת ה-YAML:

    apiVersion: run.googleapis.com/v1
    kind: Instance
    metadata:
      name: INSTANCE
      annotations:
        run.googleapis.com/launch-stage: BETA
    spec:
      containers:
      - name: CONTAINER_NAME
        image: IMAGE_URL
      restartPolicy: POLICY

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

    • INSTANCE: השם של מופע Cloud Run.
    • CONTAINER_NAME: השם של הקונטיינר.
    • IMAGE_URL: הפניה לקובץ אימג' בקונטיינר, כמו us-docker.pkg.dev/cloudrun/container/hello:latest.
    • POLICY: מדיניות ההפעלה מחדש שרוצים להחיל. אפשר לבחור בין on-failure, always או never.
  3. יוצרים או מעדכנים את המכונה באמצעות הפקודה הבאה:

    gcloud beta run instances replace instance.yaml