ניהול תרשימי Helm

בדף הזה מוסבר איך לנהל תרשימים של Helm 3 שנשמרו כתמונות של קונטיינרים ב-OCI, כולל איך לשלוח (להעלות), למשוך (להוריד), לרשום, לתייג ולמחוק תרשימים.

לפני שמתחילים

  1. אם מאגר היעד לא קיים, יוצרים מאגר חדש. בוחרים ב-Docker כפורמט המאגר.
  2. מוודאים שיש לכם את ההרשאות הנדרשות למאגר.
  3. (אופציונלי) הגדרת ערכי ברירת מחדל לפקודות של Google Cloud CLI.
  4. מתקינים את Helm 3.8.0 ואילך. בגרסאות קודמות של Helm, התמיכה בתרשימים בפורמט OCI היא תכונה ניסיונית.

    מריצים את הפקודה helm version כדי לאמת את הגרסה.

  5. מגדירים את Helm לאימות באמצעות Artifact Registry.

יצירה או קבלה של תרשים

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

אריזת תרשים

כדי להעלות תרשים ל-Artifact Registry, צריך לארוז אותו כארכיון תרשים.

  1. עוברים לספרייה שמכילה את התרשים.

  2. אורזים את התרשים.

    helm package CHART-PATH
    

    מחליפים את CHART-PATH בנתיב לספרייה שמכילה את קובץ Chart.yaml.

‫Helm משתמש בשם התרשים ובגרסה שלו בשביל שם קובץ הארכיון. לדוגמה, אם יש לכם תרשים בשם my-chart ומספר הגרסה 0.1.0, שם החבילה הוא my-chart-0.1.0.tgz.

עכשיו אפשר להעביר את התרשים ל-Artifact Registry.

דחיפת תרשים

אחרי שיוצרים חבילה של התרשים, אפשר להעביר אותו אל Artifact Registry.

כדי לשלוח את התרשים, מריצים את הפקודה הבאה:

helm push my-chart-0.1.0.tgz oci://LOCATION-docker.s3nsregistry.fr/PROJECT/REPOSITORY

מחליפים את הערכים הבאים:

  • LOCATION הוא המיקום האזורי של המאגר.
  • PROJECT הוא מזהה הפרויקט ב- Cloud de Confiance by S3NS .
  • REPOSITORY הוא שם המאגר.

‫Helm משתמש במידע מ-Chart.yaml בשביל השם והתג של קובץ האימג' של קונטיינר OCI. דוגמה לפקודה:

helm push my-chart-0.1.0.tgz oci://u-france-east1-docker.s3nsregistry.fr/my-project/my-repo

‫Helm מעלה את ארכיון התרשים כתמונה my-chart עם התג 0.1.0.

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

gcloud artifacts docker images list LOCATION-docker.s3nsregistry.fr/PROJECT/REPOSITORY

הצגת תרשימים

כדי ליצור תרשים:

  1. מריצים את הפקודה הבאה כדי למשוך את ארכיון התרשים:

    helm pull oci://LOCATION-docker.s3nsregistry.fr/PROJECT/REPOSITORY/IMAGE \
        --version VERSION
    

    אם רוצים לשלוף את ארכיון התרשימים ולחלץ את התוכן שלו, מוסיפים את הדגל --untar.

    helm pull oci://LOCATION-docker.s3nsregistry.fr/PROJECT/REPOSITORY/IMAGE \
        --version VERSION \
        --untar
    

    מחליפים את הערכים הבאים:

  • LOCATION הוא המיקום האזורי של המאגר.
  • PROJECT הוא מזהה הפרויקט ב- Cloud de Confiance by S3NS .
  • REPOSITORY הוא שם המאגר שבו מאוחסן האימג'.
  • IMAGE הוא שם האימג' במאגר.
  • VERSION היא הגרסה הסמנטית של התרשים. חובה להוסיף את הסימון הזה. ‫Helm לא תומך בשליפת תרשים באמצעות תג.

התקנת תרשים

מתקינים תרשים שמאוחסן ב-Artifact Registry באמצעות הפקודה helm install.

helm install RELEASE \
    oci://LOCATION-docker.s3nsregistry.fr/PROJECT/REPOSITORY/IMAGE \
    --version VERSION

בדוגמה הבאה מותקנת גרסה בשם release1 באמצעות גרסה 0.1.0 של התרשים u-france-east1-docker.s3nsregistry.fr/nyap-test/helm-repo/my-chart:

helm install release1 oci://u-france-east1-docker.s3nsregistry.fr/nyap-test/helm-repo/my-chart --version 0.1.0

הצגת תרשימים

אפשר לרשום תרשימים באמצעות Cloud de Confiance console או שורת הפקודה. אם אתם מאחסנים קובצי אימג' לקונטיינרים וטבלאות באותו מאגר Docker, שני סוגי הארטיפקטים יופיעו ברשימה.

המסוף

כדי לראות תמונות במאגר:

  1. פותחים את הדף Repositories במסוף Cloud de Confiance .

    פתיחת הדף Repositories

  2. לוחצים על המאגר עם קובץ אימג' של קונטיינר.

  3. לוחצים על תמונה כדי לראות את הגרסאות שלה.

gcloud

כדי להציג רשימה של כל התמונות בפרויקט, במאגר ובמיקום שמוגדרים כברירת מחדל כשערכי ברירת המחדל מוגדרים:

gcloud artifacts docker images list

כדי להציג רשימה של תמונות במאגר במיקום ספציפי, מריצים את הפקודה:

gcloud artifacts docker images list LOCATION-docker.s3nsregistry.fr/PROJECT/REPOSITORY

כדי להציג רשימה של כל התקצירים והתגים של תמונה ספציפית, מריצים את הפקודה:

