Implante e gerencie aplicações do ACK empacotando recursos do Kubernetes em Helm Charts reutilizáveis.
Crie uma aplicação Helm
Este exemplo implanta uma aplicação Dify pelo console do ACK. O cluster deve ter pelo menos 2 núcleos de vCPU e 4 GB de memória disponíveis.
-
Crie as StorageClasses do Container Network File System (CNFS) e do Network Attached Storage (NAS) para o Dify.
Faça login no console do ACK e acesse a página Clusters. Clique em o cluster desejado e escolha no painel de navegação à esquerda.
-
Na página StorageClasses, clique em Create from YAML. Cole o YAML abaixo no modelo e clique em Create.
Se já existir um recurso com o mesmo nome, as StorageClasses CNFS e NAS já foram criadas. Prossiga com a implantação da aplicação. A criação de um sistema de arquivos NAS gera custos. Consulte Faturamento do NAS .
apiVersion: storage.alibabacloud.com/v1beta1 kind: ContainerNetworkFileSystem metadata: name: cnfs-nas-filesystem spec: description: "cnfs" type: nas reclaimPolicy: Retain # Only Retain is supported. Deleting the CNFS will not delete the backend NAS instance. --- apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: alibabacloud-cnfs-nas mountOptions: - nolock,tcp,noresvport - vers=3 parameters: volumeAs: subpath # Each persistent volume claim (PVC) will create a separate subdirectory in the NAS file system. containerNetworkFileSystem: cnfs-nas-filesystem # Associates with the CNFS instance defined above. path: "/" provisioner: nasplugin.csi.alibabacloud.com reclaimPolicy: Retain allowVolumeExpansion: true # Optional: Set to true to allow volume expansion for directory quotas.
-
Implante a aplicação Dify.
Na página de detalhes do cluster, escolha no painel de navegação à esquerda. Na página Helm, clique em Deploy.
Basic Information: Na seção Chart, pesquise e selecione
ack-dify.Parameters: Em Chart Version, selecione a versão mais recente.
-
Acesse a aplicação Dify.
-
Exponha o serviço
ack-difyna internet pública.O acesso público serve apenas para demonstração. Em produção, utilize controle de acesso para proteger os dados da sua aplicação.
Acesse e selecione o namespace
dify-system. Localize o serviço chamadoack-dify, clique em Update, configure os itens a seguir e clique em OK.Service Type : clique em SLB .
Access Method: selecione Public Access.
VSwitch: selecione os vSwitches apropriados para as zonas de disponibilidade da sua Virtual Private Cloud (VPC).
-
Acesse a aplicação Dify.
Copie o endereço External IP e abra-o no navegador para acessar o Dify.
-
Gerencie aplicações Helm
Gerencie as aplicações implantadas na página Helm do console.
|
Ação |
Descrição |
|
Visualize |
Clique em o nome da aplicação ou em Details para visualizar recursos, manifesto YAML e histórico de releases. |
|
Atualizar |
Clique em Update. No painel Update Release, modifique os parâmetros conforme necessário e clique em OK. Importante
Atualizações podem causar reinicializações de serviços ou problemas funcionais. Avalie o impacto antes de fazer alterações e atualize fora dos horários de pico. |
|
Excluir |
Clique em Delete. Na caixa de diálogo Delete, selecione Clear Release Records e clique em OK para excluir a aplicação e seus recursos, como Services e Deployments. Excluir a aplicação Dify não remove os recursos de backend do NAS. Exclua manualmente o sistema de arquivos NAS. Importante
Se você não selecionar Clear Release Records, o nome da aplicação será preservado. A implantação de outra aplicação com o mesmo nome falhará. |
FAQ
Como implanto uma aplicação de terceiros usando a CLI do Helm?
Caso os Charts do ACK não atendam às suas necessidades, use a CLI do Helm para implantar aplicações.
-
Conecte-se ao seu cluster.
Cloud-based
Conecte clusters com kubectl no Workbench ou CloudShell.
A CLI baseada em navegador da Alibaba Cloud já inclui o Helm pré-instalado. Nenhuma configuração adicional é necessária.
Local machine
-
curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash
-
Adicione um repositório de Charts.
Substitua
REPO_NAMEpelo alias do repositório eREPO_URLpela URL correspondente .helm repo add REPO_NAME REPO_URL -
Atualize as informações do repositório local.
helm repo update -
Implante a aplicação de terceiros.
Substitua
APP_NAMEpelo nome da sua aplicação eCHART_NAMEpelo nome do chart.helm install APP_NAME REPO_NAME/CHART_NAME
Consulte a documentação oficial do Helm para mais comandos.
Por que não consigo excluir uma aplicação Helm?
Sintomas
No console, a aplicação Helm permanece no estado "Uninstalling" por muito tempo.
-
O comando
helm uninstallfalha com um erro semelhante a:no matches for kind "***" in version "***" ensure CRDs are installed first
Causa
Isso geralmente ocorre quando uma atualização de cluster remove uma versão de API usada por um recurso do chart Helm. A desinstalação falha porque a versão de API especificada não existe mais.
Consulte o Guia de Migração de APIs Obsoletas para verificar as APIs obsoletas em cada versão do Kubernetes.
Solução
-
Use o plugin helm-mapkubeapis para mapear APIs obsoletas para versões suportadas e, em seguida, exclua a aplicação.
Substitua
RELEASE_NAMEeNAMESPACEpelo nome e namespace da sua aplicação Helm.helm plugin install https://github.com/helm/helm-mapkubeapis helm mapkubeapis RELEASE_NAME -n NAMESPACEUma mensagem
...completed successfullyconfirma que as versões de API foram mapeadas. -
Desinstale a aplicação novamente.
helm uninstall RELEASE_NAME -n NAMESPACEA saída
release "***" uninstalledconfirma que a aplicação Helm foi excluída.
Referências
Migre do Helm V2 para o Helm V3 para obter maior segurança e os recursos mais recentes.
O Container Registry Enterprise Edition suporta envio e recebimento de Helm Charts.