[英]Kubernetes: Tasks that need to be done once per cluster or per statefulset or replicaset
所以我听说了initConainers
,它允许您进行应用程序前容器初始化。 但是,我想要在集群级别或 statefulset 甚至整个 pod 上完成的初始化。
例如,我想在我的持久卷上执行一次 hadoop namenode 格式并完成它。 完成后,我的 namenode statefulset 和 datanode 副本集每次都可以继续进行
kubernetes
有什么可以适应这个的吗?
它的扩展怎么样?
Kubernetes 本身为临时执行提供作业。 作业与现有的 Pods/Deployments/Statefulsets 没有非常紧密地集成。
Helm是一个部署协调器,包括可在install
或upgrade
期间使用的pre
和post
挂钩。
helm docco通过注释提供了一个在post-install
运行的 Job 示例。
metadata:
annotations:
# This is what defines this resource as a hook. Without this line, the
# job is considered part of the release.
"helm.sh/hook": post-install
"helm.sh/hook-weight": "-5"
"helm.sh/hook-delete-policy": hook-succeeded
如果您有更复杂的需求,您可以对查询 kubernetes API 以检查集群状态的管理器或作业执行相同的操作。
警告 helm 很快就会迁移到 v3.x,他们已经重新架构了 v2 中的许多重大问题。 如果您刚刚开始使用 helm,请留意 v3 测试版。 截至 2019 年 8 月,它只是 alpha 版本。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.