בעיות מוכרות ב-Cloud Run

במאמר הזה מפורטות בעיות ידועות, מגבלות ותכונות שלא נתמכות ב-Cloud Run.

אתם יכולים גם לבדוק אם יש בעיות קיימות או לפתוח בעיות חדשות בכלים הציבוריים למעקב אחר בעיות.

בוחרים את קטגוריית הבעיה:

או לסנן את הבעיות הידועות:

קטגוריה הבעיה והפתרון העקיף
קישוריות ואבטחה

חיבורי SSH נכשלים בהפעלה קרה של שירות Cloud Run עם כמה קונטיינרים

כשחיבור SSH מבצע הפעלה קרה של שירות Cloud Run עם כמה קונטיינרים וסדר הפעלה של קונטיינרים (container-dependencies), הבקשה מנותבת לפני שסביבת הקונטיינר מוכנה. ‫Cloud Run מחזיר שגיאת HTTP 500 ומפסיק מיד את המכונה החדשה. אם תתחברו באמצעות Google Cloud CLI, הפקודה תיכשל.

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

פריסה

יכול להיות שפעולות ארוכות להפעלה או להשבתה של SSH במכונות של Cloud Run יחזירו תשובה מוקדם מדי

יכול להיות שפעולות ממושכות (LRO) להפעלה או להשבתה של SSH במכונות של Cloud Run יחזרו לפני שהפעולה תסתיים.

קישוריות ואבטחה

לפעמים חיבורי SSH נכשלים אחרי שמפעילים או משביתים את SSH

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

הגשה

מדיניות ההפעלה מחדש Always מפסיקה את המכונות של Cloud Run כשקונטיינר יוצא עם קוד 0

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

פריסה

הדגל dependsOn של תלות בקונטיינר לא פועל במכונות של Cloud Run

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

הגשה

עיכוב בשחזור השירות אחרי הסרת מגבלת הוצאות או הפעלה מחדש של החיוב

אם הפרויקט חרג מתקרת ההוצאות או שהחיוב הושבת, יכול להיות שיעברו עד 30 דקות לפני שהמשאבים של Cloud Run יחזרו להציג תנועה אחרי שתבטלו את תקרת ההוצאות או תפעילו מחדש את החיוב. במהלך התקופה הזו, יכול להיות שהבקשות ייכשלו עם שגיאות 429 או 503 (עם יומנים שמציינים "הבקשה בוטלה כי לא היה מכונה זמינה") או שהמכונות לא יופעלו.

אין פתרון עקיף ידני. צריך להמתין עד 30 דקות כדי שהמשאבים יחזרו למצב תקין.

קישוריות ואבטחה

מחברי VPC למאגרי עובדים לא מוכנים לייצור

מחברי Serverless VPC Access עם מאגרי Cloud Run worker זמינים בגרסת טרום-השקה (Preview) ונתמכים רק ב-Terraform באמצעות Cloud Run v2 API. אין תמיכה במסוף Google Cloud , ב-Google Cloud CLI, ב-YAML וב-Cloud Run v1 API. בנוסף, אין תמיכה ברכיבים של מוכנות לייצור, כמו מדדי מעקב.

ניראות (observability)

עלייה לינארית במדד זמן האחזור של כניסה לאזור

יכול להיות שתבחינו בעלייה לינארית מלאכותית במדד run.googleapis.com/request_latency/ingress_to_region, בדרך כלל כשמציבים שירות מאחורי מאזן עומסים חיצוני של אפליקציות (ALB) באמצעות פרוטוקול HTTP/2 ונעשה שימוש חוזר בחיבורים. זה קורה כי יכול להיות שחותמת הזמן של הבקשה הראשונית לא תתעדכן בבקשות הבאות באותו חיבור, בזמן שזמן ההגעה האזורי ממשיך להתקדם.

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

פריסה

זמן אחזור ארוך בפריסה באזורים מסוימים

יכול להיות שיצירה או עדכון של משאבי Cloud Run יהיו איטיים מהצפוי באזורים מסוימים, כמו us-central1. אם זמן האחזור של הפריסה הוא בעיה באזור מסוים, Google ממליצה לפרוס באזור אחר.

פריסה

משימות ב-Cloud Run עלולות להיות מסומנות בטעות ככאלה שבוצע בהן ניסיון חוזר

במצבים מסוימים, משימה יכולה להיות מסומנת ככזו שבוצע בה ניסיון חוזר, גם אם היא הצליחה בניסיון הראשון. עד שהבעיה תיפתר, Google ממליצה להגדיר את הפרמטר --max-retries ל-3 או יותר כדי למנוע כשלים מזויפים בהפעלה.

פריסה

אי אפשר להשתמש ב-Volume Mounts עם Config Connector

אם פורסים את השירות או המשימה ב-Cloud Run באמצעות Config Connector, נקודות ה-mount של אמצעי האחסון לא יישמרו בפריסה הבאה. יכול להיות שיהיו בעיות גם בשימוש ב-Config Connector עם שירותים או משימות שכבר הוחלו עליהם טעינות של אמצעי אחסון.

