Gunakan alat migrasi otomatis untuk bertransisi dari Container Registry ke repositori gcr.io
yang dihosting di Artifact Registry.
Migrasi ke repositori gcr.io
Artifact Registry dapat dilakukan di endpoint Container Registry yang menerima traffic tanpa memerlukan periode nonaktif atau gangguan layanan.
Alat migrasi otomatis dapat melakukan tindakan berikut:
- Buat repositori
gcr.io
di Artifact Registry untuk setiap projectgcr.io
yang tercantum di region yang sesuai. - Menyarankan kebijakan IAM untuk setiap repositori dan menerapkan kebijakan atau melewati penerapan, bergantung pada preferensi pengguna.
- Alihkan semua traffic dari endpoint
gcr.io
ke Artifact Registry. - Salin semua image container yang disimpan di Container Registry ke repositori
gcr.io
Artifact Registry, meskipun Anda telah mengaktifkan pengalihan.
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 bertransisi ke repositori gcr.io
di Artifact Registry menggunakan alat migrasi otomatis.
Peran akun layanan:
Anda dapat menggunakan akun layanan migrasi gcr.io
dengan alamat email
artifact-registry-same-project-copier@system.gserviceaccount.com
atau akun layanan Artifact Registry untuk bertransisi ke repositori gcr.io
di Artifact Registry.
Untuk memastikan bahwa akun layanan yang Anda gunakan untuk migrasi memiliki izin yang diperlukan untuk menyalin image dari Container Registry ke Artifact Registry, minta administrator untuk memberikan akun layanan yang Anda gunakan untuk migrasi peran IAM Storage Object Viewer (roles/storage.objectViewer
) di project, folder, atau organisasi 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 yang Anda gunakan untuk migrasi melalui peran khusus atau peran bawaan lainnya.
Peran pengguna:
Untuk mendapatkan izin yang diperlukan guna bertransisi ke repositori gcr.io
yang dihosting di Artifact Registry,
minta administrator untuk memberi Anda
peran IAM Artifact Registry Container Registry Migration Admin (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 gcr.io
yang dihosting di Artifact Registry
Anda dapat memigrasikan satu project Google Cloud, atau beberapa project Google Cloud sekaligus menggunakan perintah gcloud artifacts docker upgrade migrate
.
Untuk bermigrasi ke repositori gcr.io
, jalankan perintah berikut.
gcloud artifacts docker upgrade migrate \
--projects=PROJECTS
Dengan PROJECTS adalah project ID dari satu project yang ingin Anda migrasikan ke repositori gcr.io
yang dihosting di Artifact Registry, atau daftar project ID yang dipisahkan koma yang ingin Anda migrasikan ke repositori gcr.io
yang dihosting di Artifact Registry.
Alat migrasi menyelesaikan langkah-langkah berikut:
- Membuat repositori
gcr.io
di Artifact Registry untuk setiap projectgcr.io
yang tercantum di region yang sesuai. - Menyarankan kebijakan IAM untuk setiap repositori, dan menerapkan kebijakan atau melewati penerapan, bergantung pada preferensi pengguna.
- Mengalihkan semua traffic dari endpoint
gcr.io
ke Artifact Registry. Artifact Registry sementara waktu menayangkan image yang tidak ada dengan menyalinnya dari Container Registry pada waktu permintaan hingga semua image container disalin ke Artifact Registry. - Menyalin semua image container yang disimpan di bucket
gcr.io
ke repositorigcr.io
yang baru dibuat dan dihosting di Artifact Registry. - Menonaktifkan penyalinan waktu permintaan. Repositori
gcr.io
yang dihosting di Artifact Registry tidak lagi bergantung pada Container Registry.
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 180, yang harus diperiksa alat untuk pull.
Jika ingin menyalin jumlah tertentu dari versi yang baru diupload dari setiap gambar, Anda dapat menyertakan flag --last-uploaded-versions=VERSIONS
. Ganti VERSIONS dengan jumlah versi yang ingin Anda salin untuk setiap image. Jika gambar baru diupload selama penyalinan, lebih dari jumlah
versi yang ditentukan mungkin disalin.
Flag --recent-images
dan flag --last-uploaded-versions
tidak dapat muncul
bersama dan tidak dapat digunakan bersama.
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 gcr.io
yang dihosting di Artifact Registry, jalankan perintah berikut:
gcloud artifacts docker upgrade migrate \
--projects=PROJECTS \
--copy-only
Dengan PROJECTS adalah project ID dari satu project yang ingin Anda migrasikan ke repositori gcr.io
yang dihosting di Artifact Registry, atau daftar project ID yang dipisahkan koma yang ingin Anda migrasikan ke repositori gcr.io
yang dihosting di Artifact Registry.
Alat ini melewati semua langkah migrasi, dan menyalin image dalam project yang ditentukan dari Container Registry ke repositori gcr.io
yang dihosting di Artifact Registry.