Faça a gestão dos gráficos Helm

Esta página explica como gerir gráficos do Helm 3 guardados como imagens de contentores OCI, incluindo o envio (carregamento), a obtenção (transferência), a listagem, a etiquetagem e a eliminação de gráficos.

Antes de começar

  1. Se o repositório de destino não existir, crie um novo repositório. Escolha o Docker como o formato do repositório.
  2. Verifique se tem as autorizações necessárias para o repositório.
  3. (Opcional) Configure as predefinições para os comandos da CLI gcloud.
  4. Instale o Helm 3.8.0 ou posterior. Nas versões anteriores do Helm, o suporte para gráficos no formato OCI é uma funcionalidade experimental.

    Execute helm version para verificar a sua versão.

  5. Configure o Helm para autenticar com o Artifact Registry.

Criar ou obter um gráfico

Esta documentação centra-se na gestão das imagens dos gráficos e pressupõe que tem gráficos existentes ou que está familiarizado com a criação de gráficos. Para saber como criar gráficos ou obter gráficos disponíveis publicamente no Artifact Hub, consulte as seguintes informações na documentação do Helm.

Apresentar um gráfico

Antes de poder enviar um gráfico para o Artifact Registry, tem de o criar um pacote como um arquivo de gráficos.

  1. Altere para o diretório que contém o gráfico.

  2. Empacote o gráfico.

    helm package CHART-PATH
    

    Substitua CHART-PATH pelo caminho para o diretório que contém o ficheiro Chart.yaml.

O Helm usa o nome e a versão do gráfico para o nome do ficheiro do arquivo. Por exemplo, se tiver um gráfico com o nome my-chart e o número da versão 0.1.0, o nome do pacote é my-chart-0.1.0.tgz.

Agora, pode enviar o gráfico para o Artifact Registry.

Empurrar um carrinho

Depois de criar o pacote do gráfico, 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 é a localização regional do repositório.
  • PROJECT é o seu Trusted Cloud by S3NS ID do projeto.
  • REPOSITORY é o nome do repositório.

O Helm usa informações de Chart.yaml para o nome e a etiqueta da imagem do contentor OCI. Considere o seguinte comando de exemplo:

helm push my-chart-0.1.0.tgz oci://u-france-east1-docker.s3nsregistry.fr/my-project/my-repo

O Helm carrega o arquivo do gráfico como a imagem my-chart com a etiqueta 0.1.0.

Para verificar se a operação de envio foi bem-sucedida, liste as imagens no repositório.

gcloud artifacts docker images list LOCATION-docker.s3nsregistry.fr/PROJECT/REPOSITORY

Extrair gráficos

Para extrair um gráfico:

  1. Execute o seguinte comando para extrair o arquivo do gráfico:

    helm pull oci://LOCATION-docker.s3nsregistry.fr/PROJECT/REPOSITORY/IMAGE \
        --version VERSION
    

    Se quiser extrair o arquivo de gráficos e extrair o respetivo conteúdo, adicione a flag --untar.

    helm pull oci://LOCATION-docker.s3nsregistry.fr/PROJECT/REPOSITORY/IMAGE \
        --version VERSION \
        --untar
    

    Substitua os seguintes valores:

  • LOCATION é a localização regional do repositório.
  • PROJECT é o seu Trusted Cloud by S3NS ID do projeto.
  • REPOSITORY é o nome do repositório onde a imagem está armazenada.
  • IMAGE é o nome da imagem no repositório.
  • VERSION é a versão semântica do gráfico. Esta flag é obrigatória. O Helm não suporta a obtenção de um gráfico através de uma etiqueta.

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 seguinte instala um lançamento denominado release1 com 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

Gráficos de fichas

Pode listar os gráficos através da Trusted Cloud console ou da linha de comandos. Se armazenar imagens de contentores e gráficos no mesmo repositório do Docker, ambos os tipos de artefactos aparecem na lista.

Consola

Para ver imagens num repositório:

  1. Abra a página Repositórios na Trusted Cloud consola.

    Abra a página Repositórios

  2. Clique no repositório com a imagem do contentor.

  3. Clique numa imagem para ver as respetivas versões.

gcloud

Para listar todas as imagens no projeto, repositório e localização predefinidos quando os valores predefinidos estão configurados:

gcloud artifacts docker images list

Para listar imagens num repositório numa localização específica, execute o comando:

gcloud artifacts docker images list LOCATION-docker.s3nsregistry.fr/PROJECT/REPOSITORY

