בדף הזה מוסבר איך להגדיר מכונות וירטואליות כדי להתקין חבילות Debian ממאגר Apt ב-Artifact Registry.
לפני שמתחילים
אם מאגר ה-Apt של היעד לא קיים, יוצרים מאגר רגיל חדש. אתם יכולים ליצור מאגר פרטי או מאגר ציבורי שלא דורש אימות.הכנת מכונה וירטואלית לגישה למאגר Apt
מאגר פרטי
בוחרים את חשבון השירות שבו רוצים להשתמש כדי להעניק גישה.
- במכונות וירטואליות של Compute Engine, זה יכול להיות חשבון השירות שמוגדר כברירת מחדל. Artifact Registry מאחזר באופן אוטומטי את פרטי הכניסה של חשבון השירות של מכונת VM ב-Compute Engine לכל מכונה וירטואלית שמשתמשת בחשבון שירות.
- במכונות וירטואליות אחרות, יוצרים או בוחרים חשבון שירות שיפעל בשם המכונה הווירטואלית. כדי להגדיר את המכונה הווירטואלית, תצטרכו את המיקום של קובץ המפתח של חשבון השירות. בדף חשבונות שירות אפשר לראות את המפתחות של חשבונות קיימים וליצור מפתחות חדשים.
נותנים הרשאות גישה למאגר לחשבון השירות.
מכינים את ה-VM לגישה למאגר.
מכונה וירטואלית ב-Compute Engine
Debian VM
הקצאת
cloud-platformהיקפי גישה ל-API למכונה הווירטואלית. מידע על הגדרת היקפי גישה זמין במאמר שינוי חשבון השירות והיקפי הגישה של מופע.מעדכנים את Apt באמצעות הפקודה הבאה:
sudo apt updateמתקינים את חבילת
apt-transport-artifact-registryבמכונה הווירטואלית:sudo apt install apt-transport-artifact-registry
מכונה וירטואלית של Ubuntu
מתקינים את מפתחות החתימה של מאגר 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במיקום האזורי של המאגר.הקצאת
cloud-platformהיקפי גישה ל-API למכונה הווירטואלית. מידע על הגדרת היקפי גישה זמין במאמר שינוי חשבון השירות והיקפי הגישה של מופע.מגדירים את המכונה הווירטואלית כך שתהיה לה גישה לחבילות של 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מעדכנים את Apt באמצעות הפקודה הבאה:
sudo apt updateמתקינים את חבילת
apt-transport-artifact-registryבמכונה הווירטואלית:sudo apt install apt-transport-artifact-registry
מכונה וירטואלית אחרת
מתקינים את מפתחות החתימה של מאגר 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במיקום האזורי של המאגר.מגדירים את המכונה הווירטואלית כך שתהיה לה גישה לחבילות של 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מעדכנים את Apt באמצעות הפקודה הבאה:
sudo apt updateמתקינים את חבילת
apt-transport-artifact-registryבמכונה הווירטואלית:sudo apt install apt-transport-artifact-registryמחפשים את השורה
#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 של מפתח חשבון השירות.
מאגר ציבורי
הגדרת גישה ציבורית למאגר.
אם אתם מגדירים מכונה וירטואלית מחוץ ל- 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במיקום האזורי של המאגר.מעדכנים את Apt באמצעות הפקודה הבאה:
sudo apt update
הגדרת מכונה וירטואלית לגישה למאגר Apt רגיל
הגדרת מכונה וירטואלית לגישה למאגר Apt:
מריצים את הפקודה
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
-
מגדירים את 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'
מעדכנים את מקורות המאגר באמצעות הפקודה הבאה:
sudo apt update
עכשיו אפשר לחבר את Apt למאגר.
אם יוצרים עוד מאגרי Apt, אפשר להוסיף אותם לקובץ artifact-registry.list ואז להריץ מחדש את הפקודה sudo apt update כדי לעדכן את מקורות המאגר.
הגדרת גישת HTTP למאגר Apt
אם משתמשים בכלי לקוח ישנים שלא תומכים בהצפנת SSL, אפשר להגדיר גישה ציבורית למאגר Apt ולגשת אליו באמצעות HTTP. בקשות שנשלחות למאגרי מידע ציבוריים לקריאה באמצעות HTTP יידחו אם יוצג אסימון אימות עם הבקשה.
הגדרת גישה ציבורית למאגר.
כדי להגדיר את 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
-
מעדכנים את מקורות המאגר באמצעות הפקודה הבאה:
sudo apt update
עכשיו אפשר לחבר את Apt למאגר.
אם יוצרים עוד מאגרי Apt, אפשר להוסיף אותם לקובץ artifact-registry.list ואז להריץ מחדש את הפקודה sudo apt update כדי לעדכן את מקורות המאגר.