当前位置: 首页 > 知识库问答 >
问题:

舵图中吊舱间的依赖关系

慕烨烁
2023-03-14

当我将触发helm install命令时,helm将读取所有的yml,因此将尝试一次部署所有的pods,这是我不想要的。我希望我的工作首先成功,然后只有其他的吊舱应该开始部署。当作业正在运行时,所有其他POD都应该等待或不应该启动,因为它们都依赖于作业的成功。

我怎样才能用Helm完成这个案子。请建议。我如何让其他豆荚等待,让他们知道工作已经成功地完成了。

共有1个答案

万俟穆冉
2023-03-14

您正在寻找舵钩:

Helm提供了一个钩子机制,允许图表开发人员在发行版生命周期的某些点进行干预。例如,您可以使用钩子:

  • 在安装期间加载ConfigMap或Secret,然后再加载任何其他图表。
  • 在安装新图表之前执行备份数据库的作业,然后在升级后执行第二个作业以还原数据。
  • 在删除发行版之前运行作业,以便在删除服务之前使其退出循环。
metadata:
  annotations:
    "helm.sh/hook": "pre-install"
metadata:
  annotations:
    "helm.sh/hook": "pre-install, pre-upgrade"
 类似资料:
  • 我正在考虑有一个init容器,在运行第二个pod之前定期检查第一个pod的就绪探测(不确定是否可以这样做)?不确定--请给我点子...

  • 我有一个“大”微服务(网站),在production env中部署了3个POD和Helm Chart,但当我部署新版本的Helm Chart时,在40秒内(启动我的大微服务的时间),我的网站出现问题 我尝试了,但它对我不起作用。 我的EKS版本:“V1.14.6-EKS-5047ED”

  • 我创建了一个有2个节点的kubernetes集群(GCP GKE)。我为druid(端口2181)设置了zookeeper我工作得很好,但是,我想在同一个集群中部署kafka pod。所以我使用helm,但是当我在脚本values.yaml末尾更改端口时,我运行helm upgrade如下所示 并使用

  • 试图在kubernetes上进入istio,但似乎我缺少了一些基础知识,或者我正在做一些背靠背的事情。我对kubernetes很有经验,但istio及其虚拟服务让我有点困惑。 我创建了2个部署(helloworld-v1/helloworld-v2)。两者具有相同的图像,唯一不同的是环境变量 - 输出版本:“v1”或版本:“v2”。我正在使用我编写的一个小测试容器,它基本上返回我进入应用程序的标头

  • 假设有以下目录结构: 即。依赖于,依赖于这两者。(我知道静态库在技术上不“链接”,但这只是一个例子。) 问题是,在当前的设置中,lib1会编译两次--第一次在“test”构建目录中,第二次在“test/build_directory/lib2/build_directory”中。我想避免这种情况。 顶级的cmakelists.txt文件不是一个选项,因为我希望保持一个干净的顶级目录,并且能够在其他