Este documento descreve as etapas necessárias para fazer a transição do Container Registry
para os repositórios do Artifact Registry pkg.dev.
A maioria dos usuários do Container Registry precisa fazer a transição para
repositórios gcr.io hospedados no Artifact Registry, não
pkg.dev. Portanto, siga estas instruções apenas se entender a
diferença entre repositórios gcr.io e pkg.dev no
Artifact Registry.
A ferramenta de migração automática pode realizar as seguintes ações, dependendo do caminho de transição escolhido:
- Crie um repositório
pkg.devno Artifact Registry para seu projetogcr.iona região correspondente. - Sugerir uma política do IAM para o repositório e aplicar ou pular a aplicação, dependendo da preferência do usuário.
- Copie todas as imagens de contêiner armazenadas no Container Registry para o repositório
pkg.devdo Artifact Registry.
Antes de começar
-
Install the Google Cloud CLI.
-
Ao usar um provedor de identidade (IdP) externo, primeiro faça login na gcloud CLI com sua identidade federada.
-
Para inicializar a gcloud CLI, execute o seguinte comando:
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.
A ferramenta de migração automática pede que você ative a API Artifact Registry se pular esta etapa.
Funções exigidas
As seguintes funções são necessárias para todas as opções de transição que usam a ferramenta de migração automática.
Papéis da conta de serviço:
Você precisa conceder os seguintes papéis à conta de serviço do Artifact Registry para cada projeto que quer migrar para o Artifact Registry.
Para garantir que a conta de serviço do Artifact Registry tenha as permissões
necessárias para copiar imagens do Container Registry para o Artifact Registry,
peça ao administrador para conceder à conta de serviço do Artifact Registry o
papel do IAM de visualizador de objetos do Storage (roles/storage.objectViewer)
no projeto do Container Registry.
O administrador também pode conceder à conta de serviço do Artifact Registry as permissões necessárias por meio de papéis personalizados ou outros papéis predefinidos.
Funções do usuário:
Para receber as permissões
necessárias para fazer a transição para os repositórios do pkg.dev Artifact Registry,
peça ao administrador para conceder a você o
papel do IAM de Administrador da migração do Container Registry para o Artifact Registry (roles/artifactregistry.containerRegistryMigrationAdmin)
na organização ou no projeto Google Cloud que você quer migrar.
Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.
Também é possível conseguir as permissões necessárias usando papéis personalizados ou outros papéis predefinidos.
Migrar para repositórios do pkg.dev Artifact Registry
Para migrar seu projeto
gcr.iopara um repositóriopkg.devdo Artifact Registry, execute o seguinte comando:gcloud artifacts docker upgrade migrate \ --from-gcr=GCR_HOSTNAME/GCR_PROJECT \ --to-pkg-dev=AR_PROJECT/AR_REPOSITORYSubstitua:
GCR_HOSTNAME com o nome do host do Container Registry. O nome do host depende de onde as imagens de contêiner são armazenadas:
gcr.iohospeda as imagens nos Estados Unidos.us.gcr.iohospeda as imagens nos Estados Unidos, em um bucket de armazenamento separado das imagens hospedadas porgcr.io.eu.gcr.iohospeda as imagens em estados-membros da União Europeia.asia.gcr.iohospeda as imagens na Ásia.
GCR_PROJECT com o ID do projeto do Container Registry Google Cloud. Se o ID do projeto contiver dois pontos (
:), consulte Projetos com escopo de domínio.AR_PROJECT com o ID do projeto Google Cloud em que você ativou a API Artifact Registry.
AR_REPOSITORY com o nome do repositório do Artifact Registry.
A ferramenta de migração conclui as seguintes etapas:
- Cria o repositório do Artifact Registry se ele ainda não existir.
- Sugere e aplica uma política do IAM ao repositório ou pula a aplicação, dependendo da preferência do usuário.
- Copia imagens na região e no projeto especificados do Container Registry para o repositório do Artifact Registry.
Se você quiser copiar apenas as imagens extraídas do Container Registry nos últimos 30 a 180 dias, inclua a flag --recent-images=DAYS.
Substitua DAYS pelo número de dias, entre 30 e 150, que a
ferramenta deve verificar para extrações.
Se você encontrar erros ou tempos limite, poderá executar o comando novamente com segurança, e as etapas concluídas serão ignoradas.
Copiar imagens
A ferramenta de migração copia automaticamente as imagens de contêiner quando você a executa,
mas, se quiser pular todas as outras etapas da migração automática e usar a
ferramenta para copiar imagens para o Artifact Registry, transmita a flag --copy-only.
Para copiar imagens do Container Registry para um repositório do Artifact Registry pkg.dev,
execute o seguinte comando:
gcloud artifacts docker upgrade migrate \
--from-gcr=GCR_HOSTNAME/GCR_PROJECT \
--to-pkg-dev=AR_PROJECT/AR_REPOSITORY \
--copy-only
Substitua:
GCR_HOSTNAME com o nome do host do Container Registry. O nome do host depende de onde as imagens de contêiner são armazenadas:
gcr.iohospeda as imagens nos Estados Unidos.us.gcr.iohospeda as imagens nos Estados Unidos, em um bucket de armazenamento separado das imagens hospedadas porgcr.io.eu.gcr.iohospeda as imagens em estados-membros da União Europeia.asia.gcr.iohospeda as imagens na Ásia.
GCR_PROJECT com o ID do projeto do Container Registry Google Cloud. Se o ID do projeto contiver dois pontos (
:), consulte Projetos com escopo de domínio.AR_PROJECT com o ID do projeto Google Cloud em que você ativou a API Artifact Registry.
AR_REPOSITORY com o nome do repositório do Artifact Registry.
A ferramenta pula todas as etapas de migração e copia imagens do local e do projeto especificados no Container Registry para o repositório do Artifact Registry.
Também é possível usar a flag --copy-only para reiniciar a cópia de imagens se houver um erro ou tempo limite durante o processo.