我们曾经使用普通的kubectl命令来部署kubernetes资源,以用于服务,部署,configmap等。现在我们需要开始使用Helm 3并将其集成到我们的管道中,但是当我尝试运行helm upgrade命令时,出现以下错误:Error: rendered manifests contain a resource that already exists. Unable to continue with install: existing resource conflict: namespace: default
因此,这些资源从未使用helm创建,因为通常是使用kubcetl apply命令创建的。
只需知道如何在管道中使用Helm,而无需重新创建k8s资源。我发现唯一可行的解决方法是删除资源,然后使用Helm重新部署。
下面是我尝试的命令:helm upgrade --atomic --debug --install --force test .
谢谢,艾莉
老实说,当您寻找FL3SH的答案时,最好的选择是删除您的k8s资源。有一些例外:
您可以添加所有头盔标签/注释。您可以使用helm template
检查所有头盔标签和花药成分。然后,您可以使用kubectl label
或kubectl annotate
添加缺少的标签/注释。
我个人从未尝试过,因为工作量太大,最后,如果它们由部署/状态集管理,则必须用新标签重新创建容器。