Use a ferramenta de migração automática para fazer a transição do Container Registry para
repositórios gcr.io
hospedados no Artifact Registry.
A migração para repositórios gcr.io
do Artifact Registry pode ser realizada em
endpoints do Container Registry que recebem tráfego sem exigir nenhum tempo de inatividade ou
interrupção do serviço.
A ferramenta de migração automática pode realizar as seguintes ações:
- Crie repositórios
gcr.io
no Artifact Registry para cada um dos projetosgcr.io
listados na região correspondente. - Sugerir uma política do IAM para cada repositório e aplicá-la ou pular a aplicação de acordo com a preferência do usuário.
- Redirecione todo o tráfego dos endpoints
gcr.io
para o Artifact Registry. - Copie todas as imagens de contêiner armazenadas no Container Registry para os repositórios
gcr.io
do Artifact Registry, mesmo que você já tenha ativado o redirecionamento.
Antes de começar
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Enable the Artifact Registry API.
A ferramenta de migração automática vai solicitar que você ative a API Artifact Registry se você pular esta etapa.
Funções exigidas
Os papéis a seguir são necessários para a transição para repositórios gcr.io
no Artifact Registry usando a ferramenta de migração automática.
Papéis da conta de serviço:
É possível usar a conta de serviço de migração gcr.io
com o endereço de e-mail de
artifact-registry-same-project-copier@system.gserviceaccount.com
ou a conta de serviço do Artifact Registry para fazer a transição para repositórios gcr.io
no Artifact Registry.
Para garantir que a conta de serviço que você está usando para a migração 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 que você está usando para a migração o
papel de leitor de objetos do Storage (roles/storage.objectViewer
) do IAM no projeto, na pasta ou na organização do Container Registry.
Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.
O administrador também pode conceder à conta de serviço que você está usando para a migração 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 repositórios gcr.io
hospedados no Artifact Registry,
peça ao administrador para conceder a você o
papel de administrador de migração do Artifact Registry Container Registry (roles/artifactregistry.containerRegistryMigrationAdmin
) do IAM na organização ou projeto do 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 por meio de papéis personalizados ou de outros papéis predefinidos.
Migrar para repositórios gcr.io
hospedados no Artifact Registry
É possível migrar um único projeto do Google Cloud ou vários projetos do Google Cloud ao mesmo tempo usando o comando gcloud artifacts docker upgrade migrate
.
Para migrar para repositórios gcr.io
, execute o comando abaixo.
gcloud artifacts docker upgrade migrate \
--projects=PROJECTS
Em que PROJECTS é o ID do projeto de um único projeto que você quer
migrar para repositórios gcr.io
hospedados no Artifact Registry ou uma lista separada por vírgulas
de IDs de projetos que você quer migrar para repositórios gcr.io
hospedados no
Artifact Registry.
A ferramenta de migração conclui as seguintes etapas:
- Cria repositórios
gcr.io
no Artifact Registry para cada um dos seus projetosgcr.io
listados na região correspondente. - Sugere uma política do IAM para cada repositório e a aplica ou pula a aplicação, dependendo da preferência do usuário.
- Redireciona todo o tráfego do endpoint
gcr.io
para o Artifact Registry. O Artifact Registry serve temporariamente as imagens ausentes copiando-as do Container Registry no momento da solicitação até que todas as imagens do contêiner sejam copiadas para o Artifact Registry. - Copia todas as imagens de contêiner armazenadas nos buckets
gcr.io
para os repositóriosgcr.io
recém-criados hospedados no Artifact Registry. - Desativa a cópia no momento da solicitação. O repositório
gcr.io
hospedado no Artifact Registry não depende mais do Container 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 180, em que a
ferramenta vai verificar os pulls.
Se você quiser copiar um número específico de versões enviadas recentemente de cada
imagem, inclua a flag
--last-uploaded-versions=VERSIONS
. Substitua VERSIONS pelo número de versões que você quer copiar
para cada imagem. Se novas imagens forem enviadas durante a cópia, mais do que o número
de versões especificado poderá ser copiado.
As flags --recent-images
e --last-uploaded-versions
são mutuamente
exclusivas e não podem ser usadas juntas.
Se você encontrar erros ou tempo limite, será possível 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 do contêiner quando é executada.
No entanto, se você 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 gcr.io
hospedado no
Artifact Registry, execute o seguinte comando:
gcloud artifacts docker upgrade migrate \
--projects=PROJECTS \
--copy-only
Em que PROJECTS é o ID do projeto de um único projeto que você quer
migrar para repositórios gcr.io
hospedados no Artifact Registry ou uma lista separada por vírgulas
de IDs de projetos que você quer migrar para repositórios gcr.io
hospedados no
Artifact Registry.
A ferramenta pula todas as etapas de migração e copia imagens nos projetos
especificados do Container Registry para repositórios gcr.io
hospedados no
Artifact Registry.