【发布时间】:2023-03-24 20:00:02
【问题描述】:
我有 2 个 pod,使用 ansible 部署: - 吊舱 A - POD B。
实际上,我执行 ansible 来更新 pod B。 更新完成后,我需要在 pod A 中执行命令。
您知道自动执行此脚本的最佳方法吗?通过 ansible ? Kubernetes 配置?
谢谢
【问题讨论】:
-
“在 pod 中执行命令”通常不是最佳实践:您几乎总是拥有一个 pod 的多个副本,无论您强制执行的操作是否会在pod 被删除并重新创建(如果节点失败,可能会自动创建)。
-
其实,当另一个pod的版本更新时,我需要执行一个脚本来更新数据库
-
启动作业来执行此操作是一种典型的方法(Helm 等工具对此有特定的支持)。或者您的 pod B 可以在启动时自行更新数据库,但您必须防止每个副本尝试同时执行此操作,并且防止不同版本的 pod 同时运行。
标签: docker kubernetes automation ansible devops