【发布时间】:2021-01-28 07:57:09
【问题描述】:
当您编辑部署以更新 docker 映像时,我需要运行一个一次性脚本,该脚本会更改我的应用程序数据库的部分内容并发送一封电子邮件,告知滚动升级过程已完成并且结果通过/失败。
有没有可以附加这个脚本的钩子?
【问题讨论】:
标签: kubernetes horizontal-pod-autoscaling
当您编辑部署以更新 docker 映像时,我需要运行一个一次性脚本,该脚本会更改我的应用程序数据库的部分内容并发送一封电子邮件,告知滚动升级过程已完成并且结果通过/失败。
有没有可以附加这个脚本的钩子?
【问题讨论】:
标签: kubernetes horizontal-pod-autoscaling
不,Kubernetes 中没有这样的东西。通常这应该由 CI/CD 管道完成。
【讨论】:
Kubernetes 没有实现这样的东西。这可以通过 CI/CD 管道或手动检查滚动更新状态来完成。正如您所说,您可以编写简单的脚本来检查滚动更新的状态并通过电子邮件发送并将其附加到创建的pipeline in Jenkins。
手动检查滚动更新执行命令的状态:
$ kubectl rollout status deploy/your-deployment -n your-namespace
例如,如果您使用 ConfigMap 传递变量,则可以使用 Reloader 在 configmap/secret 更改时自动执行滚动更新。
【讨论】:
据我所知,Kubernetes 没有提供任何开箱即用的功能来支持此类功能,但您可以使用以下命令修改脚本以检查部署状态:
kubectl rollout status deployment/<deployment-name>
【讨论】: