helm 升级后挂钩在所有 Pod 升级之前运行

问题描述 投票:0回答:1

我对 helm 升级后钩子感到非常困惑。文档说:在升级所有资源后执行升级请求。

但我看到即使部署中的所有 Pod 尚未更新,钩子也会启动。

我创建并升级了一个图表,并且钩子几乎在第一个 Pod 启动的同时运行。以下是图表的时间戳:

测试1: 预升级挂钩 开始时间:2022 年 10 月 25 日,星期二 15:51:29 +0530 完成:2022 年 10 月 25 日星期二 15:51:41 +0530

升级后挂钩 开始时间:2022 年 10 月 25 日,星期二 15:51:46 +0530 完成:2022 年 10 月 25 日星期二 15:51:58 +0530

容器 2 开始时间:2022 年 10 月 25 日,星期二 15:52:10 +0530

容器 1 开始时间:2022 年 10 月 25 日,星期二 15:52:15 +0530

Pod 0 开始时间:2022 年 10 月 25 日,星期二 15:52:20 +0530

测试2: 升级后挂钩 开始时间:2022 年 10 月 25 日,星期二 16:03:50 +0530

容器 2 开始时间:2022 年 10 月 25 日,星期二 16:03:54 +0530

容器 1 开始时间:2022 年 10 月 25 日,星期二 16:04:00 +0530

Pod 0 开始时间:2022 年 10 月 25 日,星期二 16:04:05 +0530

如下图所示,即使主 Pod 处于终止/容器创建状态,钩子也会进入容器创建状态。

helm 本身表示它处于“待升级”状态。

我在这里缺少什么?所有副本更新为新映像后,如何运行 Pod?谢谢。

kubernetes kubernetes-helm
1个回答
0
投票

在升级所有资源后执行升级请求。

kubernetes 部署可以“升级”并在所有 Pod 循环之前返回。这听起来确实像您在这里遇到的情况。您是否使用

--wait
作为 helm 安装/升级的一部分?

© www.soinside.com 2019 - 2024. All rights reserved.