הגדרת מכונות וירטואליות להתקנת חבילות RPM

מאגרי Yum ב-Artifact Registry מאפשרים לכם לקבוע אילו גרסאות של חבילות RPM יותקנו במכונות הווירטואליות (VMs). אתם יכולים להגדיר מכונות של Compute Engine או מכונות וירטואליות חיצוניות כדי למשוך חבילות ממאגרים פרטיים או ציבוריים באמצעות מנהלי החבילות Yum או DNF.

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

אם מאגר Yum לא קיים, יוצרים מאגר חדש. אתם יכולים ליצור מאגר פרטי או מאגר ציבורי שלא דורש אימות.

הכנת מכונה וירטואלית לגישה למאגר Yum

כדי להכין מכונה וירטואלית לגישה למאגר Yum, משתמשים בכלי הלקוח yum או dnf:

מאגר פרטי

  1. בוחרים את חשבון השירות שבו תשתמשו כדי לתת גישה.

    • במכונות וירטואליות של Compute Engine, יכול להיות שזה יהיה חשבון השירות שמוגדר כברירת מחדל. ‫Artifact Registry מאחזר באופן אוטומטי את פרטי הכניסה לחשבון השירות של מכונת ה-VM ב-Compute Engine לכל מכונת VM שמשתמשת בחשבון שירות.
    • במכונות וירטואליות אחרות, יוצרים או בוחרים חשבון שירות שיפעל בשם המכונה הווירטואלית. כדי להגדיר את המכונה הווירטואלית, תצטרכו את המיקום של קובץ המפתח של חשבון השירות. בדף Service Accounts אפשר לראות את המפתחות של החשבונות הקיימים וליצור מפתחות חדשים.
  2. נותנים לחשבון השירות הרשאות גישה למאגר.

  3. מכינים את ה-VM לגישה למאגר.

    מכונה וירטואלית ב-Compute Engine

    1. מקצים למכונה הווירטואלית היקפי גישה ל-API של cloud-platform. למידע נוסף על הגדרת היקפי גישה, קראו את המאמר שינוי חשבון השירות והיקפי הגישה של מכונה.

    2. מעדכנים את המטמון של החבילה באמצעות הפקודה הבאה:

      sudo yum makecache
      
    3. מתקינים את הפלאגין של Artifact Registry ב-VM באמצעות הפקודה הבאה:

      sudo yum install FORMAT-plugin-artifact-registry
      

      מחליפים את מה שכתוב בשדות הבאים:

      • FORMAT באחת מהאפשרויות הבאות:
        • yum, אם מערכת ההפעלה היא Enterprise Linux 7 או גרסה קודמת
        • ‫dnf, אם מערכת ההפעלה היא Enterprise Linux 8 ואילך

    מכונה וירטואלית אחרת

    1. מתקינים את מפתח החתימה של RPM באמצעות הפקודה הבאה:

      sudo rpm --import https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
      
    2. יוצרים קובץ בשם /etc/yum.repos.d/artifact-registry-plugin.repo עם התוכן הבא:

      [ar-plugin]
      name=Artifact Registry Plugin
      baseurl=https://packages.cloud.google.com/yum/repos/FORMAT-plugin-artifact-registry-DISTRO-stable
      enabled=1
      gpgcheck=1
      

      מחליפים את מה שכתוב בשדות הבאים:

      • FORMAT באחת מהאפשרויות הבאות:
        • yum, אם מערכת ההפעלה היא Enterprise Linux 7 או גרסה קודמת
        • ‫dnf, אם מערכת ההפעלה היא Enterprise Linux 8 ואילך
      • ‫DISTRO בגרסה הראשית של Red Hat Enterprise Linux בפורמט elX, כאשר X הוא גרסת ההפצה. דוגמאות לערכים תקינים של DISTRO: el7,‏ el8,‏ el9 ו-el10.
    3. מעדכנים את Yum באמצעות הפקודה הבאה:

      sudo yum makecache
      
    4. מתקינים את הפלאגין של Artifact Registry ב-VM באמצעות הפקודה הבאה:

      yum install FORMAT-plugin-artifact-registry
      

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

      • yum, אם מערכת ההפעלה היא Enterprise Linux 7 או גרסה קודמת
      • ‫dnf, אם מערכת ההפעלה היא Enterprise Linux 8 ואילך
    5. מוצאים את השורה #service_account_json = "/path/to/creds.json" בקובץ artifact-registry.conf, מבטלים את הסימון שלה כהערה ומוסיפים את הנתיב של המפתח של חשבון השירות.

      • במערכות הפעלה Enterprise Linux 7 או גרסאות קודמות, הנתיב לקובץ התצורה הוא /etc/yum/pluginconf.d/artifact-registry.conf.
      • במערכות הפעלה Enterprise Linux 8 ואילך, הנתיב לקובץ התצורה הוא /etc/dnf/plugins/artifact-registry.conf.

      רשומה בקובץ התצורה:

      service_account_json = "PATH_TO_SERVICE_ACCOUNT_KEY"
      

      מחליפים את PATH_TO_SERVICE_ACCOUNT_KEY בנתיב לקובץ ה-JSON של מפתח חשבון השירות.

מאגר ציבורי

מגדירים גישה ציבורית למאגר.

הגדרת VM לגישה למאגר Yum רגיל

כדי להגדיר מכונה וירטואלית כך שתוכל לגשת למאגר Yum, משתמשים בכלי הלקוח yum או dnf:

  1. מריצים את הפקודה gcloud beta artifacts print-settings yum כדי ליצור את פקודת ההגדרה של המכונה הווירטואלית:

    gcloud beta artifacts print-settings yum \
        --repository=REPOSITORY \
        --location=LOCATION
    

    מחליפים את מה שכתוב בשדות הבאים:

    • ‫REPOSITORY הוא השם של מאגר Artifact Registry.
    • ‫ LOCATION הוא המיקום האזורי של המאגר.

    הפלט אמור להיראות כך:

    # To configure your package manager with this repository:
    
    # Update Yum:
    sudo yum makecache
    
    # Install the Yum credential helper:
    sudo yum install yum-plugin-artifact-registry
    
    # Configure your VM to access Artifact Registry packages using the following
    # command:
    
    sudo tee -a /etc/yum.repos.d/artifact-registry.repo << EOL
    [REPOSITORY]
    name=REPOSITORY
    baseurl=https://LOCATION-yum.s3nsregistry.fr/projects/PROJECT/REPOSITORY
    enabled=1
    repo_gpgcheck=0
    gpgcheck=0
    EOL
    
    # Update Yum:
    sudo yum makecache
    
  2. מגדירים את כלי הלקוח yum כדי לאחזר חבילות מהמאגר באמצעות הפקודה tee מהפלט של הפקודה print-settings.

    לדוגמה, כדי להתקין חבילות מהמאגר הציבורי my-repo בפרויקט my-project ובמיקום u-france-east1, משתמשים בפקודה הבאה:

    sudo tee -a /etc/yum.repos.d/artifact-registry.repo << EOL
    [my-repo]
    name=My Repository
    baseurl=https://u-france-east1-yum.s3nsregistry.fr/projects/my-project/my-repo
    enabled=1
    repo_gpgcheck=0
    gpgcheck=0
    EOL
    
  3. מעדכנים את מקורות המאגר באמצעות הפקודה הבאה:

    sudo yum makecache
    

עכשיו Yum יכול להתחבר למאגר.

אם יוצרים מאגרי Yum נוספים, צריך ליצור קובץ .repo לכל אחד מהם ב-/etc/yum.repos.d/. מריצים מחדש את sudo yum update כדי לעדכן את מקורות המאגר.

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