Este tópico descreve os casos de uso e os princípios de um pacote de implantação de Helm chart e explica como criá-lo e usá-lo.
Casos de uso
-
Se você precisar manter seus Helm charts privados durante a implantação de serviços, recomendamos usar pacotes de implantação de Helm chart no Compute Nest. O Compute Nest armazena esses pacotes em um repositório ACR e os obtém com segurança por meio de uma chave temporária.
ImportantePara Helm charts com acesso público, implante-os especificando a URL pública no modelo ROS do serviço. Nenhuma configuração adicional é necessária.
Helm charts são geralmente usados em serviços com estruturas complexas e diversos arquivos de implantação YAML para gerenciar esses arquivos de forma organizada. No Compute Nest, os pacotes de implantação de Helm chart ficam hospedados em um repositório ACR. Para mais informações sobre o mecanismo de upload e pull, consulte artefato de imagem de contêiner.
Como funciona
Para usar um pacote de implantação de Helm chart em um modelo de serviço, defina os dois placeholders a seguir. O sistema substitui esses placeholders pelos valores reais durante a implantação:
{{computenest::helmchart::test}}: placeholder do pacote de implantação. O sistema o substitui pela URL completa do Helm chart, por exemplo,oci://compute-nest-chart-registry.cn-hangzhou.cr.aliyuncs.com/${aliUid}/wordpress:15.4.1.{{computenest::helm::dockerconfigjson}}: segredo de pull do repositório, usado para obter Helm charts hospedados no repositório ACR do Compute Nest.
A implantação de Helm chart usa o módulo público MODULE::ACS::ComputeNest::FluxOciHelmDeploy definido pelo Compute Nest. Esse módulo usa o componente open source FluxCD e atualmente oferece suporte apenas a repositórios de charts no formato OCI. O repositório para pacotes de implantação de Helm chart do Compute Nest usa o formato OCI. O modelo de exemplo abaixo mostra como implantar um pacote de Helm chart usando MODULE::ACS::ComputeNest::FluxOciHelmDeploy:
Resources:
FluxHelmDeploy:
Type: MODULE::ACS::ComputeNest::FluxOciHelmDeploy
Version: v1
Properties:
ClusterId:
Ref: ClusterId
ReleaseName: wordpress
Namespace: wordpress
HelmChartUrl: '{{ computenest::helmchart::test }}'
DockerConfigJson: '{{ computenest::helm::dockerconfigjson }}'
ChartValues:
mariadb:
primary:
persistence:
enabled: true
storageClass: alicloud-disk-essd
size: 20Gi
persistence:
enabled: false
...
Criação e uso
Pré-requisitos
Verifique se a CLI do Helm está instalada e se você tem um Helm chart empacotado. Caso contrário, consulte Enviar e obter Helm charts.
Criar um pacote de Helm chart
-
Configure as informações básicas do pacote de implantação.
Faça login no console do Compute Nest. No painel de navegação à esquerda, escolha Service Deployment Package. Na aba Packages, clique em Create Deployment Package.
-
Na seção Basic Information, configure os parâmetros a seguir.
Parâmetro
Descrição
Deployment Package Name
O nome pode conter caracteres chineses, letras, dígitos e sublinhados (_). Deve ter entre 3 e 128 caracteres, considerando que cada caractere chinês conta como dois. Não é possível alterar o nome do pacote de implantação após a criação.
Version Name
O nome pode conter caracteres chineses, letras, dígitos e sublinhados (_). Deve ter entre 3 e 50 caracteres, considerando que cada caractere chinês conta como dois.
Description
A descrição deve ter entre 10 e 500 caracteres. Cada caractere chinês conta como dois.
Resource Group
Selecione o grupo de recursos ao qual o pacote de implantação pertence.
Os grupos de recursos permitem organizar seus recursos em nuvem por uso, permissões ou propriedade, viabilizando o gerenciamento hierárquico de recursos para múltiplos usuários e projetos dentro de uma organização. Para mais informações, consulte grupos de recursos.
Tag Settings
Selecione ou insira uma chave de tag e um valor de tag completos para adicionar uma tag ao pacote de implantação. É possível vincular até 20 tags a um recurso. Se não houver chaves ou valores disponíveis, crie uma tag personalizada. Para mais informações, consulte Criar e vincular uma tag personalizada.
-
Configure o pacote de implantação de Helm chart.
Na seção Deployment Package Content, defina Deployment Package Type como Helm chart.
-
Clique em Obtain Access Credential para obter uma chave temporária para o namespace. Em seguida, execute os comandos fornecidos no terminal.
Na aba Helm chart, a página exibe um processo de três etapas. Etapa 1: faça login no repositório de imagens executando o comando
helm registry login. Etapa 2: aplique a tag ao chart e envie-o para o repositório de imagens. Etapa 3: insira o nome do chart, por exemplo,chart-name, e execute o comandohelm push chart-name.tgz oci://xxxpara concluir o envio. Após enviar o Helm chart para o repositório ACR do Compute Nest, selecione o chart recém-enviado e clique em Publish Deployment Package.
-
Visualize o pacote de implantação.
Retorne à página Service Deployment Package. Clique no nome do seu pacote de implantação para abrir a página Deployment Package Details e verificar o progresso da criação.
Quando o status mudar para Available, o pacote de implantação estará pronto para uso.
Usar um pacote de Helm chart****
Esta seção explica como usar um pacote de implantação de Helm chart, tomando como exemplo a criação de um serviço privado.
Faça login no console do Compute Nest.
No painel de navegação à esquerda, clique em My Services. Na aba Created Services da página My Services, clique em Create Service.
Na página Create New Service, selecione Custom launch como método de criação, escolha Private Service como tipo de serviço e clique em Next: Configure Settings.
-
Insira as informações básicas do serviço e forneça um modelo ROS.
No modelo ROS do serviço, adicione o placeholder do pacote de implantação de Helm chart
{{ computenest::helmchart::test}}e o placeholder do segredo de pull{{ computenest::helm::dockerconfigjson}}. -
Na seção Deployment Package Association, configure o campo Associate Helm. Clique em Select Deployment Package, escolha o pacote de implantação e a versão desejados na caixa de diálogo e clique em OK para associá-lo ao placeholder.
A caixa de diálogo exibe o Association identifier em um formato como
{{ computenest::helmchart::wordpress }}. Apenas pacotes de implantação de Helm chart podem ser selecionados. Após concluir a associação, a seção Helm Association na parte inferior da página exibirá o mapeamento entre o identificador de associação e o pacote de implantação associado. Depois de criar e testar o serviço com êxito, verifique-o conforme os critérios de revisão do Compute Nest e envie-o para aprovação. Para mais detalhes sobre os critérios, consulte Critérios de revisão.
-
Após a criação do serviço, visualize a associação do pacote de implantação na página de detalhes do serviço.
Na página de detalhes do serviço, clique na aba Deployment Association e, em seguida, na subaba Helm Association. Visualize o identificador de associação (por exemplo,
{{ computenest::helmchart::wordpress }}), bem como as informações do pacote de implantação correspondente e o número da versão.
Documentos relacionados
Para mais informações sobre a criação de serviços, consulte Criar um serviço.
Quando um pacote de implantação ou uma de suas versões deixar de ser necessário, exclua-o. Para mais informações, consulte Excluir um pacote de implantação.
Para alterar o conteúdo ou outras informações de um pacote de implantação, crie uma nova versão. Para mais detalhes, consulte Criar uma nova versão.
Para definir configurações de atualização de um pacote de implantação, consulte Configurar atualizações de serviço.