הגשה

משתנה הסביבה HOME מוגדר ל-/home בסביבת ההפעלה מהדור הראשון

סביבת ההפעלה של Cloud Run מהדור הראשון מגדירה את משתנה הסביבה HOME לערך /home. בסביבת זמן הריצה מהדור השני, המשתנה HOME מוגדר לערך ב-/etc/passwd של המשתמש שמריץ את הפונקציה, או חוזר ל-/home אם /etc/passwd לא קיים או אם המשתמש לא נמצא ב-/etc/passwd.

הגשה

אי אפשר לטעון סודות ב-/tmp בסביבת הפעלה מהדור הראשון

אם אתם משתמשים בסביבת הפעלה מהדור הראשון, אתם לא יכולים לטעון סודות ישירות ב-/tmp. עם זאת, אפשר לטעון סודות בכל ספריית משנה של /tmp.

הגשה

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

יכול להיות שבקשות לשירותי Cloud Run שמשתמשים בדומיינים בהתאמה אישית יחוו זמן אחזור גבוה מאוד במיקומים מסוימים. הבעיה הזו בולטת יותר בשירותי Cloud Run באזורים asia-northeast1 ו-us-east4. אם נתקלתם בבעיה הזו, תוכלו לשפר את הביצועים באמצעות Cloud Load Balancing עם קבוצת נקודות קצה ברשת (NEG) ללא שרת.

הגשה

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

יכול להיות ש-Cloud Run ישתמש בבקשה שנשלחה לנקודת הקצה של השירות כדי להפעיל מכונה. לפני שתוצאות בדיקת ההפעלה ידועות, יכול להיות ש-Cloud Run גם יקצה את הבקשה למכונה. אם הבדיקה תעבור, המכונה תעבד את הבקשה ב-receiveTimestamp שרשום ביומן הבקשות של Cloud Run. אם הבדיקה נכשלת, Cloud Run מתעד את הכישלון בלי להזין את קוד השירות.

קישוריות ואבטחה

כדי למפות דומיינים מותאמים אישית, צריך להפעיל כתובות URL מסוג

אפשר למפות דומיינים בהתאמה אישית רק לשירותי Cloud Run עם כתובת URL שמוגדרת כברירת מחדל ב-. עד שהבעיה תיפתר, אם השבתתם את כתובת ה-URL שמוגדרת כברירת מחדל ב-, מומלץ להפעיל את כתובת ה-URL שמוגדרת כברירת מחדל ב-, למפות את הדומיין המותאם אישית ואז להשבית שוב את כתובת ה-URL שמוגדרת כברירת מחדל ב-.

קישוריות ואבטחה

חיבור לרשת (VPC) מאפליקציית serverless לא תומך ב-IPv6

אי אפשר להשתמש ב-IPv6 כששולחים תנועה דרך מחברים של חיבור לרשת (VPC) מאפליקציית serverless. יש תמיכה ב-IPv6 כשתעבורת הנתונים היוצאת (egress) של Direct VPC משתמשת ברשתות משנה בשני פרוטוקולים או כשניגשים לנקודות קצה (endpoints) שהן לא VPC, בזמן שהערך של vpc-egress מוגדר כ-private-ranges-only.

קישוריות ואבטחה

כתובות IP שלא מזוהות בבירור כשהן בשימוש על ידי שירות ללא שרת (serverless)

כשמשתמשים ב-Direct VPC egress, אפשר לזהות כתובות IP ששמורות ל-Cloud Run ונמצאות כרגע בשימוש. הן מוצגות בתור None במקום Serverless בדף IP addresses במסוף Google Cloud .

כתובת URL

נתיבים שמורים של כתובות URL

אי אפשר להשתמש בנתיבי כתובות ה-URL הבאים:
  • נתיבים שמתחילים ב-/_ah/
  • חלק מהנתיבים שמסתיימים ב-z. כדי למנוע התנגשויות עם נתיבים שמורים, מומלץ להימנע מכל הנתיבים שמסתיימים ב-z
כתובת URL

חלק מהתווים בכתובת ה-URL המקודדת מפוענחים

‫Cloud Run מפענח חלק מהתווים המקודדים בכתובת ה-URL של שירותי Cloud Run לפני שהם מגיעים למכונה של הקונטיינר. לדוגמה, %41 מפוענח אוטומטית ל-A.

שירותים ותכונות שלא נתמכים

שירותים לא נתמכים

Web Security Scanner
שירותים ותכונות שלא נתמכים

דחיפת HTTP/2

‫Cloud Run תומך ב-HTTP/2, אבל לא ב-דחיפת שרת HTTP/2.

שירותים ותכונות שלא נתמכים

שיטות HTTP

ב-Cloud Run אין תמיכה בבקשות עם שיטות HTTP כמו TRACE ו-CONNECT. לכן, השיטות האלה לא מתקבלות בשירותים שפועלים ב-Cloud Run.

שירותים ותכונות שלא נתמכים

חיבורים מובנים של Cloud SQL לא זמינים למשימות של Cloud Run שפועלות עם כמה קונטיינרים.

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

למעלה