Halaman ini menjelaskan cara mengonfigurasi VM untuk menginstal paket RPM dari repositori Yum Artifact Registry. Repositori Yum Artifact Registry mendukung klien yum dan dnf.
Sebelum memulai
Jika repositori Yum target tidak ada, buat repositori baru. Anda dapat membuat repositori pribadi atau repositori publik yang tidak memerlukan autentikasi.
Menyiapkan VM untuk mengakses repositori Yum
Untuk menyiapkan VM agar dapat mengakses repositori Yum, gunakan alat klien yum atau dnf:
Repositori pribadi
Pilih akun layanan yang akan Anda gunakan untuk memberikan akses.
- Untuk VM Compute Engine, akun layanan ini mungkin adalah akun layanan default. Artifact Registry secara otomatis mengambil kredensial akun layanan VM Compute Engine untuk VM apa pun yang menggunakan akun layanan.
- Untuk VM lainnya, buat atau pilih akun layanan untuk bertindak atas nama VM Anda. Anda akan memerlukan lokasi file kunci akun layanan untuk mengonfigurasi VM. Anda dapat melihat dan membuat kunci untuk akun yang ada di halaman Akun Layanan.
Berikan izin akses repositori ke akun layanan Anda.
Siapkan VM untuk mengakses repositori.
VM Compute Engine
Tetapkan
cloud-platformcakupan akses API ke VM. Untuk mengetahui informasi tentang cara menetapkan cakupan akses, lihat Mengubah akun layanan dan cakupan akses untuk instance.Perbarui cache paket menggunakan perintah berikut:
sudo yum makecacheInstal plugin Artifact Registry di VM, menggunakan perintah berikut:
sudo yum install FORMAT-plugin-artifact-registryGanti kode berikut:
FORMATdengan salah satu dari berikut ini:yum, jika sistem operasi Anda adalah Enterprise Linux 7 atau yang lebih lamadnf, jika sistem operasi Anda adalah Enterprise Linux 8 atau yang lebih baru
VM lainnya
Instal kunci penandatanganan RPM menggunakan perintah berikut:
sudo rpm --import https://packages.cloud.google.com/yum/doc/rpm-package-key.gpgBuat file bernama
/etc/yum.repos.d/artifact-registry-plugin.repodengan konten berikut:[ar-plugin] name=Artifact Registry Plugin baseurl=https://packages.cloud.google.com/yum/repos/FORMAT-plugin-artifact-registry-DISTRO-stable enabled=1 gpgcheck=1
Ganti kode berikut:
FORMATdengan salah satu dari berikut ini:yum, jika sistem operasi Anda adalah Enterprise Linux 7 atau yang lebih lamadnf, jika sistem operasi Anda adalah Enterprise Linux 8 atau yang lebih baru
DISTROdengan rilis utama Red Hat Enterprise Linux dalam formatelXdenganXadalah versi rilis. Contoh nilaiDISTROyang valid adalahel7danel8.
Perbarui Yum menggunakan perintah berikut:
sudo yum makecacheInstal plugin Artifact Registry di VM, menggunakan perintah berikut:
yum install FORMAT-plugin-artifact-registryGanti
FORMATdengan salah satu dari berikut ini:yum, jika sistem operasi Anda adalah Enterprise Linux 7 atau yang lebih lamadnf, jika sistem operasi Anda adalah Enterprise Linux 8 atau yang lebih baru
Temukan baris
#service_account_json = "/path/to/creds.json"di fileartifact-registry.conf, lalu hapus komentar pada baris tersebut dan tambahkan jalur kunci akun layanan Anda.- Untuk sistem operasi Enterprise Linux 7 atau yang lebih lama, jalur ke file konfigurasi adalah
/etc/yum/pluginconf.d/artifact-registry.conf. - Untuk sistem operasi Enterprise Linux 8 atau yang lebih baru, jalur ke file konfigurasi adalah
/etc/dnf/plugins/artifact-registry.conf.
Entri file konfigurasi:
service_account_json = "PATH_TO_SERVICE_ACCOUNT_KEY"
Ganti
PATH_TO_SERVICE_ACCOUNT_KEYdengan jalur ke file JSON kunci akun layanan Anda.- Untuk sistem operasi Enterprise Linux 7 atau yang lebih lama, jalur ke file konfigurasi adalah
Repositori publik
Konfigurasi akses publik ke repositori.
Mengonfigurasi VM untuk mengakses repositori Yum standar
Untuk mengonfigurasi VM agar dapat mengakses repositori Yum, gunakan alat klien yum atau dnf:
Buat perintah konfigurasi VM dengan menjalankan perintah
gcloud beta artifacts print-settings yumcommand:gcloud beta artifacts print-settings yum \ --repository=REPOSITORY \ --location=LOCATIONGanti kode berikut:
REPOSITORYadalah nama repositori Artifact Registry.-
LOCATIONadalah lokasi regional atau multi-regional lokasi repositori.
Outputnya mirip dengan hal berikut ini:
# 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.pkg.dev/projects/PROJECT/REPOSITORY enabled=1 repo_gpgcheck=0 gpgcheck=0 EOL # Update Yum: sudo yum makecache
Konfigurasi alat klien
yumuntuk mengambil paket dari repositori Anda menggunakan perintahteedari output perintahprint-settings.Misalnya, untuk menginstal paket dari publik
my-repodi projectmy-projectdan di lokasius-west1, gunakan perintah berikut:sudo tee -a /etc/yum.repos.d/artifact-registry.repo << EOL [my-repo] name=My Repository baseurl=https://us-west1-yum.pkg.dev/projects/my-project/my-repo enabled=1 repo_gpgcheck=0 gpgcheck=0 EOL
Perbarui sumber repositori Anda dengan perintah berikut:
sudo yum makecache
Yum kini dapat terhubung ke repositori.
Jika Anda membuat repositori Yum tambahan, buat file .repo untuk setiap repositori
di /etc/yum.repos.d/. Jalankan kembali sudo yum update untuk memperbarui sumber repositori.
Mengonfigurasi VM untuk mengakses repositori Yum jarak jauh
Untuk mengonfigurasi VM agar hanya menggunakan repositori Yum jarak jauh, bukan repositori Yum upstream standar, ganti repositori standar dalam daftar repositori VM dengan repositori jarak jauh.
Jika repositori standar ditentukan dalam file konfigurasi, bukan file repositori terpisah (.repo), Anda dapat menghapus entri dalam file konfigurasi dan menggantinya dengan repositori jarak jauh, atau menentukan file repositori baru di direktori /etc/yum.repos.d/.
Buka halaman instance VM.
Di baris dengan VM Anda, klik SSH. Jendela baru akan terbuka dengan sesi terminal di VM.
Buka folder
/etc/yum.repos.d/VM dan temukan file repositori yang sesuai (.repo) yang berisi repositori upstream standar. Hal ini terkadang disebut sebagai repositori dasar. Repositori dasar dapat diidentifikasi berdasarkan nama repositori Yum yang berisi[base]atau[baseos].Untuk mengganti repositori dasar sepenuhnya, hapus setelan default di bagian
[base]atau[baseos]. Jika Anda ingin mempertahankan repositori upstream standar dan menambahkan repositori jarak jauh sebagai opsi penggantian, jangan hapus setelan default.Tambahkan setelan berikut di bagian
[base]atau[baseos]:name=YUM_REPOSITORY_NAME baseurl=https://LOCATION-yum.pkg.dev/remote/PROJECT_ID/REMOTE_REPOSITORY_NAME enabled=1 gpgcheck=1Ganti kode berikut:
YUM_REPOSITORY_NAMEdengan ID repositori unik satu kata untuk repositori Yum jarak jauh Anda. Nama ini dapat cocok dengan nama repositori upstream jika Anda telah menghapus konfigurasi repositori upstream standar, atau jika Anda mempertahankan repositori upstream standar, Anda dapat menggunakan nama yang berbeda untuk mengidentifikasinya sebagai repositori jarak jauh.-
LOCATIONadalah lokasi regional atau multi-regional lokasi repositori. PROJECT_IDdengan project ID VM.REMOTE_REPOSITORY_NAMEdengan nama repositori jarak jauh yang dapat dibaca manusia.
Menggunakan repositori Yum jarak jauh sebagai cadangan
Jika Anda ingin mempertahankan upstream standar sebagai opsi pertama dan menambahkan repositori jarak jauh sebagai opsi penggantian, Anda dapat mempertahankan upstream standar dalam file repositori, dan membuat file repositori baru di folder /etc/yum.repos.d.
Untuk membuat file repositori baru di folder /etc/yum.repos.d, jalankan perintah berikut:
sudo tee -a /etc/yum.repos.d/artifact-registry.repo << EOF
[YUM_REPOSITORY_NAME]
name=REPOSITORY_NAME
baseurl=https://LOCATION-yum.pkg.dev/remote/PROJECT_ID/REMOTE_REPOSITORY_NAME
enabled=1
gpgcheck=1
EOF
Ganti kode berikut:
YUM_REPOSITORY_NAMEdengan ID repositori unik satu kata untuk repositori Yum jarak jauh Anda.REPOSITORY_NAMEdengan nama repositori yang dapat dibaca manusia.LOCATIONdengan lokasi regional atau multi-regional lokasi repositori jarak jauh.PROJECT_IDdengan project ID VM.REMOTE_REPOSITORY_NAMEdengan nama yang Anda berikan ke repositori jarak jauh.
Misalnya, perintah berikut mengonfigurasi VM untuk mengambil repositori
my-repo di project my-project dan lokasi us-west1 saat Yum menginstal
repositori my-repo.
sudo tee -a /etc/yum.repos.d/artifact-registry.repo << EOF
[my-repo]
name=My Repository
baseurl=https://us-west1-yum.pkg.dev/remote/my-project/my-repo
enabled=1
gpgcheck=1
EOF