Armazene e gerencie Helm charts como artefatos Open Container Initiative (OCI) em uma instância do Container Registry Enterprise Edition. O suporte a artefatos OCI está estável no Helm desde a versão 3.7.
Pré-requisitos
Antes de começar, verifique se você possui o seguinte:
Helm 3.7 ou posterior instalado. Execute
helm versionpara verificarUma instância do Container Registry Enterprise Edition
Uma conta Alibaba Cloud com acesso ao console do Container Registry
Etapa 1: Configure sua instância Enterprise Edition
Crie um namespace
Faça logon no console do Container Registry.
No painel de navegação à esquerda, clique em Instances.
Na página Instances, clique na instância Enterprise Edition que deseja gerenciar.
No painel de navegação à esquerda, escolha Repository > Namespace.
Clique em Create Namespace.
Na caixa de diálogo Create Namespace, defina Namespace e Automatically Create Repository e clique em Confirm.
Crie um repositório de imagens
No painel de navegação à esquerda, escolha Repositories > Repositories.
Clique em Create Repository.
Na etapa Repository Info, configure Namespace, Repository Name, Repository Type, Tags, Accelerated Image, Summary e Description. Em seguida, clique em Next.
-
Na etapa Code Source, configure Code Source, Build Settings e Build Rules. Em seguida, clique em Create Repository. Para confirmar que o repositório está vinculado a um repositório de código-fonte, clique no repositório na página Repositories e verifique se Build aparece no painel de navegação à esquerda.
Parâmetro
Descrição
Code Source
Repositório de código-fonte a ser vinculado a este repositório de imagens
Automatically Build Images When Code Changes
Aciona um build automaticamente quando código é enviado para a branch vinculada
Build with Servers Deployed Outside Chinese Mainland
Compila imagens em servidores no exterior e as envia para a região de destino. Ative esta opção quando o Dockerfile buscar recursos no exterior e a conexão transfronteiriça estiver instável.
Build Without Cache
Baixa a imagem base novamente a cada build. Desative para acelerar os builds reutilizando camadas em cache
Configure uma credencial de acesso
Defina uma senha como credencial de acesso para sua instância Enterprise Edition.
No painel de navegação à esquerda, escolha Instances > Access Credentials.
Clique em Password.
Na caixa de diálogo Set Password, insira e confirme sua senha e clique em Confirm.
Também é possível usar um token temporário como credencial de acesso.
Configure políticas de acesso
Ative o acesso pela Internet para que os charts possam ser enviados e baixados da instância.
No painel de navegação à esquerda, escolha Repositories > Access Control.
Clique na aba Internet.
Ative Enable Access over Internet e clique em Add Internet Whitelist.
Na caixa de diálogo Add Internet Whitelist, especifique o bloco CIDR a ser permitido e uma descrição opcional. Em seguida, clique em Confirm.
Para usar o acesso via VPC em vez do acesso pela Internet, consulte Configure a VPC ACL .
(Opcional) Ative o pull anônimo
Ative Pull from Anonymous Users para permitir que qualquer pessoa baixe charts de repositórios públicos nesta instância sem fazer logon.
Faça logon no console do Container Registry.
Na barra de navegação superior, selecione uma região.
No painel de navegação à esquerda, clique em Instances.
Clique na instância Enterprise Edition que deseja gerenciar.
Na página Overview, na seção Instance Settings, ative Pull from Anonymous Users.
Na caixa de diálogo Tips, clique em Confirm.
Etapa 2: Envie e baixe charts
Ative o suporte a OCI
Execute o comando a seguir para ativar o suporte a artefatos OCI no Helm 3.7:
export HELM_EXPERIMENTAL_OCI=1
Faça logon na instância
Substitua <registry-logon-name> pelo nome da sua conta Alibaba Cloud. Substitua <instance-name> e <region-id> pelos detalhes da sua instância.
helm3 registry login -u <registry-logon-name> <instance-name>-registry.cn-<region-id>.cr.aliyuncs.com
Quando solicitado, insira a senha definida na etapa anterior.
Exemplo:
helm3 registry login -u acr_test_***@test.aliyunid.com ***-registry.cn-hangzhou.cr.aliyuncs.com
Se Pull from Anonymous Users estiver ativado na página Overview , os charts em repositórios públicos poderão ser baixados sem fazer logon.
Crie e empacote um chart
-
Crie um chart de exemplo HelloWorld:
helm3 create helloworld -
Empacote o diretório do chart em um arquivo compactado:
tar -zcvf test.tgz helloworld
Envie um chart
O URI OCI para envio deve terminar com o namespace, e não com o nome do repositório. O nome do repositório é lido diretamente do pacote do chart.
helm3 push test.tgz oci://<instance-name>-registry.cn-<region-id>.cr.aliyuncs.com/<namespace>
Exemplo:
helm3 push test.tgz oci://***-registry.cn-hangzhou.cr.aliyuncs.com/test
Baixe e instale um chart
O URI OCI para download deve terminar com o nome do repositório, seguido de --version para especificar a tag da imagem.
-
Baixe o pacote do chart:
helm3 pull oci://<instance-name>-registry.cn-<region-id>.cr.aliyuncs.com/<namespace>/<repository-name> --version <image-tag>Exemplo:
helm3 pull oci://***-registry.cn-hangzhou.cr.aliyuncs.com/test/trem --version helloworld -
Descompacte o pacote do chart:
tar -xzvf helloworld-<image-tag>.tgz -
Instale o chart:
helm install helloworld ./helloworld
Próximos passos
Configure a VPC ACL para restringir o acesso à instância a VPCs específicas