O Helm 3 suporta o formato de artefato da Open Container Initiative (OCI) para empacotar e distribuir charts do Helm. Este tópico explica como autenticar-se no Container Registry, enviar um chart como artefato OCI e instale-o em um cluster Kubernetes.
Pré-requisitos
Antes de começar, verifique se você tem:
Helm 3.8 ou posterior. Execute
helm versionpara verificar. O suporte a OCI está disponível geralmente a partir do Helm 3.8.Uma instância do Container Registry com pelo menos um namespace crie.
Docker ou outro cliente compatível com OCI instale e configurado.
Credenciais (nome de usuário e senha ou token de acesso) para o registro.
Autentique-se no Container Registry
Antes de enviar ou baixar artefatos OCI, faça login no registro com o cliente Helm.
helm registry login <registry-domain> \
--username <username> \
--password <password>
Substitua os espaços reservados pelos detalhes do seu registro:
|
Espaço reservado |
Descrição |
Exemplo |
|
|
Seu endpoint do Container Registry |
|
|
|
Nome de usuário da sua conta Alibaba Cloud ou usuário RAM |
|
|
|
Senha da sua conta ou token de acesso |
— |
Saída esperada:
Login Succeeded
Se você usar um token de acesso temporário, ele terá validade limitada. Renove-o antes da expiração para evitar falhas de autenticação em pipelines automatizados.
Empacote um chart do Helm
Empacote seu chart local do Helm em um arquivo .tgz antes de enviá-lo ao registro.
helm package <chart-directory>
Saída esperada:
Successfully packaged chart and saved it to: /path/to/<chart-name>-<version>.tgz
Por exemplo, se o diretório do seu chart for my-chart na versão 0.1.0, o arquivo de saída será my-chart-0.1.0.tgz.
Envie um chart para o registro
Envie o chart empacotado para o namespace do seu Container Registry.
helm push <chart-name>-<version>.tgz oci://<registry-domain>/<namespace>
Saída esperada:
Pushed: <registry-domain>/<namespace>/<chart-name>:<version>
Digest: sha256:<digest-hash>
Anote o valor do digest. Você pode usá-lo posteriormente para instale o chart por digest e garantir maior integridade.
Formato da url do registro OCI
Especifique o host do registro OCI sem esquema de url ou caminho. A tabela a seguir mostra formatos válidos e inválidos:
|
Formato |
Válido |
Observação |
|
|
Sim |
Apenas hostname |
|
|
Sim |
Hostname com porta |
|
|
Não |
Esquema não permitido |
|
|
Não |
Caminho não permitido no host |
Sempre adicione o prefixo oci:// à referência OCI completa ao passá-la para comandos do Helm:
oci://registry.cn-hangzhou.aliyuncs.com/my-namespace/my-chart
Baixe um chart do registro
Baixe um chart do registro para sua máquina local.
helm pull oci://<registry-domain>/<namespace>/<chart-name> --version <version>
Se já existir um arquivo com o mesmo nome no diretório atual, o comando helm pull o substituirá sem aviso prévio.
Instale um chart do registro
Instalação por tag
helm install <release-name> oci://<registry-domain>/<namespace>/<chart-name> \
--version <version>
Instalação por digest
A instalação baseada em digest é mais segura que a baseada em tag, pois o digest é imutável. Assim, o artefato referenciado não pode ser substituído silenciosamente.
helm install <release-name> \
oci://<registry-domain>/<namespace>/<chart-name>@sha256:<digest-hash>
Use o digest exibido quando você enviou o chart.
Próximos passos
Para automatizar o envio de charts em um pipeline de CI/CD, integre os comandos
helm registry loginehelm pushao seu fluxo de trabalho de build.Para saber mais sobre o gerenciamento de charts do Helm e artefatos OCI no Container Registry, consulte a documentação do Container Registry.
Para crie e desenvolver seus próprios charts do Helm, consulte o Guia de modelos de charts do Helm.