运行helm install
(头盔3.0.2)时
我收到以下错误:错误:
rendered manifests contain a resource that already exists. Unable to continue with install: existing resource conflict: kind: PodSecurityPolicy, namespace: , name: po-kube-state-metrics
但是我找不到它,并且在无法获得ns的错误中,我该如何删除它?
运行kubectl get all --all-namespaces
时,我看到了所有资源,但没有看到po-kub-state-metrics
……其他资源也发生了,有什么想法吗?
我对monitoring-grafana
实体和的结果有相同的错误
kubectl get PodSecurityPolicy --all-namespaces
是:
monitoring-grafana false RunAsAny RunAsAny RunAsAny RunAsAny false configMap,emptyDir,projected,secret,do
答案 0 :(得分:2)
我的案例能够使用--force成功升级我的版本
if($_GET['g1'] == "no")
//Norwegian language
else if($_GET['g1'] == "about-us")
//About us page
else
//Page doesn't exist
如果您使用不同的发行版,则这将对相同的发行版有所帮助。从现在起,Helmv3.x尚无CRD选项,请为冲突的资源选择其他名称-在Helmv3.x中删除了skip-crds >
答案 1 :(得分:2)
在部署Istio时遇到了同样的问题。所以我做到了
kubectl get clusterrole
kubectl get clusterrolebinging
kubectl delete mutatingwebhookconfiguration istio-sidecar-injector
kubectl delete validatingwebhookconfiguration istio-galley
kubectl delete namespace <istio-namespace>
,然后全部删除并开始运行。
答案 2 :(得分:1)
首先,在重新安装之前,您需要确保已成功卸载头盔release
。
要列出所有版本,请使用:
$ helm list --all --all-namespaces
要卸载发行版,请使用:
$ helm uninstall <release-name> -n <namespace>
如果卸载不能解决问题,则可以尝试使用以下命令进行清理:
$ helm template <NAME> <CHART> --namespace <NAMESPACE> | kubectl delete -f -
示例:
$ helm template happy-panda stable/mariadb --namespace kube-system | kubectl delete -f -
现在,尝试重新安装。
更新:
让我们考虑您的图表名称为mon
,而发布名称为po
。由于您位于图表目录(.
)中,如下所示:
.
├── mon
│ ├── Chart.yaml
│ ├── README.md
│ ├── templates
│ │ ├── one.yaml
│ │ ├── two.yaml
│ │ ├── three.yaml
│ │ ├── _helpers.tpl
│ │ ├── NOTES.txt
│ └── values.yaml
然后,您可以在helm template
命令中跳过头盔仓库名称(即稳定版)。 Helm
将使用目录中的mon
图表。
$ helm template po mon --namespace mon | kubectl delete -f -
答案 3 :(得分:0)
我对CRD对象有同样的错误。我在Github上使用了这张图表,为了防止出现此错误,我可以使用--skip-crds标志。也许您正在使用的项目具有类似的功能。 https://github.com/helm/charts/tree/master/incubator/sparkoperator#configuration
答案 4 :(得分:0)
--force
或其他选项也无济于事。这是我遇到的错误。
Release "develop-myrelease" does not exist. Installing it now.
Error: rendered manifests contain a resource that already exists. Unable to continue with install: existing resource conflict: namespace: , name: develop-myrelease, existing_kind: rbac.authorization.k8s.io/v1beta1, Kind=ClusterRoleBinding, new_kind: rbac.authorization.k8s.io/v1beta1, Kind=ClusterRoleBinding
所以我只删除clusterrolebinding及其工作。
kubectl get clusterrolebinding | grep develop-myrelease
kubectl delete clusterrolebinding develop-myrelease
然后再次运行部署。
答案 5 :(得分:0)
如果您要升级到 helm 3,请确保可以分别运行 helm 2 和 helm 3。示例
helm2 list
helm3 list
此后,如果您尝试在 helm 3 中安装 helm chart,则会弹出该错误,因为它存在于 helm 2 中。
使用 helm2to3 插件升级到 Helm3: https://helm.sh/blog/migrate-from-helm-v2-to-helm-v3
我完全遵循这一点,我没有遇到任何问题
答案 6 :(得分:0)