Para apresentar uma lista de todos os resumos e etiquetas 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 é a localização regional do repositório.
  • PROJECT é o seu Trusted Cloud by S3NS ID do projeto.
  • REPOSITORY é o nome do repositório onde a imagem está armazenada.
  • IMAGE é o nome da imagem no repositório.
  • --include-tags mostra todas as versões das imagens, incluindo resumos e etiquetas. Se esta flag for omitida, a lista devolvida inclui apenas imagens de contentores de nível superior.

Por exemplo, considere uma imagem com as seguintes características:

  • Localização 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 o artigo Nomes de repositórios e imagens.

Listar ficheiros

Pode listar ficheiros num repositório, ficheiros em todas as versões de uma imagem de contentor especificada ou ficheiros numa versão específica de uma imagem.

Para todos os comandos seguintes, pode definir um número máximo de ficheiros a devolver adicionando a flag --limit ao comando.

Para listar todos os ficheiros no projeto, repositório e localização predefinidos quando os valores predefinidos estão configurados:

gcloud artifacts files list

Para listar ficheiros num projeto, num repositório e numa localização especificados, execute o comando:

gcloud artifacts files list \
    --project=PROJECT \
    --repository=REPOSITORY \
    --location=LOCATION

Para listar ficheiros de todas as versões de uma imagem de contentor específica:

gcloud artifacts files list \
    --project=PROJECT \
    --repository=REPOSITORY \
    --location=LOCATION \
    --package=PACKAGE

Para listar os ficheiros de uma versão específica da imagem do contentor:

gcloud artifacts files list \
    --project=PROJECT \
    --repository=REPOSITORY \
    --location=LOCATION \
    --package=PACKAGE \
    --version=VERSION
Para listar ficheiros de uma etiqueta específica:

gcloud artifacts files list \
    --project=PROJECT \
    --repository=REPOSITORY \
    --location=LOCATION \
    --package=PACKAGE \
    --tag=TAG

Substitua os seguintes valores:

  • LOCATION: a localização regional do repositório.
  • PROJECT: o seu Trusted Cloud by S3NS ID do projeto.
  • REPOSITORY: o nome do repositório onde a imagem está armazenada.
  • PACKAGE: o nome da imagem.
  • VERSION: o resumo da imagem, uma string que começa com sha256:.
  • TAG: a etiqueta associada à imagem do contentor.

A eliminar imagens

Num repositório do Artifact Registry, pode eliminar uma imagem de contentor inteira ou eliminar uma versão de imagem específica associada a uma etiqueta ou um resumo. Depois de eliminar uma imagem, não pode anular a ação.

Para eliminar uma imagem armazenada no Artifact Registry:

Consola

  1. Abra a página Repositórios na Trusted Cloud consola.

    Abra a página Repositórios

  2. Clique no nome da imagem para ver as versões dessa imagem.

  3. Selecione as versões que quer eliminar.

  4. Clique em ELIMINAR.

  5. Na caixa de diálogo de confirmação, clique em ELIMINAR.

gcloud

Para eliminar uma imagem e todas as respetivas etiquetas, execute o comando:

gcloud artifacts docker images delete LOCATION-docker.s3nsregistry.fr/PROJECT/REPOSITORY/IMAGE --delete-tags

Para eliminar uma versão específica de uma imagem, use um dos seguintes comandos.

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 é a localização regional do repositório.
  • PROJECT é o seu Trusted Cloud by S3NS ID do projeto.
  • REPOSITORY é o nome do repositório onde a imagem está armazenada.
  • IMAGE é o nome da imagem no repositório.
  • TAG é a etiqueta da versão que quer eliminar. Se várias etiquetas estiverem associadas à mesma versão da imagem, tem de incluir --delete-tags para eliminar a versão da imagem sem remover primeiro as etiquetas.
  • IMAGE-DIGEST é o valor hash sha256 da versão que quer eliminar. Se uma etiqueta estiver associada ao resumo da imagem, tem de incluir --delete-tags para eliminar a versão da imagem sem remover primeiro a etiqueta.
  • --delete-tags remove todas as etiquetas aplicadas à versão da imagem. Este sinalizador permite forçar a eliminação de uma versão de imagem quando:
    • Especificou uma etiqueta, mas existem outras etiquetas associadas à versão da imagem.
    • Especificou um resumo da imagem que tem, pelo menos, uma etiqueta.

O que se segue?