Implementação de uma aplicação através do cliente de Helm v3
Pré-requisitos
O cluster do Kubernetes criado no CCE foi conectado ao kubectl. Para mais detalhes, consulte Usar o kubectl.
Instalar Helm v3
Esta seção usa o Helm v3.3.0 como um exemplo.
Para outras versões, visite https://github.com/helm/helm/releases.
- Faça download do cliente de Helm da VM conectada ao cluster.
wget https://get.helm.sh/helm-v3.3.0-linux-amd64.tar.gz
- Descomprima o pacote de Helm.
tar -xzvf helm-v3.3.0-linux-amd64.tar.gz
- Copie o Helm para o caminho do sistema, por exemplo, /usr/local/bin/helm.
mv linux-amd64/helm /usr/local/bin/helm
- Consulte a versão do Helm.
helm version version.BuildInfo{Version:"v3.3.0", GitCommit:"e29ce2a54e96cd02ccfce88bee4f58bb6e2a28b6", GitTreeState:"clean", GoVersion:"go1.13.4"}
Instalar o gráfico do Helm
Você pode usar o Helm para instalar um gráfico. Antes de usar o Helm, você pode precisar entender os seguintes conceitos para usar melhor o Helm:
- Gráfico: contém definições de recursos e um grande número de arquivos de configuração de aplicações de Kubernetes.
- Repositório: armazena gráficos compartilhados. Você pode baixar gráficos do repositório para um caminho local para instalação ou instalá-los on-line.
- Release: resultado da execução depois que um gráfico é instalado em um cluster do Kubernetes usando o Helm. Um gráfico pode ser instalado várias vezes em um cluster. Uma nova release será criada para cada instalação. Um gráfico MySQL é usado como exemplo. Para executar dois bancos de dados em um cluster, instale o gráfico duas vezes. Cada banco de dados tem sua própria release e nome de release.
Para obter mais detalhes, consulte Uso do Helm.
- Procure um gráfico no repositório do Artifact Hub recomendado pelo Helm e configure o repositório do Helm.
helm repo add {repo_name} {repo_addr}
A seguir, o gráfico de WordPress é usado como exemplo:helm repo add bitnami https://charts.bitnami.com/bitnami
- Execute o comando helm install para instalar o gráfico.
- Instalação padrão: este é o método mais simples, que requer apenas dois parâmetros.
helm install {release_name} {chart_name}
Por exemplo, para instalar o WordPress, o gráfico de WordPress adicionado no passo 1 é bitnami/wordpress, e o nome da release é my-wordpress.helm install my-wordpress bitnami/wordpress
- Instalação personalizada: a instalação padrão usa as configurações padrão no gráfico. Use instalação personalizada para configurações de parâmetros personalizadas. Execute o comando helm show values {chart_name} para exibir as opções configuráveis do gráfico. Por exemplo, para exibir os itens configuráveis do WordPress execute o seguinte comando:
helm show values bitnami/wordpress
Sobrescreva os parâmetros especificados executando os seguintes comandos:
helm install my-wordpress bitnami/wordpress \ --set mariadb.primary.persistence.enabled=true \ --set mariadb.primary.persistence.storageClass=csi-disk \ --set mariadb.primary.persistence.size=10Gi \ --set persistence.enabled=false
- Instalação padrão: este é o método mais simples, que requer apenas dois parâmetros.
- Exiba a release do gráfico instalado.
helm list
Problemas comuns
- A seguinte mensagem de erro é exibida após a execução do comando helm version:
Client: &version.Version{SemVer:"v3.3.0", GitCommit:"012cb0ac1a1b2f888144ef5a67b8dab6c2d45be6", GitTreeState:"clean"} E0718 11:46:10.132102 7023 portforward.go:332] an error occurred forwarding 41458 -> 44134: error forwarding port 44134 to pod d566b78f997eea6c4b1c0322b34ce8052c6c2001e8edff243647748464cd7919, uid : unable to do port forwarding: socat not found. Error: cannot connect to Tiller
As informações anteriores são exibidas porque o socat não está instalado. Execute o seguinte comando para instalar o socat:
yum install socat -y
- Quando você executa o comando yum install socat –y em um nó executando o EulerOS 2.9 ou EulerOS da Huawei Cloud, a seguinte mensagem de erro é exibida:
No match for argument: socat Error: Unable to find a match: socat
A imagem do nó não contém a imagem do socat. Baixe manualmente o gráfico RPM e execute o seguinte comando para instalá-lo:
rpm -i socat-1.7.3.2-8.oe1.x86_64.rpm
Faça o download do gráfico RPM da imagem socat em:
- EulerOS 2.9: https://repo.huaweicloud.com/openeuler/openEuler-20.03-LTS-SP3/everything/x86_64/Packages/socat-1.7.3.2-8.oe1.x86_64.rpm
- EulerOS 1.1 da Huawei Cloud: https://repo.huaweicloud.com/hce/1.1/os/x86_64/Packages/socat-1.7.3.2-2.hce1c.x86_64.rpm
- EulerOS 2.0 da Huawei Cloud: https://repo.huaweicloud.com/hce/2.0/os/x86_64/Packages/socat-1.7.3.2-8.hce2.x86_64.rpm
- Quando o socat tiver sido instalado e a seguinte mensagem de erro for exibida após a execução do comando helm version:
$ helm version Client: &version.Version{SemVer:"v3.3.0", GitCommit:"021cb0ac1a1b2f888144ef5a67b8dab6c2d45be6", GitTreeState:"clean"} Error: cannot connect to Tiller
O gráfico do Helm lê o certificado de configuração em .Kube/config para se comunicar com o Kubernetes. O erro anterior indica que a configuração do kubectl está incorreta. Nesse caso, reconecte o cluster ao kubectl. Para mais detalhes, consulte Usar o kubectl.
- O armazenamento falha ao ser criado depois que você se conecta aos serviços de armazenamento em nuvem.
Esse problema pode ser causado pelo campo annotation na PVC criada. Altere o nome do gráfico e instale-o novamente.
- Se o kubectl não estiver configurado corretamente, a seguinte mensagem de erro será exibida após a execução do comando helm install:
# helm install prometheus/ --generate-name WARNING: This chart is deprecated Error: Kubernetes cluster unreachable: Get "http://localhost:8080/version?timeout=32s": dial tcp [::1]:8080: connect: connection refused
Solução: configure kubeconfig para o nó. Para mais detalhes, consulte Usar o kubectl.