¿Por qué falla la instalación del complemento y avisa "The release name is already exist"?
Síntoma
Cuando un complemento no se instala, se devuelve el mensaje de error "The release name is already exist".
Causa posible
El registro de la versión del complemento permanece en el clúster de Kubernetes. Generalmente, se debe a que el clúster etcd ha realizado una copia de respaldo y restaurado el complemento, o no se puede instalar o eliminar el complemento.
Solución
Utilice kubectl para conectarse al clúster y borre manualmente el Secret y Configmap correspondiente a la versión adicional. A continuación se utiliza la versión de complemento de autoescalador como ejemplo.
- Conéctese al clúster mediante kubectl y ejecute el siguiente comando para ver la lista secreta de versiones de complementos:
kubectl get secret -nkube-system |grep cceaddon
El nombre secreto de una versión adicional tiene el formato de sh.helm.release.v1.cceaddon-{add-on name}.v*. Si hay varias versiones de lanzamiento, puede eliminar sus secretos al mismo tiempo.
- Ejecute el comando release secret para eliminar los secretos.
Por ejemplo:
kubectl delete secret sh.helm.release.v1.cceaddon-autoscaler.v1 sh.helm.release.v1.cceaddon-autoscaler.v2 -nkube-system
- Si el complemento se crea cuando se utiliza Helm v2, CCE cambia automáticamente la versión v2 en Configmaps a la versión v3 en Secrets al ver los complementos y sus detalles. La versión v2 del Configmap original no se elimina. Ejecute el siguiente comando para ver la lista ConfigMap de versiones de complementos:
kubectl get configmap -nkube-system | grep cceaddon
El nombre de ConfigMap de una versión adicional tiene el formato de cceaddon-{add-on name}.v*. Si hay varias versiones de lanzamiento, puede eliminar sus ConfigMaps al mismo tiempo.
- Ejecute el comando release configmap para eliminar el ConfigMaps.
Por ejemplo:
kubectl delete configmap cceaddon-autoscaler.v1 cceaddon-autoscaler.v2 -nkube-system
Elimine los recursos en kube-system es una operación de alto riesgo. Asegúrese de que el comando es correcto antes de ejecutarlo para evitar que los recursos se eliminen por error.
- En la consola de CCE, instale el complemento y, a continuación, desinstálelo. Asegúrese de que los recursos adicionales residuales están borrados. Una vez completada la desinstalación, vuelva a instalar el complemento.
Al instalar el complemento por primera vez, es posible que se encuentre anormal después de la instalación debido a los recursos residuales de la versión anterior del complemento, que es normal. En este caso, puede desinstalar el complemento en la consola para asegurarse de que los recursos residuales se borran y el complemento puede ejecutarse correctamente después de volver a instalarlo.