
# 创建或升级模板失败，提示rendered manifests contain a resource that already exists
#### 问题现象
创建或升级模板失败，提示"Create release by helm failed: rendered manifests contain a resource that already exists. Unable to continue with install: ..."的错误。
由于CCE插件通过模板进行安装，因此安装或升级插件时，同样可能出现上述相同错误。
#### 问题原因
该报错内容说明集群中已存在与模板/插件相关的残留资源，通常是由于以下原因导致：
- 模板资源（如 release）从后台被误删或异常删除。
- 模板安装的命名空间被直接删除，导致资源残留。
- 集群中存在与模板组件同名的资源且无helm v3的归属标记"app.kubernetes.io/managed-by: Helm"。
 
#### 解决方案
通过kubectl对接集群，手动删除相关报错资源，并重新安装模板或插件。
1. 查看报错内容，确认产生冲突的资源。请您关注"Unable to continue with install:"后的信息。 
   例如：
   ```
   create release failed: create release failed {"error":{"message":"Create release by helm failed:rendered manifests contain a resource that already exists. Unable to continue with install: ClusterRole \"cceaddon-nginx-ingress\" in namespace \"\" exists and cannot be imported into the current release: invalid ownership metadata; annotation validation error: key \"meta.helm.sh/release-namespace\" must equal \"kube-system\": current value is \"example\"","code":"SVCSTG.CCECAM.5000208"}}
   ```
   - **冲突资源**：ClusterRole，名称为 cceaddon-nginx-ingress，命名空间为空（ClusterRole 是非命名空间级别资源）。
   
   - **冲突字段** ：metadata.annotations.meta.helm.sh/release-namespace。
     - **预期值**：kube-system
     
     - **实际值**：example
      
   
   
   
   
2. 执行以下kubectl命令删除集群中的冲突资源。此处仅为示例，请根据实际报错信息中的资源进行删除。 
   ```
   kubectl delete clusterRole cceaddon-nginx-ingress
   ```
   
   
3. 解决资源冲突后，尝试重新安装模板或插件。若还有冲突提示，请重复以上步骤。
 
