使用 Helm 3 来部署通过 kubectl 部署的现有资源

2023-11-25

我们过去使用普通的 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 创建,因为它通常是使用 kubectl apply 命令创建的。

只需要知道如何在管道中使用 Helm,而无需重新创建 k8s 资源。我发现让它正常工作的唯一解决方法是删除资源并使用 Helm 重新部署它们。

下面是我尝试过的命令:helm upgrade --atomic --debug --install --force test .

谢谢, 阿里


看看helm3的这个功能使用正确的实例和管理标签将资源采用到版本中

如果现有资源具有正确的 meta.helm.sh/release-name 和 meta.helm.sh/release-namespace 注释,并且与标签匹配,则在尝试创建目标集群中已存在的资源时,Helm 将不再出错选择器 app.kubernetes.io/management-by=Helm。这有助于零停机迁移到 Helm 3 以管理现有部署,并允许 Helm “采用”之前创建的现有资源。

为了允许 Helm 采用现有资源,请添加发布元数据和管理者标签:

KIND=deployment
NAME=my-app-staging
RELEASE=staging
NAMESPACE=default
kubectl -n $NAMESPACE annotate $KIND $NAME meta.helm.sh/release-name=$RELEASE
kubectl -n $NAMESPACE annotate $KIND $NAME meta.helm.sh/release-namespace=$NAMESPACE
kubectl -n $NAMESPACE label $KIND $NAME app.kubernetes.io/managed-by=Helm
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Helm 3 来部署通过 kubectl 部署的现有资源 的相关文章

随机推荐

  • 将 UIImage 剪成圆形

    我想剪一个UIImage成一个圆圈 以便我可以将其用作注释 我在这个网站上找到的每个答案都描述了创建一个UIImageView 然后修改它并显示它 但你不能将注释的图像设置为UIImageView 只有一个UIImage 我该怎么办 Xco
  • Asp.Net MVC 生命周期[重复]

    这个问题在这里已经有答案了 可能的重复 与 ASP NET WebForms 相比 ASP NET MVC 页面的 页面生命周期 是怎样的 如果专家能够向我指出 ASP Net MVC 生命周期 我将不胜感激 我有兴趣知道一旦请求到来并发送
  • toSet 和类型推断

    有人可以解释为什么以下不起作用 当我这样做时 不知怎的会丢失编译类型推断的一些信息toSet 但我不明白为什么 scala gt case class Foo id Int name String defined class Foo sca
  • 如何在 Java 中填充数组?

    我知道如何正常执行此操作 但我可以发誓您可以填写如下 a 0 0 0 0 0 你是怎么做到的 我确实尝试过谷歌 但没有得到任何有用的信息 查看数组 fill方法 int array new int 4 Arrays fill array 1
  • 如何更改R中的矩阵列类型

    我有一个矩阵 我想将第五列类型从字符更改为数字 但我不能 我已经尝试过这个 test1 5 lt as numeric test1 5 但同样 列类是字符而不是数字 我应该怎么办 谢谢 就像 Marius所说 矩阵只能保存一种数据类型 您可
  • 在一个函数调用中向 R data.table 添加多列?

    我有一个返回列表中两个值的函数 这两个值都需要添加到 data table 的两个新列中 函数的评估成本很高 因此我想避免计算函数两次 这是例子 library data table example data table DT x y v
  • 如何使用 Xpath 1.0 比较字符串?

    我遇到了一个问题
  • 使用 SQL 查询进行 XML 解析

    我正在尝试解析 sql server 中的以下 xml 以获取所有 3 个 Id
  • 停止重复使用自定义单元 Swift

    我有一个uitableview使用从数组获取数据的自定义单元格 定制单元有一个uilabel and an uibutton 直到uilabel文本或为文本加载的数组对象 为零 启动时一切都很好 当我按下uibutton正在追加数组 新单元
  • DataAdapter:更新无法找到 TableMapping['Table'] 或 DataTable 'Table'

    此代码片段引发错误 更新无法在适配器上找到 TableMapping Table 或 DataTable Table Update ds 线 为什么它会抛出这种类型的错误 SqlConnection con new SqlConnectio
  • 无法从打印的 html 文件查看 gvisMotionChart

    当我将动态图表的代码保存到 html 文件并尝试打开它时 我看到页脚 并且 正在初始化 进度条闪烁了一瞬间 但没有显示任何其他内容 so M1 lt gvisMotionChart Fruits idvar Fruit timevar Ye
  • 如何从模板访问对象的属性?

    根据http handlebarsjs com expressions html 我应该能够做到这一点 h1 article title h1 但我似乎无法让它在流星中工作 这是我的模板
  • C# 中的数据透视表

    我需要在 net 中创建一个数据透视表 不能使用任何第三方控件 除非它是免费的 我试图找到解释如何创建数据透视表 算法或步骤 的文档 但几乎所有内容都与 Excel 相关 有谁知道如何在 C 中创建数据透视表 谢谢 在这里帮忙http ms
  • rabbitmq 队列上有多个消费者 - 只有一个消费者收到消息

    我实现了多个消费者 他们从单个队列中获取消息 我使用类似于这个例子 除了我正在无限循环中执行 basic get 进行轮询 知道如何防止所有消费者之间的竞争 因为只有一个消费者会收到消息 而另一个消费者将继续进行轮询 直到另一条消息到来为止
  • 在 R 中,如何用另一个字符串替换包含特定模式的字符串?

    我正在开展一个涉及清理大学专业数据列表的项目 我发现很多拼写错误 所以我想使用这个函数gsub 将拼写错误的拼写替换为正确的拼写 例如 假设 biolgy 在名为 Major 的专业列表中拼写错误 如何让 R 检测拼写错误并将其替换为正确的
  • 更新查询中具有多个匹配项的行

    给出如下更新语句 UPDATE UserAssesment SET AssessmentDate comp AssessmentDate FROM UserAssesment ua INNER JOIN vw CompletedAssess
  • 当输入路径中有方括号时,Get-ChildItem -Recurse 是否会损坏?

    好吧 所以我感觉是这样的must是 PowerShell 中的一个错误 但我想看看你们是否认为这听起来很糟糕 这是一件很容易重现的事情 但我可以理解为什么它可能不是一个特别常见的用例 我在下面列出的步骤实际上并不是我的脚本正在执行的操作 我
  • 打印数据框,列居中对齐

    我想打印一个数据框 其中列居中对齐 下面是我尝试过的 我认为打印数据框 test1 会导致列在中心对齐 但事实并非如此 关于我如何做到这一点有什么想法吗 test data frame x c 1 2 3 y c 5 6 7 names t
  • 使用别名模板时无法将 `std::unique_ptr` 分配给 clang 中的基类

    以下代码在 gcc 4 9 3 和 clang 3 7 1 上编译并运行得很好 std unique ptr include
  • 使用 Helm 3 来部署通过 kubectl 部署的现有资源

    我们过去使用普通的 kubectl 命令来部署 kubernetes 资源 用于服务 部署 configmap 等 现在我们需要开始使用 Helm 3 并将其集成到我们的管道中 但是当我尝试运行 helm Upgrade 命令时 出现以下错