מדיניות ההפעלה מחדש של מופע Cloud Run קובעת אם ומתי המופע יופעל מחדש.
אפשרויות להפעלה מחדש של מדיניות
בוחרים מבין מדיניות ההפעלה מחדש הבאה:
-
on-failure(ברירת מחדל): אם קונטיינר כלשהו יוצא עם קוד סטטוס שאינו אפס, או אם הקונטיינר חווה כשלים בתשתית, המופע מופעל מחדש. במקרים של מופעים עם כמה קונטיינרים, המשמעות היא שכל קונטיינר שנכשל גורם להפעלה מחדש של המופע כולו. -
always: כשקונטיינר יוצא, המכונה תמיד מופעלת מחדש. זה כולל יציאות נקיות עם הקוד0. -
never: המכונה לא מופעלת מחדש. כשמיכל מסוים מסתיים את הפעולה שלו, המופע עובר מיד למצבSTOPPEDאוFAILED.
כשמגדירים את מדיניות ההפעלה מחדש always או on-failure למופע, המופע מופעל מחדש באופן אוטומטי בסוף מחזור חיים של כ-7 ימים, ולכן הוא פועל ללא הגבלת זמן אלא אם הוא מופסק בדרך אחרת.
התפקידים הנדרשים
כדי לקבל את ההרשאות שנדרשות להגדרה ולפריסה של מופעי 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
כדי לציין מדיניות הפעלה מחדש כשפורסים מופע חדש:
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
אם אתם יוצרים מכונה חדשה, דלגו על השלב הזה. אם אתם מעדכנים מופע קיים, אתם צריכים להוריד את הגדרות ה-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: - 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.
-
יוצרים או מעדכנים את המכונה באמצעות הפקודה הבאה:
gcloud beta run instances replace instance.yaml