gpt4 book ai didi

kubernetes - Helm 图表部署顺序

转载 作者:行者123 更新时间:2023-12-02 11:39:14 27 4
gpt4 key购买 nike

我创建了一个包含 2 个 podPreset 和 2 个部署的新图表,当我运行 helm install 时,首先创建部署(pod)对象,然后创建 podPresets,因此我的 podPreset 值未应用于 pod,但是当我手动首先创建 podPreset,然后部署正确应用预设,有没有一种方法可以在 helm 中指定应该首先创建哪个对象。

最佳答案

将其发布为社区 Wiki 以获得更好的可见性,因为答案已在@Rastko 做出的另一个答案下方的评论中提供。

PodPresents

A Pod Preset is an API resource for injecting additional runtime requirements into a Pod at creation time. Using a Pod Preset allows pod template authors to not have to explicitly provide all information for every pod. This way, authors of pod templates consuming a specific service do not need to know all the details about that service.

更多信息请查看official docs .

在 Helm 中部署对象的顺序

部署顺序在 Helm 中硬编码。列表可见here .

此外,如果资源不在列表中,它将作为最后一个执行。

从评论中回答问题*

Answer to your question - To achieve order different then default one, you can create two helm charts in which one with deployments is executed afterwards with preinstall hook making sure that presets are there.

Pre-install hook annotation 允许在渲染模板之后,但在创建任何资源之前执行。

Github 中提到了此解决方法线。服务示例:

apiVersion: v1
kind: Service
metadata:
name: foo
annotations:
"helm.sh/hook": "pre-install"

作为附加信息,可以为钩子(Hook)定义权重,这将有助于构建确定性的执行顺序。

  annotations:
"helm.sh/hook-weight": "5"

有关此注释的更多详细信息,请查看此 Stackoverflow qustion .

关于kubernetes - Helm 图表部署顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59012468/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com