Transição do Container Registry

O Artifact Registry é o serviço recomendado para armazenamento e gerenciamento de imagens de contêiner no Google Cloud. Como um serviço totalmente gerenciado compatível com imagens de contêiner e artefatos sem contêiner, 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. O Container Registry ainda está disponível e é compatível com a API Google Enterprise , mas os novos recursos só estarão disponíveis no Artifact Registry. O Container Registry receberá apenas correções de segurança críticas.

Visão geral

O Artifact Registry oferece os mesmos recursos de gerenciamento de contêiner do Container Registry e inclui outros recursos e benefícios:

Outros formatos de artefato

É possível criar repositórios para os seguintes formatos de artefato:

Repositórios regionais

O Container Registry fornece apenas hosts de registro multirregionais. O Artifact Registry oferece hosts de registro regionais e multirregionais.

Vários repositórios separados em um único local

No Container Registry, só é possível criar um host de registro em uma multirregião, e todos os repositórios no registro compartilham o mesmo bucket de armazenamento. No Artifact Registry, cada repositório é um recurso separado. É possível aplicar diferentes identificadores e políticas do Identity and Access Management a cada repositório.

Permissões no repositório

No Container Registry, você concede permissões para cada host de registro multirregional. Não é possível aplicar permissões separadas no nível do repositório. O Artifact Registry oferece controle de acesso no nível do repositório.

Papéis do IAM para o Artifact Registry

No Container Registry, você usa os papéis do Cloud Storage para controlar o acesso e precisa enviar uma imagem a um host de registro antes de configurar as permissões para o host. No Artifact Registry, use os papéis do Artifact Registry para conceder acesso, e há uma separação clara entre os papéis de administrador e de usuário do repositório.

Streaming de imagens do Google Kubernetes Engine

O GKE pode fazer streaming de dados de imagens qualificadas, conforme solicitado pelos aplicativos, para que as cargas de trabalho possam ser inicializadas sem esperar o download completo da imagem. O streaming de imagens oferece escalonamento automático e inicialização de pods mais rápidos, além de reduzir a latência ao extrair imagens grandes.

Implantação de origem no Cloud Run

Implante novos serviços e novas revisões no Cloud Run diretamente do código-fonte usando um único comando da Google Cloud CLI. A implantação de origem cria uma imagem de contêiner com base no código, a armazena no Artifact Registry e a implanta no Cloud Run.

Compatibilidade com versões anteriores e coexistência

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

Para aproveitar os recursos expandidos no Artifact Registry, transfira seus contêineres e a automação para o Artifact Registry.

Opções de transição

É possível fazer a transição para o Artifact Registry usando uma destas opções:

Repositórios padrão (recomendado)
Repositórios regulares do Artifact Registry que oferecem suporte a todos os recursos e são totalmente independentes de qualquer host do Container Registry.
Repositórios com suporte do domínio gcr.io

Repositórios especiais mapeados para nomes de host gcr.io do Container Registry. Esses repositórios são compatíveis com o redirecionamento do tráfego de nomes do host gcr.io para os repositórios gcr.io correspondentes no seu projeto.

Esses repositórios têm algumas limitações de recursos. No entanto, se você tiver muitas configurações de ferramentas, scripts ou códigos com referências de gcr.io, uma abordagem mais tática poderá ser necessária para fazer a transição para o Artifact Registry.

Os dois tipos de repositório podem coexistir para que você faça a transição gradualmente. Exemplo:

  • É possível criar repositórios gcr.io no Artifact Registry para fazer a transição da configuração atual do Container Registry e criar repositórios padrão para novo trabalho.
  • Você pode usar uma abordagem de vários estágios na transição. Faça a transição para repositórios gcr.io no Artifact Registry e passe gradualmente para os repositórios padrão ao atualizar sua automação para oferecer suporte total ao repositório do Artifact Registry e aos caminhos de imagem.

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.

Como enviar e extrair imagens

Para ajudar você a adaptar a configuração, os comandos e a documentação existentes projetados para o Container Registry, as informações a seguir comparam a criação, o envio, a extração e a implantação de imagens.

Comparação do recurso

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

Seleção de Container Registry Artifact Registry
Formatos compatíveis Somente imagens de contêiner Vários formatos de artefato, incluindo imagens de contêiner, pacotes de idioma e pacotes do SO.
Repositórios
  • Criação: cria um repositório automaticamente em uma multirregião caso você não tenha enviado uma imagem para lá antes.
  • 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: crie repositórios padrão em um local multirregional ou multirregional. Por exemplo, a multirregião mais próxima da Austrália é a Ásia. Com o suporte regional, é possível 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 artefato.

É possível usar o suporte ao domínio gcr.io para redirecionar automaticamente o tráfego dos seus hosts gcr.io> para os repositórios correspondentes do Artifact Registry no mesmo projeto.

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 Fornece vários métodos de autenticação para enviar e receber imagens com um cliente de terceiros. 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 mais recente é 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 Ver e gerenciar imagens do Container Registry na seção Container Registry do console do Google Cloud. Veja uma lista dos repositórios do Artifact Registry e do Container Registry na seção Artifact Registry do Console do Google 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 Google Cloud.

Como usar os comandos gcloud e API Usa comandos gcloud container images. Os comandos são compatíveis com resumos. Se você não especificar a string de resumo completa, o Container Registry tentará localizar a imagem correta com base na string parcial. Usa os comandos gcloud artifacts docker. Os comandos não são compatíveis com resumos.

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 com o Container Analysis Verificações de vulnerabilidades do pacote de idiomas e do SO com verificação sob demanda em imagens com um SO compatível. A verificação automática retorna apenas informações sobre a vulnerabilidade do SO. Saiba mais sobre os tipos de leitura.
Leitura sob demanda
Leitura automática
  • O comando gcloud container images da CLI do Google Cloud inclui sinalizações para visualizar os resultados da verificação, incluindo vulnerabilidades e outros metadados.
  • As verificações só retornam informações sobre a vulnerabilidade do SO para imagens no Container Registry com sistemas operacionais compatíveis.
Verificações de vulnerabilidades do pacote de idiomas e do SO com a verificação automática e sob demanda. Saiba mais sobre os tipos de leitura.
Leitura sob demanda
Leitura automática
  • O comando gcloud artifacts docker images da CLI do Google Cloud inclui sinalizações para visualizar os resultados da verificação, incluindo vulnerabilidades e outros metadados.
  • As verificações retornam informações de vulnerabilidade do SO para imagens no Artifact Registry com sistemas operacionais compatíveis e informações de vulnerabilidade do pacote de idiomas para sistemas operacionais compatíveis e não compatíveis.
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.
Streaming de imagens Indisponível O GKE pode fazer o streaming de dados de imagens qualificadas no Artifact Registry para escalonamento automático mais rápido, inicialização mais rápida de pods e redução de latência ao extrair imagens grandes.
Implantação de origem do Cloud Run Indisponível A implantação de origem permite usar um único comando da CLI gcloud para criar uma imagem de contêiner a partir do código-fonte, armazenar a imagem no Artifact Registry e implantá-la no Cloud Run.
Preços 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.