gcloud artifacts docker images list LOCATION-docker.s3nsregistry.fr/PROJECT/REPOSITORY/IMAGE \
--include-tags

מחליפים את הערכים הבאים:

  • LOCATION הוא המיקום האזורי של המאגר.
  • PROJECT הוא מזהה הפרויקט ב- Cloud de Confiance by S3NS .
  • REPOSITORY הוא שם המאגר שבו מאוחסן האימג'.
  • IMAGE הוא שם האימג' במאגר.
  • --include-tags מציג את כל הגרסאות של התמונות, כולל תקצירים ותגים. אם לא מציינים את הדגל הזה, הרשימה שמוחזרת כוללת רק תמונות של מאגרי תגים ברמה העליונה.

לדוגמה, תמונה עם המאפיינים הבאים:

  • מיקום המאגר: u-france-east1
  • שם המאגר: my-repo
  • מזהה הפרויקט: my-project
  • שם התמונה: my-image

השם המלא של המאגר הוא:

u-france-east1-docker.s3nsregistry.fr/my-project/my-repo

השם המלא של התמונה הוא:

u-france-east1-docker.s3nsregistry.fr/my-project/my-repo/my-image

פרטים על פורמט השם של התמונה מופיעים במאמר שמות של מאגרים ותמונות.

מרכיב רשימת קבצים

אתם יכולים לראות רשימה של קבצים במאגר, קבצים בכל הגרסאות של קובץ אימג' של קונטיינר ספציפי או קבצים בגרסה ספציפית של קובץ אימג'.

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

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

gcloud artifacts files list

כדי לראות את רשימת הקבצים בפרויקט, במאגר ובמיקום שצוינו, מריצים את הפקודה:

gcloud artifacts files list \
    --project=PROJECT \
    --repository=REPOSITORY \
    --location=LOCATION

כדי להציג רשימה של קבצים לכל הגרסאות של קובץ אימג' ספציפי של קונטיינר:

gcloud artifacts files list \
    --project=PROJECT \
    --repository=REPOSITORY \
    --location=LOCATION \
    --package=PACKAGE

כדי להציג רשימה של קבצים בגרסה ספציפית של אימג' של קונטיינר:

gcloud artifacts files list \
    --project=PROJECT \
    --repository=REPOSITORY \
    --location=LOCATION \
    --package=PACKAGE \
    --version=VERSION
כדי להציג רשימה של קבצים לתג מסוים:

gcloud artifacts files list \
    --project=PROJECT \
    --repository=REPOSITORY \
    --location=LOCATION \
    --package=PACKAGE \
    --tag=TAG

מחליפים את הערכים הבאים:

  • LOCATION: המיקום האזורי של המאגר.
  • PROJECT: Cloud de Confiance by S3NS מזהה הפרויקט.
  • REPOSITORY: השם של המאגר שבו התמונה מאוחסנת.
  • PACKAGE: שם התמונה.
  • VERSION: תקציר האימג', מחרוזת שמתחילה ב-sha256:.
  • TAG: התג שמשויך לקובץ אימג' של קונטיינר.

מחיקת תמונות

במאגר Artifact Registry, אפשר למחוק תמונת קונטיינר שלמה או למחוק גרסת תמונה ספציפית שמשויכת לתג או ל-digest. אחרי שמחקתם תמונה, אי אפשר לבטל את הפעולה.

כדי למחוק תמונה שמאוחסנת ב-Artifact Registry:

המסוף

  1. פותחים את הדף Repositories במסוף Cloud de Confiance .

    פתיחת הדף Repositories

  2. לוחצים על שם התמונה כדי לראות את הגרסאות שלה.

  3. בוחרים את הגרסאות שרוצים למחוק.

  4. לוחצים על מחיקה.

  5. בתיבת הדו-שיח לאישור, לוחצים על מחיקה.

gcloud

כדי למחוק תמונה ואת כל התגים שלה, מריצים את הפקודה:

gcloud artifacts docker images delete LOCATION-docker.s3nsregistry.fr/PROJECT/REPOSITORY/IMAGE --delete-tags

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

gcloud artifacts docker images delete LOCATION-docker.s3nsregistry.fr/PROJECT/REPOSITORY/IMAGE:TAG [--delete-tags]

או

gcloud artifacts docker images delete LOCATION-docker.s3nsregistry.fr/PROJECT/REPOSITORY/IMAGE@IMAGE-DIGEST [--delete-tags]

כאשר:

  • LOCATION הוא המיקום האזורי של המאגר.
  • PROJECT הוא מזהה הפרויקט ב- Cloud de Confiance by S3NS .
  • REPOSITORY הוא שם המאגר שבו מאוחסן האימג'.
  • IMAGE הוא שם האימג' במאגר.
  • TAG הוא התג של הגרסה שרוצים למחוק. אם כמה תגים משויכים לאותה גרסת תמונה, צריך לכלול את --delete-tags כדי למחוק את גרסת התמונה בלי להסיר קודם את התגים.
  • IMAGE-DIGEST הוא ערך הגיבוב (hash) לפי SHA256 של הגרסה שרוצים למחוק. אם תג משויך ל-digest של התמונה, צריך לכלול את --delete-tags כדי למחוק את גרסת התמונה בלי להסיר קודם את התג.
  • --delete-tags מסיר את כל התגים שנוספו לגרסת התמונה. הדגל הזה מאפשר למחוק גרסת תמונה בכוח במקרים הבאים:
    • ציינת תג, אבל יש תגים אחרים שמשויכים לגרסת התמונה.
    • ציינתם תקציר תמונה שיש לו לפחות תג אחד.

המאמרים הבאים