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

בדף הזה מוסבר איך להגדיר מכונות וירטואליות כדי להתקין חבילות Debian ממאגר Apt ב-Artifact Registry.

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

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

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

מאגר פרטי

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

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

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

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

    Debian VM

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

    2. מעדכנים את Apt באמצעות הפקודה הבאה:

      sudo apt update
      
    3. מתקינים את חבילת apt-transport-artifact-registry במכונה הווירטואלית:

      sudo apt install apt-transport-artifact-registry
      

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

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

      curl https://LOCATION-apt.pkg.dev/doc/repo-signing-key.gpg | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/artifact-registry.gpg && curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/google-cloud-sdk.gpg
      

      ‫ מחליפים את LOCATION במיקום האזורי של המאגר.

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

    3. מגדירים את המכונה הווירטואלית כך שתהיה לה גישה לחבילות של Artifact Registry באמצעות הפקודה הבאה:

      echo 'deb http://packages.cloud.google.com/apt apt-transport-artifact-registry-stable main' | sudo tee -a /etc/apt/sources.list.d/artifact-registry.list
      
    4. מעדכנים את Apt באמצעות הפקודה הבאה:

      sudo apt update
      
    5. מתקינים את חבילת apt-transport-artifact-registry במכונה הווירטואלית:

      sudo apt install apt-transport-artifact-registry
      

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

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

      curl https://LOCATION-apt.pkg.dev/doc/repo-signing-key.gpg | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/artifact-registry.gpg && curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/google-cloud-sdk.gpg
      

      ‫ מחליפים את LOCATION במיקום האזורי של המאגר.

    2. מגדירים את המכונה הווירטואלית כך שתהיה לה גישה לחבילות של Artifact Registry באמצעות הפקודה הבאה:

      echo 'deb http://packages.cloud.google.com/apt apt-transport-artifact-registry-stable main' | sudo tee -a /etc/apt/sources.list.d/artifact-registry.list
      
    3. מעדכנים את Apt באמצעות הפקודה הבאה:

      sudo apt update
      
    4. מתקינים את חבילת apt-transport-artifact-registry במכונה הווירטואלית:

      sudo apt install apt-transport-artifact-registry
      
    5. מחפשים את השורה #Service-Account-JSON "/path/to/creds.json"; בקובץ /etc/apt/apt.conf.d/90artifact-registry, מבטלים את ההערה בשורה ומוסיפים את הנתיב של המפתח של חשבון השירות.

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

      Service-Account-JSON  "PATH_TO_SERVICE_ACCOUNT_KEY";
      

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

מאגר ציבורי

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

  2. אם אתם מגדירים מכונה וירטואלית מחוץ ל- Cloud de Confiance, צריך להכין את המחשב לגישה למאגר. אם אתם מגדירים מכונה וירטואלית ב-Compute Engine, עוברים לשלב הבא.

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

    curl https://LOCATION-apt.pkg.dev/doc/repo-signing-key.gpg | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/artifact-registry.gpg
    

    ‫ מחליפים את LOCATION במיקום האזורי של המאגר.

  3. מעדכנים את Apt באמצעות הפקודה הבאה:

    sudo apt update
    

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

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

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

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

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

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

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

    # To configure your package manager with this repository:
    
    # Update Apt:
    sudo apt update
    
    # Install the Apt credential helper:
    sudo apt install apt-transport-artifact-registry
    
    # Configure your VM to access Artifact Registry packages using the following
    # command:
    
    echo "deb [signed-by=/etc/apt/trusted.gpg.d/artifact-registry.gpg] ar+https://LOCATION-apt.pkg.dev/projects/PROJECT REPOSITORY main" | sudo tee -a /etc/apt/sources.list.d/artifact-registry.list
    
    # Update Apt:
    sudo apt update
    
  2. מגדירים את Apt לאחזר חבילות מהמאגר באמצעות הפקודה echo מהפלט של הפקודה print-settings.

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

    echo 'deb ar+https://u-france-east1-apt.pkg.dev/projects/my-project my-repo main'
    
  3. מעדכנים את מקורות המאגר באמצעות הפקודה הבאה:

    sudo apt update
    

עכשיו אפשר לחבר את Apt למאגר.

אם יוצרים עוד מאגרי Apt, אפשר להוסיף אותם לקובץ artifact-registry.list ואז להריץ מחדש את הפקודה sudo apt update כדי לעדכן את מקורות המאגר.

הגדרת גישת HTTP למאגר Apt

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

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

  2. כדי להגדיר את Apt לאחזר חבילות מהמאגר באמצעות HTTP, מריצים את הפקודה הבאה:

     echo 'deb http://LOCATION-apt.pkg.dev/projects/PROJECT_ID \
     REPOSITORY main' | sudo tee -a /etc/apt/sources.list.d/artifact-registry.list
    

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

    • ‫ ‫LOCATION הוא המיקום האזורי של המאגר.
    • PROJECT_ID הוא מזהה הפרויקט של המאגר.
    • REPOSITORY הוא שם המאגר.

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

    echo 'deb http://u-france-east1-apt.pkg.dev/projects/my-project my-repo main' | sudo tee -a /etc/apt/sources.list.d/artifact-registry.list
    
  3. מעדכנים את מקורות המאגר באמצעות הפקודה הבאה:

    sudo apt update
    

עכשיו אפשר לחבר את Apt למאגר.

אם יוצרים עוד מאגרי Apt, אפשר להוסיף אותם לקובץ artifact-registry.list ואז להריץ מחדש את הפקודה sudo apt update כדי לעדכן את מקורות המאגר.

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