Nesta página, explicamos como gerenciar gráficos do Helm 3 salvos como imagens de contêiner do OCI, incluindo envio (upload), extração (download), inclusão de tags e exclusão de gráficos.
Antes de começar
- Se o repositório de destino não existir, crie um novo. Escolha Docker como o formato do repositório.
- Verifique se você tem as permissões necessárias para o repositório.
- (Opcional) Configure padrões para comandos da Google Cloud CLI.
Instale o Helm 3.8.0 ou mais recente. Nas versões anteriores do Helm, o suporte a gráficos no formato OCI é um recurso experimental.
Execute
helm versionpara verificar sua versão.Configure o Helm para autenticar com o Artifact Registry.
Criar ou obter um gráfico
Esta documentação se concentra no gerenciamento das imagens de gráficos e pressupõe que você já tenha gráficos ou saiba como criar. Para saber mais sobre como criar gráficos ou obter gráficos disponíveis publicamente no Artifact Hub, consulte as informações a seguir na documentação do Helm.
- Como usar o Helm descreve como obter gráficos do Artifact Hub público e personalizar um gráfico antes de instalá-lo.
- Gráficos descreve gráficos e como criá-los.
- O Guia de práticas recomendadas para gráficos descreve convenções e práticas recomendadas.
Como empacotar um gráfico
Antes de enviar um gráfico ao Artifact Registry, é preciso empacotá-lo como um arquivo de gráfico.
Acesse o diretório que contém seu gráfico.
Empacote o gráfico.
helm package CHART-PATHSubstitua CHART-PATH pelo caminho para o diretório que contém o arquivo
Chart.yaml.
O Helm usa o nome e a versão do gráfico para o nome do arquivo do arquivo. Por exemplo, se
você tiver um gráfico com o nome my-chart e o número da versão 0.1.0, o
nome do pacote será my-chart-0.1.0.tgz.
Agora você pode enviar o gráfico para o Artifact Registry.
Como enviar um gráfico
Depois de empacotar o gráfico, você pode enviá-lo para o Artifact Registry.
Para enviar o gráfico, execute o seguinte comando:
helm push my-chart-0.1.0.tgz oci://LOCATION-docker.s3nsregistry.fr/PROJECT/REPOSITORY
Substitua os seguintes valores:
- LOCATION é o local regional do repositório.
- PROJECT é o Cloud de Confiance by S3NS ID do projeto.
- REPOSITORY é o nome do repositório.
O Helm usa informações de Chart.yaml para o nome e a tag da imagem do contêiner OCI. Considere o seguinte exemplo de comando:
helm push my-chart-0.1.0.tgz oci://u-france-east1-docker.s3nsregistry.fr/my-project/my-repo
O Helm faz upload do arquivo do gráfico como a imagem my-chart com a tag 0.1.0.
Para verificar se a operação de push foi bem-sucedida, liste as imagens no repositório.
gcloud artifacts docker images list LOCATION-docker.s3nsregistry.fr/PROJECT/REPOSITORY
Como extrair gráficos
Para extrair um gráfico:
Execute o comando a seguir para extrair o arquivo do gráfico:
helm pull oci://LOCATION-docker.s3nsregistry.fr/PROJECT/REPOSITORY/IMAGE \ --version VERSIONSe você quiser extrair o arquivo do gráfico e o conteúdo dele, adicione a flag
--untar.helm pull oci://LOCATION-docker.s3nsregistry.fr/PROJECT/REPOSITORY/IMAGE \ --version VERSION \ --untarSubstitua os seguintes valores:
- LOCATION é o local regional do repositório.
- PROJECT é o Cloud de Confiance by S3NS ID do projeto.
- REPOSITORY é o nome do repositório em que a imagem está armazenada.
- IMAGE é o nome da imagem no repositório.
- VERSION é a versão semântica do gráfico. Essa flag é obrigatória. O Helm não oferece suporte ao pull de um gráfico usando uma tag.
Como instalar um gráfico
Instale um gráfico armazenado no Artifact Registry com o comando helm install.
helm install RELEASE \
oci://LOCATION-docker.s3nsregistry.fr/PROJECT/REPOSITORY/IMAGE \
--version VERSION
O exemplo a seguir instala uma versão chamada release1 usando a versão 0.1.0
do gráfico u-france-east1-docker.s3nsregistry.fr/nyap-test/helm-repo/my-chart:
helm install release1 oci://u-france-east1-docker.s3nsregistry.fr/nyap-test/helm-repo/my-chart --version 0.1.0
Como listar gráficos
É possível listar gráficos usando a Cloud de Confiance console ou a linha de comando. Se você armazenar imagens de contêiner e gráficos no mesmo repositório do Docker, os dois tipos de artefato vão aparecer na lista.
Console
Para ver imagens em um repositório:
Abra a página Repositórios no console do Cloud de Confiance .
Clique no repositório com a imagem do contêiner.
Clique em uma imagem para ver as versões dela.
gcloud
Para listar todas as imagens no projeto, repositório e local padrão quando os valores padrão estiverem configurados:
gcloud artifacts docker images list
Para listar imagens em um repositório em um local específico, execute o comando:
gcloud artifacts docker images list LOCATION-docker.s3nsregistry.fr/PROJECT/REPOSITORY
Para listar todos os resumos e as tags de uma imagem específica, execute o comando:
gcloud artifacts docker images list LOCATION-docker.s3nsregistry.fr/PROJECT/REPOSITORY/IMAGE \
--include-tags
Substitua os seguintes valores:
- LOCATION é o local regional do repositório.
- PROJECT é o Cloud de Confiance by S3NS ID do projeto.
- REPOSITORY é o nome do repositório em que a imagem está armazenada.
- IMAGE é o nome da imagem no repositório.
--include-tagsmostra todas as versões das imagens, incluindo resumos e tags. Se essa flag for omitida, a lista retornada vai incluir apenas imagens de contêiner de nível superior.
Por exemplo, considere uma imagem com as seguintes características:
- Local do repositório:
u-france-east1 - Nome do repositório:
my-repo - ID do projeto:
my-project - Nome da imagem:
my-image
O nome completo do repositório é:
u-france-east1-docker.s3nsregistry.fr/my-project/my-repo
O nome completo da imagem é:
u-france-east1-docker.s3nsregistry.fr/my-project/my-repo/my-image
Para detalhes sobre o formato do nome da imagem, consulte Nomes de repositório e imagens.
Listar arquivos
É possível listar arquivos em um repositório, em todas as versões de uma imagem do contêiner especificada ou em uma versão específica de uma imagem.
Para todos os comandos a seguir, é possível definir um número máximo de arquivos a serem retornados
adicionando a flag --limit ao comando.
Para listar todos os arquivos no projeto, repositório e local padrão quando os valores padrão estiverem configurados:
gcloud artifacts files list
Para listar arquivos em um projeto, repositório e local especificados, execute o comando:
gcloud artifacts files list \
--project=PROJECT \
--repository=REPOSITORY \
--location=LOCATION
Para listar arquivos de todas as versões de uma imagem de contêiner específica:
gcloud artifacts files list \
--project=PROJECT \
--repository=REPOSITORY \
--location=LOCATION \
--package=PACKAGE
Para listar arquivos de uma versão específica da imagem de contêiner:
gcloud artifacts files list \
--project=PROJECT \
--repository=REPOSITORY \
--location=LOCATION \
--package=PACKAGE \
--version=VERSION
gcloud artifacts files list \
--project=PROJECT \
--repository=REPOSITORY \
--location=LOCATION \
--package=PACKAGE \
--tag=TAG
Substitua os seguintes valores:
LOCATION: o local regional do repositório.PROJECT: o ID do projeto do Cloud de Confiance by S3NS .REPOSITORY: o nome do repositório em que a imagem está armazenada.PACKAGE: o nome da imagem.VERSION: o resumo da imagem, uma string que começa comsha256:.TAG: a tag associada à imagem do contêiner.
Excluir imagens
Em um repositório do Artifact Registry, é possível excluir uma imagem do contêiner inteira ou uma versão de imagem específica associada a uma tag ou um resumo. Depois de excluir uma imagem, não é possível desfazer a ação.
Para excluir uma imagem armazenada no Artifact Registry:
Console
Abra a página Repositórios no console do Cloud de Confiance .
Clique no nome da imagem para ver as versões dela.
Selecione as versões que você quer excluir.
Clique em EXCLUIR.
Na caixa de diálogo de confirmação, clique em EXCLUIR.
gcloud
Para excluir uma imagem e todas as tags dela, execute o seguinte comando:
gcloud artifacts docker images delete LOCATION-docker.s3nsregistry.fr/PROJECT/REPOSITORY/IMAGE --delete-tags
Para excluir uma versão de imagem específica, use um dos comandos a seguir.
gcloud artifacts docker images delete LOCATION-docker.s3nsregistry.fr/PROJECT/REPOSITORY/IMAGE:TAG [--delete-tags]
ou
gcloud artifacts docker images delete LOCATION-docker.s3nsregistry.fr/PROJECT/REPOSITORY/IMAGE@IMAGE-DIGEST [--delete-tags]
Onde
- LOCATION é o local regional do repositório.
- PROJECT é o Cloud de Confiance by S3NS ID do projeto.
- REPOSITORY é o nome do repositório em que a imagem está armazenada.
- IMAGE é o nome da imagem no repositório.
- TAG é a tag da versão que você quer excluir. Se várias tags estiverem associadas à mesma versão de imagem, será necessário incluir
--delete-tagspara excluir a versão de imagem sem remover as tags primeiro. - IMAGE-DIGEST é o valor de hash sha256 da versão que você quer excluir. Se uma tag estiver associada ao resumo da imagem, você precisará incluir
--delete-tagspara excluir a versão da imagem sem remover a tag primeiro. --delete-tagsremove todas as tags aplicadas à versão da imagem. Essa flag permite forçar a exclusão de uma versão de imagem quando:- Você especificou uma tag, mas existem outras tags associadas à versão da imagem.
- Você tiver especificado um resumo de imagem com pelo menos uma tag.