【问题标题】:Best practises for helm kubernetes deployment pipeline in a development environment?开发环境中 helm kubernetes 部署管道的最佳实践?
【发布时间】:2021-01-25 05:52:04
【问题描述】:

这些是我迄今为止发现的 helm 部署的最佳实践:

  1. 使用版本化映像,因为通过 latest 标签部署是不够的,因为这可能不会触发 pod 重新创建(请参阅When does kubernetes helm trigger a pod recreate?)。
  2. 使用散列的 configmap 元数据在 configmap 更改时重新启动 pod (见https://helm.sh/docs/howto/charts_tips_and_tricks/

在开发环境中,经常会创建新图像。因为我不想破坏我的容器注册表,所以我更喜欢使用最新的标签。

我能想到的唯一解决方案是使用版本化映像和清理作业从注册表中删除旧映像。但这很复杂。

那么,您在开发环境中部署 helm 的最佳做法是什么?

【问题讨论】:

  • 我认为重命名主题很好,因为它会反映有关图像的问题,使用最新标签并进行清理。

标签: kubernetes kubernetes-helm


【解决方案1】:

确实,使用:latest 意味着您的部署将是可变的。

AWS ECR 允许您根据特定的正则表达式保留有限数量的最新图像。因此,您可以为非生产部署使用 dev- 前缀(例如在 master 分支之外触发),并且只保留其中的 10 个最新版本。

【讨论】:

  • 不幸的是,天蓝色(我在当前项目中使用的)没有正则表达式的策略。但对于 AWS 来说,这当然是一件好事。谢谢!
  • 看起来在 Azure 中也有脚本删除旧图像的方法,看看:github.com/MicrosoftDocs/azure-docs/blob/master/articles/…
  • 脚本看起来很有希望。我会检查这个,谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-02-11
  • 1970-01-01
  • 2010-09-06
  • 1970-01-01
  • 2011-01-15
  • 1970-01-01
相关资源
最近更新 更多