Este documento descreve os passos necessários para fazer a transição do Container Registry para os repositórios do pkg.dev
Artifact Registry.
A maioria dos utilizadores do Container Registry deve fazer a transição para repositórios
gcr.io
alojados no Artifact Registry e não em repositórios
pkg.dev
. Por isso, siga estas instruções apenas se compreender a diferença entre repositórios gcr.io
e repositórios pkg.dev
no Artifact Registry.
A ferramenta de migração automática pode realizar as seguintes ações, consoante o caminho de transição que escolher:
- Crie um repositório
pkg.dev
no Artifact Registry para o seu projetogcr.io
na região correspondente. - Sugere uma política de IAM para o repositório e aplica a política ou ignora a aplicação consoante a preferência do utilizador.
- Copie todas as imagens de contentores armazenadas no Container Registry para o seu repositório do Artifact Registry
pkg.dev
.
Antes de começar
-
Install the Google Cloud CLI.
-
Se estiver a usar um fornecedor de identidade (IdP) externo, primeiro, tem de iniciar sessão na CLI gcloud com a sua identidade federada.
-
Para inicializar a CLI gcloud, execute o seguinte comando:
gcloud init
-
A ferramenta de migração automática pede-lhe que ative a API Artifact Registry se ignorar este passo.
Funções necessárias
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.
Funções da conta de serviço:
Tem de conceder as seguintes funções à 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 tem as autorizações necessárias para copiar imagens do Container Registry para o Artifact Registry,
peça ao seu administrador para conceder à conta de serviço do Artifact Registry a função do IAM
Leitor de objetos de armazenamento (roles/storage.objectViewer
)
no projeto do Container Registry.
O administrador também pode conceder à conta de serviço do Artifact Registry as autorizações necessárias através de funções personalizadas ou outras funções predefinidas.
Funções de utilizador:
Para receber as autorizações de que
precisa para fazer a transição para os pkg.dev
repositórios do Artifact Registry,
peça ao seu administrador para lhe conceder a
função de administrador de migração do Container Registry do Artifact Registry (roles/artifactregistry.containerRegistryMigrationAdmin
)
função de IAM na Google Cloud organização ou no projeto que quer migrar.
Para mais informações sobre a atribuição de funções, consulte o artigo Faça a gestão do acesso a projetos, pastas e organizações.
Também pode conseguir as autorizações necessárias através de funções personalizadas ou outras funções predefinidas.
Migre para pkg.dev
repositórios do Artifact Registry
Para migrar o seu projeto do
gcr.io
para um repositório dopkg.dev
Artifact Registry, execute o seguinte comando:gcloud artifacts docker upgrade migrate \ --from-gcr=GCR_HOSTNAME/GCR_PROJECT \ --to-pkg-dev=AR_PROJECT/AR_REPOSITORY
Substitua o seguinte:
GCR_HOSTNAME com o nome do anfitrião do Container Registry. O nome do anfitrião depende de onde as imagens de contentores estão armazenadas:
gcr.io
aloja as imagens nos Estados Unidos.us.gcr.io
aloja as imagens nos Estados Unidos, num contentor de armazenamento separado das imagens alojadas pelogcr.io
.eu.gcr.io
aloja as imagens nos Estados-Membros da União Europeia.asia.gcr.io
aloja as imagens na Ásia.
GCR_PROJECT com o Google Cloud ID do projeto do Container Registry. Se o ID do projeto contiver dois pontos (
:
), consulte Projetos com âmbito de domínio.AR_PROJECT com o Google Cloud ID do projeto onde ativou a API Artifact Registry.
AR_REPOSITORY com o nome do seu repositório do Artifact Registry.
A ferramenta de migração conclui os seguintes passos:
- Cria o repositório do Artifact Registry se ainda não existir.
- Sugere uma política de IAM para o repositório e aplica a política ou ignora a aplicação consoante a preferência do utilizador.
- Copia imagens na região do Container Registry especificada e projeto para o seu repositório do Artifact Registry.
Se só quiser copiar imagens extraídas do Container Registry nos últimos 30 a 180 dias, pode incluir a flag --recent-images=DAYS
.
Substitua DAYS pelo número de dias, entre 30 e 150, durante os quais a ferramenta deve verificar se existem retiradas.
Se encontrar erros ou limites de tempo, pode executar novamente o comando em segurança e os passos concluídos são ignorados.
Copie imagens
A ferramenta de migração copia automaticamente as imagens do contentor quando a executa, mas, se quiser ignorar todos os outros passos da migração automática e usar a ferramenta para copiar imagens para o Artifact Registry, pode transmitir a flag --copy-only
.
Para copiar imagens do Container Registry para um pkg.dev
repositório do Artifact Registry,
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 o seguinte:
GCR_HOSTNAME com o nome do anfitrião do Container Registry. O nome do anfitrião depende de onde as imagens de contentores estão armazenadas:
gcr.io
aloja as imagens nos Estados Unidos.us.gcr.io
aloja as imagens nos Estados Unidos, num contentor de armazenamento separado das imagens alojadas pelogcr.io
.eu.gcr.io
aloja as imagens nos Estados-Membros da União Europeia.asia.gcr.io
aloja as imagens na Ásia.
GCR_PROJECT com o Google Cloud ID do projeto do Container Registry. Se o ID do projeto contiver dois pontos (
:
), consulte Projetos com âmbito de domínio.AR_PROJECT com o Google Cloud ID do projeto onde ativou a API Artifact Registry.
AR_REPOSITORY com o nome do seu repositório do Artifact Registry.
A ferramenta ignora todos os passos de migração e copia as imagens da localização e do projeto especificados no Container Registry para o seu repositório do Artifact Registry.
Também pode usar a flag --copy-only
para reiniciar a cópia de imagens se tiver um erro ou um limite de tempo durante o processo.