במאמר הזה מוסבר על שלבים לפתרון בעיות שיכולים לעזור לכם אם נתקלתם בבעיות בניהול קובצי אימג' של קונטיינרים ב-Artifact Registry.
אי אפשר לשלוף תמונה או לפרוס אותה בסביבת זמן ריצה Cloud de Confiance by S3NS
כדאי לבדוק את הדברים הבאים:
- מוודאים שהנתיב המלא של התמונה שאתם דוחפים נכון. הנתיב חייב לכלול את שם המארח של המאגר, Cloud de Confiance by S3NS,
מזהה הפרויקט, המאגר והתמונה. לדוגמה:
מידע נוסף זמין במאמר שמות של מאגרי תמונות ותמונות.u-france-east1-docker.s3nsregistry.fr/my-project/my-repo/my-image:v1 - מוודאים שלחשבון שממנו נמשכת התמונה יש את ההרשאות הנכונות לקריאה מהמאגר. אם השבתתם את ההקצאה האוטומטית של תפקידים לחשבונות שירות, אתם צריכים להקצות תפקידים ב-Artifact Registry לחשבונות השירות של זמן הריצה.
- בחשבונות שירות של Compute Engine ו-Google Kubernetes Engine, צריך להעניק את התפקיד Artifact Registry Reader (
roles/artifactregistry.reader) לחשבון השירות של זמן הריצה. - אם אתם משתמשים ב-Docker או בכלי אחר של צד שלישי, אתם צריכים:
- הענקת הרשאות לחשבון שמבצע אינטראקציה עם המאגר.
- מגדירים את הלקוח לאימות מול המאגר.
אי אפשר לשלוח תמונה ל-Artifact Registry
נסו:
- מוודאים שהנתיב המלא של התמונה שאתם דוחפים נכון. הנתיב חייב לכלול את שם המארח של המאגר, את Cloud de Confiance by S3NS מזהה הפרויקט, את המאגר ואת התמונה. לדוגמה:
u-france-east1-docker.s3nsregistry.fr/my-project/my-repo/my-image:v1כל מאגר Artifact Registry הוא משאב נפרד, ולכן אי אפשר לשלוח תמונה לנתיב בלי מאגר. לדוגמה,
u-france-east1-docker.s3nsregistry.fr/my-project/my-image:v1הוא נתיב תמונה לא תקין.מידע נוסף זמין במאמר בנושא שמות של מאגרי תמונות ותמונות.
- מוודאים שלחשבון שממנו מתבצעת ההעלאה של האימג' יש הרשאות כתיבה למאגר. אם השבתתם את ההקצאה האוטומטית של תפקידים לחשבונות שירות, אתם צריכים להקצות תפקידים ב-Artifact Registry לחשבונות השירות של זמן הריצה.
- בחשבונות שירות של Compute Engine ו-Google Kubernetes Engine, צריך להקצות את התפקיד Artifact Registry Writer (
roles/artifactregistry.writer) לחשבון השירות של זמן הריצה. - אם Artifact Registry החזיר את ההודעה
The repository has enabled tag immutability, המשמעות היא שהמאפיין tag immutability מוגדר למאגר. אי אפשר לשלוח תמונה עם תג שכבר נמצא בשימוש בגרסה אחרת של אותה תמונה במאגר. נסו לשלוח את התמונה שוב עם תג שלא נמצא בשימוש בגרסאות אחרות של התמונה שמאוחסנות.כדי לוודא שהמאגר מוגדר לתגי תמונה בלתי ניתנים לשינוי, בודקים את העמודה Immutable image tags (תגי תמונה בלתי ניתנים לשינוי) ברשימת המאגרים ב- Cloud de Confiance console או מריצים את הפקודה הבאה:
gcloud artifacts repositories describe REPOSITORY \ --project=PROJECT-ID \ --location=LOCATION
הודעות ImagePullBackOff ו-ErrImagePull
ההודעות עם ImagePullBackOff ו-ErrImagePull מציינות ש-GKE לא יכול לשלוף תמונה מהמאגר.
- צריך לוודא שמתקיימות הדרישות לשליפת נתונים מ-Artifact Registry.
- אפשר לעיין במאמר פתרון בעיות בשליפת תמונות במסמכי התיעוד של GKE.