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
- Se o repositório de destino não existir, crie um novo repositório. Escolha o Docker como o formato do repositório.
- Verifique se tem as autorizações necessárias para o repositório.
- (Opcional) Configure as predefinições para os comandos da CLI gcloud.
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.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.
- Usar o Helm descreve como obter gráficos do Artifact Hub público e personalizar um gráfico antes de o instalar.
- Gráficos descreve os gráficos e a criação de gráficos.
- O guia de práticas recomendadas de gráficos descreve convenções e práticas recomendadas.
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.
Altere para o diretório que contém o gráfico.
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:
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:
Abra a página Repositórios na Trusted Cloud consola.
Clique no repositório com a imagem do contentor.
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
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 comsha256:
.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
Abra a página Repositórios na Trusted Cloud consola.
Clique no nome da imagem para ver as versões dessa imagem.
Selecione as versões que quer eliminar.
Clique em ELIMINAR.
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.