Despliegue de una aplicación a través del cliente de Helm v2
CCE ha cambiado gradualmente a Helm v3 desde septiembre de 2022. Los gráficos de Helm v2 ya no son compatibles con la consola. Si no puede cambiar a Helm v3 por ahora, puede usar el cliente de Helm v2 para gestionar los gráficos de Helm v2 en segundo plano.
Requisitos previos
El clúster de Kubernetes creado en CCE se ha conectado a kubectl. Para obtener más información, véase Uso de kubectl.
Precauciones
CCE intentará convertir las versiones v2 a v3. Si elimina una versión de Helm v2 en segundo plano, la información de la versión todavía se muestra en la página de gráficos de la consola de CCE. En este caso, elimínelo.
Instalación de Helm v2
Esta sección utiliza Helm v2.17.0 como ejemplo.
Para otras versiones, visite https://github.com/helm/helm/releases.
- Descargue el cliente Helm desde la máquina virtual conectada al clúster.
wget https://get.helm.sh/helm-v2.17.0-linux-amd64.tar.gz
- Descomprima el paquete Helm.
tar -xzvf helm-v2.17.0-linux-amd64.tar.gz
- Copie Helm en la ruta del sistema, por ejemplo, /usr/local/bin/helm.
mv linux-amd64/helm /usr/local/bin/helm
- RBAC está habilitado en el servidor de API de Kubernetes. Por lo tanto, debe crear el nombre de cuenta de servicio tiller para el timón y asignar cluster-admin, un ClusterRole de sistema, al timón. Cree una cuenta de recursos de timón de la siguiente manera:
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
- Despliegue la cuenta de recursos de timón.
kubectl apply -f tiller-rbac.yaml
- Inicialice el Helm y despliegue el pod del timón.
helm init --service-account tiller --skip-refresh
- Consulte el estado.
kubectl get pod -n kube-system -l app=helm
Salida del comando:
NAME READY STATUS RESTARTS AGE tiller-deploy-7b56c8dfb7-fxk5g 1/1 Running 1 23h
- Consulte la versión 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"}
Instalación del gráfico Helm
Si los gráficos proporcionados por CCE no cumplen con los requisitos, descargue un gráfico e instálelo.
- Descargue y descomprima el gráfico obtenido. Generalmente, el gráfico está en formato ZIP.
unzip chart.zip
- Instale el gráfico de Helm.
helm install aerospike/
- Una vez completada la instalación, ejecute el comando helm list para comprobar el estado de las versiones de gráficos.
Problemas comunes
- Aparece el siguiente mensaje de error después de ejecutar el 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
La información anterior se muestra porque el socat no está instalado. Ejecute el siguiente comando para instalar el socat:
yum install socat -y
- Cuando ejecuta el comando yum install socat –y en un nodo que ejecuta EulerOS 2.9 y se muestra el siguiente mensaje de error:
No hay coincidencia para el argumento: socat
Error: no se puede encontrar una coincidencia: socat
Esto indica que la imagen de socat no está contenida. Descargue el paquete RPM de https://repo.huaweicloud.com/openeuler/openEuler-20.03-LTS-SP3/everything/x86_64/Packages/socat-1.7.3.2-8.oe1.x86_64.rpm y ejecute el siguiente comando para instalar socat:
rpm -i socat-1.7.3.2-8.oe1.x86_64.rpm
- Cuando se ha instalado el socat y se muestra el siguiente mensaje de error después de ejecutar el 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
El gráfico Helm lee el certificado de configuración del archivo .Kube/config para comunicarse con Kubernetes. El error anterior indica que la configuración de kubectl es incorrecta. En este caso, vuelva a conectar el clúster a kubectl. Para obtener más información, véase Uso de kubectl.
- El almacenamiento no se crea después de que se haya conectado a los servicios de almacenamiento en la nube.
Este problema puede ser causado por el campo annotation en el PVC creado. Cambie el nombre del gráfico e instale el gráfico de nuevo.
- Si kubectl no está configurado correctamente, se muestra el siguiente mensaje de error después de ejecutar el 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
Solución: Configurar kubeconfig para el nodo. Para obtener más información, véase Uso de kubectl.