מידע על שלבים לפתרון בעיות שרלוונטיים לכל הפורמטים של הארטיפקטים כשעובדים עם Artifact Registry. לבעיות שספציפיות לפורמט של פריט מידע שנוצר בתהליך פיתוח (Artifact), אפשר לעיין בדף שספציפי לפורמט.
- קובצי אימג' של קונטיינרים: קובצי אימג' של קונטיינרים, תרשימי Helm
- חבילות שפה: Java, Node.js, Python
- חבילות OS
בדיקת נקודות חולשה בגרסאות משניות של Red Hat Enterprise Linux
הכלי Artifact Analysis מספק תוצאות של סריקת פגיעויות עבור Red Hat Enterprise Linux (RHEL) על סמך הגרסה המשנית האחרונה של כל גרסה ראשית שפורסמה. אם תסרקו גרסה משנית ישנה יותר, יכול להיות שתקבלו תוצאות לא מדויקות.
מאגר או מיקום לא תקינים בפקודות
המידע הבא יעזור לכם לאבחן שגיאות שקשורות למיקום מאגר לא תקין או לשם מאגר לא תקין.
מיקום ומאגר ברירת מחדל ב-gcloud
אם הגדרתם מאגר ומיקום כברירת מחדל ב-Google Cloud CLI כדי שתוכלו להשמיט את הדגלים --location ו---repository מהפקודות gcloud artifacts, נסו להריץ את הפקודה שנכשלה עם הדגלים והערכים המתאימים. כדי לקבל פרטים על התחביר של פקודה מסוימת, מריצים את הפקודה עם הדגל --help.
הגדרת ברירת המחדל של המאגר לא חלה על פקודות gcloud artifacts שבהן מציינים שם מאגר בלי הדגל --repository. לדוגמה, צריך לציין את שם המאגר בפקודה gcloud artifacts repositories describe כמו בדוגמה הבאה:
gcloud artifacts repositories describe my-repo --location=us-west1
אם הפקודה עדיין נכשלת, יכול להיות שתצטרכו לוודא שציינתם ערכים תקינים למאגר או למיקום.
מיקום המאגר
כדי לראות רשימה של כל המיקומים הנתמכים ב-Artifact Registry, מריצים את הפקודה:
gcloud artifacts locations list
יכול להיות שמדיניות הארגון כוללת הגבלות על מיקום. מערכת Artifact Registry אוכפת את ההגבלות האלה בזמן יצירת המאגר. ב-Artifact Registry לא נאכפת המדיניות באופן רטרואקטיבי במאגרים שנוצרו לפני ההגבלות על המיקום.
שמות מאגרים בפקודות gcloud
אתם יכולים להציג רשימה של מאגרי קוד כדי לראות את שמות המאגרים בפרויקט או במיקום שצוינו.
כדי להציג רשימה של כל המאגרים בפרויקט, מריצים את הפקודה:
gcloud artifacts repositories list --project=PROJECT-ID \
--location=all
כדי להציג רשימה של כל המאגרים במיקום מסוים, מריצים את הפקודה:
gcloud artifacts repositories list --project=PROJECT-ID \
--location=LOCATION
מחליפים את PROJECT-ID במזהה הפרויקט ב- Google Cloud ואת LOCATION במיקום המאגר.
הפקודה מחזירה מידע לכל מאגר, בדומה לדוגמה הבאה:
REPOSITORY: my-repo
FORMAT: DOCKER
DESCRIPTION:
LOCATION: us-west1
LABELS:
ENCRYPTION: Google-owned and Google-managed encryption key
CREATE_TIME: 2021-09-23T19:39:10
UPDATE_TIME: 2021-09-23T19:39:10
הערך של REPOSITORY הוא הערך שבו משתמשים בפקודות gcloud artifacts שכוללות את שם המאגר כפרמטר.
לדוגמה, בפקודה הזו נעשה שימוש בדגל --repository:
gcloud artifacts packages list --location=us-west1 --repository=my-repo
בפקודה הזו נעשה שימוש רק בשם המאגר, בלי דגל:
gcloud artifacts repositories describe my-repo --location=us-west1
שמות מאגרי מידע עם לקוחות של צד שלישי
בדרך כלל, כשמגדירים לקוחות צד שלישי, משתמשים בנתיב מלא למאגר, כמו us-west1-docker.pkg.dev/my-project/my-repo. לאחר מכן פועלים לפי המוסכמות של הלקוח להעלאה ולהורדה של חבילות. לפרטים על הגדרת הלקוח ועל השימוש בו, אפשר לעיין במסמכי התיעוד של הפורמט שבו אתם עובדים.
- Container images: Docker, Helm
- Language packages: Java, Node.js, Python, Go
- OS packages: Debian, RPM
- נתיב לא חוקי:
us-east1-docker.pkg.dev/my-project/my-image - נתיב תקין:
us-east1-docker.pkg.dev/my-project/my-repo/my-image
אי אפשר לבצע פעולות push או pull ממאגרי קוד שלא נמחקו
מאגרי מידע לא פועלים יותר כמו שצריך אחרי שמבטלים את המחיקה של פרויקט או אחרי שמפעילים את Artifact Registry API אחרי שהושבת. Google Cloud
אם משביתים את Artifact Registry API או מוחקים את הפרויקט, שירותי Artifact Registry לא יהיו זמינים. נתוני המאגר נמחקים מ-Artifact Registry אחרי 7 ימים.
מידע נוסף על מחיקת נתונים ב- Google Cloud
שגיאה בשליפת Prometheus sidecar ל-Cloud Run ב-גבולות גזרה לשירות
אתם משתמשים ב-Artifact Registry עם VPC Service Controls ומנסים למשוך את קובץ האימג' של Prometheus sidecar for Cloud Run בתוך גבולות גזרה לשירות. מופיעה השגיאה 403 permission denied.
כדי לפתור את הבעיה הזו, צריך לאפשר תעבורת נתונים יוצאת (egress) אל הפרויקט cloud-ops-agents-artifacts בכלל היציאה שהגדרתם לשימוש ב-mirror.gcr.io בגבולות גזרה לשירות. כדי לעשות את זה, מוסיפים את projects/1042947621568 כמשאב בכלל היציאה.