gpt4 book ai didi

kubernetes - 如何让预安装钩子(Hook)等待前一个钩子(Hook)完成?

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

我有 2 个应该按顺序运行的预安装脚本。
它们的重量明显不同
第二个脚本必须有第一个才能完成运行。
反正有没有让 helm 支持这种行为?

而且为了奖励点,您可以制作一个预安装 Hook 来阻止直到对象准备好?

场景如下:

您有一个数据库和一个应用程序。

设置是:

  • 创建数据库(部署),
  • 创建数据库(服务),
  • 运行了一个在该数据库(作业)上创建所有数据库用户的脚本
  • 启动应用程序服务器(部署)。
  • 最佳答案

    首先,您需要设置hook weights适本地。例如:

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

    Hook weights can be positive or negative numbers but must be represented as strings. When Tiller starts the execution cycle of hooks of a particular kind (ex. the pre-install hooks or post-install hooks, etc.) it will sort those hooks in ascending order.



    根据 Hooks and release lifecycle ,默认情况下,Tiller 会等到一个钩子(Hook)变为“就绪”后再执行下一个钩子(Hook)。问题是:处理由钩子(Hook)管理的脚本时,您需要将资源创建为 Job :

    What does it mean to wait until a hook is ready? This depends on the resource declared in the hook. If the resources is a Job kind, Tiller will wait until the job successfully runs to completion. And if the job fails, the release will fail. This is a blocking operation, so the Helm client will pause while the Job is run.



    如果要运行依赖于准备就绪的数据库或应用程序的作业,最好使用 Hook 作为 post-install ,结合 --wait 旗帜。设置此标志后,Tiller 将等待直到所有发布资源都已部署并处于就绪状态,并且不会运行 post-install钩,直到他们准备好。

    关于kubernetes - 如何让预安装钩子(Hook)等待前一个钩子(Hook)完成?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58581612/

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