Dokumen ini menjelaskan langkah-langkah yang diperlukan untuk beralih dari Container Registry ke repositori Artifact Registry.pkg.dev
Sebagian besar pengguna Container Registry harus bertransisi ke
repositori gcr.io yang dihosting di Artifact Registry, bukan
repositori pkg.dev, jadi ikuti petunjuk ini hanya jika Anda memahami
perbedaan antara repositori gcr.io dan repositori pkg.dev di
Artifact Registry.
Alat migrasi otomatis dapat melakukan tindakan berikut, bergantung pada jalur transisi yang Anda pilih:
- Buat repositori
pkg.devdi Artifact Registry untuk projectgcr.ioAnda di region yang sesuai. - Menyarankan kebijakan IAM untuk repositori dan menerapkan kebijakan atau melewati penerapan, bergantung pada preferensi pengguna.
- Menyalin semua image container yang disimpan di Container Registry ke repositori
pkg.devArtifact Registry Anda.
Sebelum memulai
-
Install the Google Cloud CLI.
-
Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.
-
Untuk melakukan inisialisasi gcloud CLI, jalankan perintah berikut:
gcloud init -
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.
Alat migrasi otomatis akan meminta Anda untuk mengaktifkan Artifact Registry API jika Anda melewati langkah ini.
Peran yang diperlukan
Peran berikut diperlukan untuk semua opsi transisi menggunakan alat migrasi otomatis.
Peran akun layanan:
Anda harus memberikan peran berikut ke akun layanan Artifact Registry untuk setiap project yang ingin Anda migrasikan ke Artifact Registry.
Untuk memastikan bahwa akun layanan Artifact Registry memiliki izin yang diperlukan untuk menyalin image dari Container Registry ke Artifact Registry,
minta administrator untuk memberikan peran IAM
Storage Object Viewer (roles/storage.objectViewer)
kepada akun layanan Artifact Registry di project Container Registry.
Administrator Anda mungkin juga dapat memberikan izin yang diperlukan kepada akun layanan Artifact Registry melalui peran khusus atau peran bawaan lainnya.
Peran pengguna:
Untuk mendapatkan izin yang diperlukan untuk bertransisi ke repositori pkg.dev Artifact Registry, minta administrator untuk memberi Anda peran IAM Artifact Registry Container Registry Migration Admin (roles/artifactregistry.containerRegistryMigrationAdmin) di organisasi atau project yang ingin Anda migrasikan. Google Cloud
Untuk mengetahui informasi selengkapnya tentang pemberian peran, lihat Mengelola akses ke project, folder, dan organisasi.
Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran kustom atau peran yang telah ditentukan lainnya.
Bermigrasi ke repositori pkg.dev Artifact Registry
Untuk memigrasikan project
gcr.ioke repositoripkg.devArtifact Registry, jalankan perintah berikut:gcloud artifacts docker upgrade migrate \ --from-gcr=GCR_HOSTNAME/GCR_PROJECT \ --to-pkg-dev=AR_PROJECT/AR_REPOSITORYGanti kode berikut:
GCR_HOSTNAME dengan nama host Container Registry. Nama host bergantung pada tempat image container Anda disimpan:
gcr.iomenghosting gambar di Amerika Serikat.us.gcr.iomenghosting gambar di Amerika Serikat, dalam bucket penyimpanan terpisah dari gambar yang dihosting olehgcr.io.eu.gcr.iomenghosting gambar di negara anggota Uni Eropa.asia.gcr.iomenghosting gambar di Asia.
GCR_PROJECT dengan project ID Container Registry Google CloudAnda. Jika project ID Anda berisi titik dua (
:), lihat Project cakupan domain.AR_PROJECT dengan project ID Google Cloud tempat Anda mengaktifkan Artifact Registry API.
AR_REPOSITORY dengan nama repositori Artifact Registry Anda.
Alat migrasi menyelesaikan langkah-langkah berikut:
- Membuat repositori Artifact Registry jika repositori belum ada.
- Menyarankan kebijakan IAM untuk repositori, dan menerapkan kebijakan atau melewati penerapan, bergantung pada preferensi pengguna.
- Menyalin image di project dan region Container Registry yang ditentukan ke repositori Artifact Registry Anda.
Jika hanya ingin menyalin gambar yang ditarik dari Container Registry dalam 30 hingga 180 hari terakhir, Anda dapat menyertakan tanda --recent-images=DAYS.
Ganti DAYS dengan jumlah hari, antara 30 dan 150, yang
harus diperiksa oleh alat untuk penarikan dalam rentang waktu tersebut.
Jika Anda mengalami error atau waktu tunggu habis, Anda dapat menjalankan kembali perintah dengan aman, dan langkah-langkah yang telah selesai akan dilewati.
Menyalin gambar
Alat migrasi akan otomatis menyalin image container Anda saat Anda menjalankannya,
tetapi jika Anda ingin melewati semua langkah migrasi otomatis lainnya, dan menggunakan
alat untuk menyalin image ke Artifact Registry, Anda dapat meneruskan tanda --copy-only.
Untuk menyalin image dari Container Registry ke repositori Artifact Registry pkg.dev, jalankan perintah berikut:
gcloud artifacts docker upgrade migrate \
--from-gcr=GCR_HOSTNAME/GCR_PROJECT \
--to-pkg-dev=AR_PROJECT/AR_REPOSITORY \
--copy-only
Ganti kode berikut:
GCR_HOSTNAME dengan nama host Container Registry. Nama host bergantung pada tempat image container Anda disimpan:
gcr.iomenghosting gambar di Amerika Serikat.us.gcr.iomenghosting gambar di Amerika Serikat, dalam bucket penyimpanan terpisah dari gambar yang dihosting olehgcr.io.eu.gcr.iomenghosting gambar di negara anggota Uni Eropa.asia.gcr.iomenghosting gambar di Asia.
GCR_PROJECT dengan project ID Container Registry Google CloudAnda. Jika project ID Anda berisi titik dua (
:), lihat Project cakupan domain.AR_PROJECT dengan project ID Google Cloud tempat Anda mengaktifkan Artifact Registry API.
AR_REPOSITORY dengan nama repositori Artifact Registry Anda.
Alat ini akan melewati semua langkah migrasi, dan menyalin image dari lokasi dan project yang ditentukan di Container Registry ke repositori Artifact Registry Anda.
Anda juga dapat menggunakan tanda --copy-only untuk memulai ulang penyalinan gambar jika terjadi error atau waktu tunggu habis selama proses.