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

בדף הזה מוסבר איך להגדיר מכונות וירטואליות להתקנת חבילות RPM ממאגר Yum ב-Artifact Registry. מאגרי Yum ב-Artifact Registry תומכים בלקוחות yum ו-dnf.

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

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

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

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

מאגר פרטי

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

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

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

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

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

    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.
    3. מעדכנים את Yum באמצעות הפקודה הבאה:

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

      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 של מפתח חשבון השירות.

מאגר ציבורי

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

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

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

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

    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 כדי לעדכן את מקורות המאגר.

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