Esta página foi traduzida pela API Cloud Translation.
Switch to English

Como fazer a transição do Container Registry

O Artifact Registry é a evolução do Container Registry. Como um serviço totalmente gerenciado com suporte para imagens de contêiner e artefatos que não sejam de contêineres, o Artifact Registry estende os recursos do Container Registry.

Se você atualmente usa o Container Registry, veja as informações nesta página para saber como fazer a transição para o Artifact Registry.

Visão geral

O Artifact Registry oferece os mesmos recursos de gerenciamento de contêineres que o Container Registry. Comece a fazer a transição da sua automação para usar o Artifact Registry nos seus contêineres.

Compatibilidade com versões anteriores e coexistência

É possível usar o Artifact Registry e o Container Registry no mesmo projeto. Quando você visualiza uma lista de repositórios com gcloud ou o Console do Cloud, o Artifact Registry também lista os repositórios do Container Registry no mesmo projeto.

Os dois serviços continuarão coexistindo depois que o Artifact Registry estiver disponível para o público em geral. Para aproveitar os recursos expandidos no Artifact Registry, transfira seus contêineres e a automação para o Artifact Registry.

Depois que o Artifact Registry estiver disponível para o público em geral, você terá a opção de criar repositórios compatíveis com versões anteriores. Esses repositórios podem ajudar você a realizar uma atualização mais gradual na automação para criações e implantações com compatibilidade com:

  • gcloud container images commands
  • Como fazer referência ao repositório com um nome de host *.pkg.dev ou *.gcr.io.

Para fornecer compatibilidade, esses repositórios têm algumas limitações de recursos. Em particular, cada repositório compatível com versões anteriores precisa estar localizado na mesma região que um nome de host correspondente do Container Registry no seu projeto.

Como configurar repositórios

No Artifact Registry, é preciso criar repositórios antes de enviar imagens para eles. Por isso, uma parte fundamental da migração para o Artifact Registry é configurar os repositórios do Artifact Registry e integrá-los à automação de CI/CD.

Para oferecer mais flexibilidade, há algumas mudanças na forma como o Artifact Registry representa repositórios.

Container Registry

Cada local multirregional está associado a um único bucket de armazenamento. Organizar suas imagens em repositórios em um nome de host é opcional. Considere o exemplo a seguir que mostra a imagem webapp em três locais:

us.gcr.io/my-project/webapp
us.gcr.io/my-project/team1/webapp
us.gcr.io/my-project/team2/webapp

Os repositórios são apenas um mecanismo de organização e não restringem o acesso. Qualquer usuário com acesso ao bucket de armazenamento para us.gcr.io neste projeto pode acessar todas as versões da imagem do contêiner webapp.

Artifact Registry

Cada repositório é um recurso separado no projeto. Como cada repositório é um recurso exclusivo, é possível:

  • Dar a cada repositório um nome, descrição e rótulos
  • Criar vários repositórios no mesmo local
  • Configurar permissões específicas de repositório

Além disso, o local de um repositório pode ser uma região ou várias regiões.

Essas alterações oferecem mais controle sobre seus repositórios. Por exemplo, se você tem equipes em São Paulo e Sydney, pode criar um repositório para cada equipe em uma região geograficamente mais próxima do que o local multirregional mais próximo.

southamerica-east1-docker.pkg.dev/my-project/team1/webapp
australia-southeast1-docker.pkg.dev/my-project/team2/webapp

Em seguida, você pode conceder a cada equipe permissões somente para o repositório da equipe.

Consulte o guia de configuração para ver instruções de transição para o Artifact Registry.

Comparação do recurso

Esta seção resume as alterações e melhorias nos recursos do Container Registry.

Depois que o Artifact Registry estiver disponível para todos os usuários, o Artifact Registry fornecerá uma opção para criar repositórios compatíveis com versões anteriores que poderão ser consultados com os nomes de host *-docker.pkg.dev e *.gcr.io.

Recurso Container Registry Artifact Registry
Formatos compatíveis Somente imagens de contêiner Vários formatos de artefato, incluindo imagens de contêiner, pacotes Java e módulos Node.js.
Repositórios
  • Criação: cria automaticamente um repositório em uma multirregião se você ainda não enviou uma imagem nele.
  • Local: somente repositórios multirregionais.
  • Organização: todos os repositórios no mesmo host multirregional em um projeto do Google Cloud compartilham um único bucket de armazenamento.
  • Controle de acesso: conceda permissões no nível do projeto ou no bucket de armazenamento de cada host multirregional.
  • Criação: crie um repositório antes de enviar imagens para ele.
  • Local: repositórios multirregional ou regionais. Por exemplo, a multirregião mais próxima da Austrália é a Ásia. Com o suporte regional, você pode criar um repositório no data center de Sydney.
  • Organização: é possível criar diversos repositórios discretos em cada região ou multirregião. Aplique rótulos para agrupá-los por equipe, estágio de desenvolvimento ou outras categorias.
  • Controle de acesso: conceda permissões no projeto ou em repositórios individuais.
