将Helm 3用于通过kubectl部署的现有资源

问题描述 投票:0回答:2

我们曾经使用普通的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 .

谢谢,艾莉

kubernetes kubernetes-helm aws-eks eks
2个回答
2
投票

老实说,当您寻找FL3SH的答案时,最好的选择是删除您的k8s资源。有一些例外:

  1. 您的头盔图表正在尝试创建名称空间(例如,默认名称)
  2. 您的部署不能在任何时候关闭
  3. 您的头盔图表具有持续的批量声明

0
投票

您可以添加所有头盔标签/注释。您可以使用helm template检查所有头盔标签和花药成分。然后,您可以使用kubectl labelkubectl annotate添加缺少的标签/注释。

我个人从未尝试过,因为工作量太大,最后,如果它们由部署/状态集管理,则必须用新标签重新创建容器。

© www.soinside.com 2019 - 2024. All rights reserved.