Dokumen ini menjelaskan langkah-langkah yang diperlukan untuk bertransisi dari repositori 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 hanya ikuti petunjuk ini 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.dev
di Artifact Registry untuk projectgcr.io
Anda di region yang sesuai. - Menyarankan kebijakan IAM untuk repositori dan menerapkan kebijakan atau melewati penerapan, bergantung pada preferensi pengguna.
- Salin semua image container yang disimpan di Container Registry ke repositori
pkg.dev
Artifact Registry Anda.
Sebelum memulai
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Enable the Artifact Registry API.
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 dimigrasikan 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 akun layanan Artifact Registry peran IAM Storage Object Viewer (roles/storage.objectViewer
) pada project Container Registry.
Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.
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 guna bertransisi ke repositori Artifact Registry pkg.dev
,
minta administrator untuk memberi Anda
peran IAM Admin Migrasi Container Registry Artifact Registry (roles/artifactregistry.containerRegistryMigrationAdmin
)
di organisasi atau project Google Cloud yang ingin Anda migrasikan.
Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.
Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.
Bermigrasi ke repositori Artifact Registry pkg.dev
Untuk memigrasikan project
gcr.io
ke repositori Artifact Registrypkg.dev
, jalankan perintah berikut:gcloud artifacts docker upgrade migrate \ --from-gcr=GCR_HOSTNAME/GCR_PROJECT \ --to-pkg-dev=AR_PROJECT/AR_REPOSITORY
Ganti kode berikut:
GCR_HOSTNAME dengan nama host Container Registry. Nama host bergantung pada tempat image container Anda disimpan:
gcr.io
menghosting gambar di Amerika Serikat.us.gcr.io
menghosting gambar di Amerika Serikat, dalam bucket penyimpanan terpisah dari gambar yang dihosting olehgcr.io
.eu.gcr.io
menghosting gambar dalam negara anggota Uni Eropa.asia.gcr.io
menghosting gambar di Asia.
GCR_PROJECT dengan project ID Google Cloud Container Registry Anda. 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 untuk 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 region dan project Container Registry yang ditentukan ke repositori Artifact Registry Anda.
Jika hanya ingin menyalin gambar yang diambil 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 alat untuk pull.
Jika 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 otomatis menyalin image container 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.io
menghosting gambar di Amerika Serikat.us.gcr.io
menghosting gambar di Amerika Serikat, dalam bucket penyimpanan terpisah dari gambar yang dihosting olehgcr.io
.eu.gcr.io
menghosting gambar dalam negara anggota Uni Eropa.asia.gcr.io
menghosting gambar di Asia.
GCR_PROJECT dengan project ID Google Cloud Container Registry Anda. 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 untuk repositori Artifact Registry Anda.
Alat ini 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.