Este conteúdo foi traduzido por máquina para sua conveniência e a Huawei Cloud não pode garantir que o conteúdo foi traduzido com precisão. Para exibir o conteúdo original, use o link no canto superior direito para mudar para a página em inglês.
Central de ajuda/ Cloud Container Engine/ Guia de usuário/ Gráfico do Helm/ Implementação de uma aplicação através do cliente de Helm v2
Atualizado em 2024-11-28 GMT+08:00

Implementação de uma aplicação através do cliente de Helm v2

O CCE mudou gradualmente para o Helm v3 desde setembro de 2022. Os gráficos de Helm v2 não são mais suportados no console. Se você não pode mudar para Helm v3 por enquanto, você pode usar o cliente de Helm v2 para gerenciar gráficos de Helm v2 em segundo plano.

Pré-requisitos

O cluster do Kubernetes criado no CCE foi conectado ao kubectl. Para mais detalhes, consulte Usar o kubectl.

Precauções

O CCE tentará converter releases de v2 para v3. Se você excluir um release do Helm v2 em segundo plano, as informações de release ainda serão exibidas na página de gráficos no console do CCE. Nesse caso, exclua-o.

Instalar Helm v2

Esta seção usa o Helm v2.17.0 como um exemplo.

Para outras versões, visite https://github.com/helm/helm/releases.

  1. Faça download do cliente de Helm da VM conectada ao cluster.

    wget https://get.helm.sh/helm-v2.17.0-linux-amd64.tar.gz

  2. Descomprima o pacote de Helm.

    tar -xzvf helm-v2.17.0-linux-amd64.tar.gz

  3. Copie o Helm para o caminho do sistema, por exemplo, /usr/local/bin/helm.

    mv linux-amd64/helm /usr/local/bin/helm

  4. O RBAC está habilitado no servidor de API do Kubernetes. Crie o nome da conta de serviço tiller do tiller e atribua cluster-admin, um ClusterRole do sistema, ao tiller. Crie uma conta de recurso de tiller da seguinte forma:

    vim tiller-rbac.yaml
    apiVersion: v1
    kind: ServiceAccount
    metadata:
      name: tiller
      namespace: kube-system
    ---
    apiVersion: rbac.authorization.k8s.io/v1
    kind: ClusterRoleBinding
    metadata:
      name: tiller
    roleRef:
      apiGroup: rbac.authorization.k8s.io
      kind: ClusterRole
      name: cluster-admin
    subjects:
      - kind: ServiceAccount
        name: tiller
        namespace: kube-system

  5. Implemente a conta de recurso do tiller.

    kubectl apply -f tiller-rbac.yaml

  6. Inicialize o Helm e implementar o pod de tiller.

    helm init --service-account tiller --skip-refresh

  7. Consulte o status.

    kubectl get pod -n kube-system -l app=helm

    Saída do comando:

    NAME                             READY   STATUS    RESTARTS   AGE
    tiller-deploy-7b56c8dfb7-fxk5g   1/1     Running   1          23h

  8. Consulte a versão do Helm.

    # helm version
    Client: &version.Version{SemVer:"v2.17.0", GitCommit:"a690bad98af45b015bd3da1a41f6218b1a451dbe", GitTreeState:"clean"}
    Server: &version.Version{SemVer:"v2.17.0", GitCommit:"a690bad98af45b015bd3da1a41f6218b1a451dbe", GitTreeState:"clean"}

Instalar o gráfico do Helm

Se os gráficos fornecidos pelo CCE não atenderem aos requisitos, baixe um gráfico e instale-o.

Você pode obter o gráfico necessário no diretório stable neste site, baixar o gráfico e enviá-lo para o nó.
  1. Baixe e descomprima o gráfico obtido. Geralmente, o gráfico está no formato ZIP.
    unzip chart.zip
  2. Instale o gráfico de Helm.
    helm install aerospike/
  3. Após a conclusão da instalação, execute o comando helm list para verificar o status dos releases do gráfico.

Problemas comuns

  • A seguinte mensagem de erro é exibida após a execução do comando helm version:
    Client:
    &version.Version{SemVer:"v2.17.0",
    GitCommit:"a690bad98af45b015bd3da1a41f6218b1a451dbe", 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 e a seguinte mensagem de erro é exibida:

    No match for argument: socat

    Error: Unable to find a match: socat

    Isso indica que a imagem de socat não está contida. Baixe o pacote RPM do https://repo.huaweicloud.com/openeuler/openEuler-20.03-LTS-SP3/everything/x86_64/Packages/socat-1.7.3.2-8.oe1.x86_64.rpm e execute o seguinte comando para instalar o socat:

    rpm -i socat-1.7.3.2-8.oe1.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:
    test@local:~/k8s/helm/test$ 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 do arquivo .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:
    [root@prometheus-57046 ~]# 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.