Nomes de host Os hosts estão no domínio gcr.io. Os hosts estão no domínio pkg.dev. Para detalhes sobre o formato do nome, consulte Nomes de repositório e de artefato.
Permissões
  • Conceder acesso usando permissões do Cloud Storage.
  • É possível restringir o acesso a todas as imagens armazenadas em uma multirregião, mas não para repositórios individuais. Por exemplo, é possível restringir o acesso a us.gcr.io no projeto my-project, mas não é possível conceder permissões específicas para imagens em us.gcr.io/my-project/team1 e us.gcr.io/my-project/team2
  • Conceder acesso usando as permissões do Artifact Registry.
  • É possível restringir o acesso a repositórios individuais. Por exemplo, é possível controlar separadamente o acesso a imagens em us-docker.pkg.dev/my-project/team1 e us-docker.pkg.dev/my-project/team2.
Authentication Oferece vários métodos de autenticação para enviar e extrair imagens com um cliente terceirizado. O Artifact Registry é compatível com os mesmos métodos de autenticação do Container Registry. Consulte Como configurar a autenticação para o Docker para mais detalhes.

Se você usar o auxiliar de credenciais do Docker:

  • A versão 2.0.0 ou posterior é obrigatória.
  • As versões de cliente do Docker anteriores a v18.03 não são mais compatíveis.
  • Adicione os locais do Artifact Registry que você usará para a configuração do assistente de credenciais.
Chaves de criptografia gerenciadas pelo cliente (CMEK, na sigla em inglês) Use CMEK para criptografar os buckets de armazenamento que contêm suas imagens. Use CMEK para criptografar repositórios individuais.
Como usar o Console do Google Cloud Veja e gerencie imagens do Container Registry na seção Container Registry do Console do Cloud. Veja uma lista dos repositórios do Artifact Registry e do Container Registry na seção Artifact Registry do Console do Cloud. Gerencie seus repositórios e imagens do Artifact Registry nesta página.

Se você clicar em um repositório do Container Registry, será direcionado para a lista de imagens na seção Container Registry do Console do Cloud.

Como usar os comandos gcloud e API Usa comandos gcloud container images. Usa comandos gcloud artifacts docker.

Depois que o Artifact Registry estiver disponível para todos os usuários, o Artifact Registry fornecerá a opção de criar repositórios compatíveis com versões anteriores compatíveis com o gcloud container images commands.

Para ver uma comparação dos comandos gcloud do Container Registry e do Artifact Registry, consulte a comparação do comando gcloud.

O Artifact Registry também inclui uma API para gerenciar repositórios e artefatos em todos os formatos.

Notificações do Pub/Sub Publica alterações no tópico gcr. Publica alterações no tópico gcr. Se você criar repositórios no mesmo projeto que o serviço do Container Registry atual, a configuração atual do Pub/Sub funcionará automaticamente.

Para saber mais, consulte Como configurar notificações do Pub/Sub.

Imagens do Docker Hub em cache Armazena em cache as imagens do Docker Hub solicitadas com mais frequência em mirror.gcr.io. mirror.gcr.io continua a armazenar em cache imagens do Docker Hub solicitadas com frequência.
VPC Service Controls É possível adicionar o Container Registry a um perímetro de serviço. É possível adicionar o Artifact Registry a um perímetro de serviço.
Armazenamento e análise de metadados O Container Analysis fornece armazenamento de metadados, verificação de vulnerabilidades e integração com serviços que usam os metadados, como autorização binária. Os comandos do SDK do Cloud para trabalhar com notas e ocorrências estão no grupo gcloud container images. O Container Analysis é compatível com armazenamento de metadados e verificação de vulnerabilidades para imagens de contêiner no Artifact Registry e no Container Registry.
  • Os dois produtos usam as mesmas APIs do Container Analysis. Ao ativar as APIs do Container Analysis no Container Registry ou no Artifact Registry, as APIs são ativadas para os dois produtos.
  • Ambos os produtos usam o mesmo tópico "gcr" para notificações do Pub/Sub. Isso significa que as assinaturas atuais no tópico "gcr" incluirão notificações para o Artifact Registry e o Container Registry.
  • Os comandos do SDK do Cloud para trabalhar com notas e ocorrências estão no grupo gcloud artifact docker.
Imagens fornecidas pelo Google As imagens fornecidas pelo Google são hospedadas em gcr.io. Examples incluem: As imagens fornecidas pelo Google continuam disponíveis em gcr.io.
Preço Os preços do Container Registry são baseados no uso do Cloud Storage, incluindo armazenamento e saída de rede. O Artifact Registry tem seu próprio preço, com base no armazenamento e na saída da rede.