我可以创建一个kubernetes命令来停止多个container、运行清理逻辑并重新启动它们吗?

4zcjmb1e  于 2023-02-18  发布在  Kubernetes
关注(0)|答案(1)|浏览(111)

我们有许多pod相互通信,并通过etc或共享PV存储状态。有时我们会处于混乱的状态,我们希望有一个命令,将吹走所有保存的状态,并作为调试工具重新启动。
为此,我们需要停止跨多个节点的多个container。一旦停止,我们需要删除ETC和卷中的数据,然后在完成后重新启动container。
使用bash脚本似乎很容易做到这一点,但我的管理层不希望使用bash脚本,因为我们只部署kubernetes配置,他不希望存在单独的脚本,但不能与我们的其余代码库一起自动部署。
我想知道我是否可以使用类似于kubernetes作业的东西,或者任何其他工具,在kubernetes中设置相同的逻辑,这样它就可以和我们其余的kubernetes代码一起部署。我可以运行一个简单的命令,让我预先编写好的脚本逻辑运行完成。我曾希望kubernetes作业可以工作,但该作业不能访问Kubectl或任何启动和停止其他pod或container的方法。
我是否遗漏了一个Kubernetes功能,以便在清理逻辑运行时更容易地暂停多个pod?

qlfbtfca

qlfbtfca1#

Ansible可以用来在你的节点上运行命令,你可以使用Ansible剧本来代替bash脚本,或者你可以使用这个剧本来运行你的bash脚本。类似地,如果你喜欢webhook的实现方法,还有rundeck和n8n等工具。如果你计划实现一个CICD管道,你可以使用Jenkins等工具。

相关问题