O plug-in Helm cm-push é uma extensão do Helm que permite enviar e baixar charts. Um chart é um pacote com as definições de recursos necessárias para executar uma aplicação, ferramenta ou serviço em um cluster Kubernetes. Para enviar um chart a um repositório remoto, instale primeiro o plug-in localmente com o comando helm plugin install. Depois, use o comando helm push para enviar os charts.
Para usar o plug-in Helm cm-push no envio e download de charts via HTTP, você precisa primeiro abrir um ticket para adicionar o endereço IP do seu cliente à lista de permissões da internet.
Etapa 1: Configurar uma instância Enterprise Edition
-
Crie um namespace.
Faça login no Container Registry console.
No painel de navegação à esquerda, clique em Instances.
Na página Instances, clique na instância Enterprise Edition que deseja gerenciar.
Na página de gerenciamento da instância Enterprise Edition, escolha .
Na página Namespace, clique em Create Namespace.
Na caixa de diálogo Create Namespace, insira um nome para o Namespace, defina as opções Automatically Create Repository e Default Configurations for Automatically Created Repositories e clique em Confirm.
-
Crie um repositório de charts.
NotaSe você ativar a opção Automatically Create Repository para o namespace, não será necessário criar um repositório de charts no console. Envie o chart diretamente pela CLI do Helm.
O repositório de charts em uma instância Enterprise Edition deve seguir o formato
<instance-name>-chart.<Region ID>.cr.aliyuncs.com/<namespace>/<chart-repository-name>. A versão do chart segue o formato<chart-name>-<version-number>. Para acessar o repositório por meio de uma VPC, utilize o formato<instance-name>-chart-vpc.<Region ID>.cr.aliyuncs.com/<namespace>/<chart-repository-name>.Na página Overview da instância Enterprise Edition, localize a seção Component Settings e ative a chave para Charts.
Na página de gerenciamento da instância Enterprise Edition, escolha .
Na página Chart repository, clique em Create chart repository.
Na caixa de diálogo Create Helm chart, selecione um Namespace, defina o Chart repository name e o Type e clique em Confirm.
-
Configure uma credencial de acesso.
Os passos a seguir mostram como definir uma senha permanente:
Na página de gerenciamento da instância Enterprise Edition, escolha .
Na página Access Credentials, clique em Set Password.
Na caixa de diálogo Set Password, insira uma Password, repita-a no campo Confirm Password e clique em Confirm.
-
Configure uma política de controle de acesso.
Ative o acesso pela internet ou por uma VPC específica para permitir o envio de charts do Helm. Este tópico usa o controle de acesso pela internet como exemplo. Para mais informações sobre como configurar o controle de acesso em uma VPC, consulte Configurar controle de acesso para uma VPC.
Na página de gerenciamento da instância Enterprise Edition, escolha .
Na página Access Control, clique na aba Internet.
Na aba Internet, ative a opção Enable Access over Internet e clique em Add Internet Whitelist.
Na caixa de diálogo Add Internet Whitelist, insira o intervalo de endereços IP com permissão para acessar a instância e uma descrição. Em seguida, clique em Confirm.
-
(Opcional) Ative a chave Pull from Anonymous Users.
Ao ativar a chave Pull from Anonymous Users, você pode baixar charts de repositórios públicos sem fazer login.
Faça login no Container Registry console.
Na barra de navegação superior, selecione uma região.
No painel de navegação à esquerda, clique em Instances.
Na página Instances, clique na instância Enterprise Edition que deseja gerenciar.
Na página Overview, vá até a seção Instance Settings à direita e ative a chave Pull from Anonymous Users.
Na caixa de diálogo Tips, clique em Confirm.
Etapa 2: Instalar e configurar o cliente Helm
-
Baixe o Helm.
NotaEste tópico usa o Helm 3.7 ou posterior para enviar e baixar charts. Execute o comando
helm versionpara verificar a versão do cliente. O exemplo aqui usa o Helm 3.10.0. -
Execute os comandos a seguir para descompactar o pacote do Helm e mover o arquivo executável para um diretório no seu PATH.
# Decompress the package. tar -zxvf helm-v3.10.0-rc.1-linux-amd64.tar.gz # Move the executable file to a specified directory. mv linux-amd64/helm /usr/local/bin/helm -
Para enviar um diretório de chart para um repositório do Container Registry, use o comando
helm cm-push. Esse comando é fornecido pelo plug-in Helm cm-push. Execute o comando a seguir para instalar o plug-in.NotaAntes de instalar o plug-in do Helm, execute o comando
yum install gitpara instalar o Git.helm plugin install https://github.com/AliyunContainerService/helm-acr
Etapa 3: Enviar e baixar charts
-
Execute o comando a seguir para adicionar um repositório remoto de charts e atribuir a ele um alias local. Esse comando mapeia o alias para a URL de um repositório de charts em um namespace específico.
helm repo add <local-repository-alias> https://test9-7-chart****.cn-hangzhou.cr.aliyuncs.com/ns1/repo1 --username <username> --password <password> -
Execute os comandos a seguir para enviar um chart.
# Create a chart locally. helm create <chart-name> # Push the chart directory. helm cm-push <chart-name> <local-repository-alias>Na página Chart repository, clique no nome do repositório de charts desejado e, em seguida, clique em Versions. Na página Versions, visualize o chart recém-enviado.
-
Execute os comandos a seguir para instalar e baixar um chart.
# Update the local chart index from the remote chart repository. helm repo update # Pull the chart. helm fetch <local-repository-alias>/<chart-name> --version <chart-version> # Alternatively, install the chart directly. helm install -f values.yaml <local-repository-alias>/<chart-name> --version <chart-version>