使用 Kubernetes 的钩子
Using Kubernetes' hooks
我想尝试 Kubernetes 的钩子,但我没有找到任何示例我应该如何做。据我所知,有了这个钩子,我可以在新创建的容器中 运行 bash 脚本并在终止它们之前。
我发现了一个简短的 documentation 说这是可能的,但仅此而已。
有人有示例或有用的信息吗?
提前致谢。
我没有看到任何示例 .yaml 文件,但 Kubernetes API v1 以相同的方式描述了生命周期事件。目前,仅定义了 PostStart 和 PreStop,您应该能够通过将生命周期部分添加到 Pod 定义中的容器来使用它们。
根据阅读 API 的定义,像这样的东西应该可以工作(免责声明:我自己还没有真正尝试过):
containers:
- name: lifecycle
image: busybox
lifecycle:
postStart:
exec:
command:
- "touch"
- "/var/log/lifecycle/post-start"
preStop:
httpGet:
path: "/abort"
port: 8080
有了上面的答案,我可以尝试 postStart 钩子,我发现了一个错误,该错误已在去年年底解决,但尚未在 rawhide 存储库中的 Fedora 测试存储库中发布。
回购应该在接下来的几天内更新。
我想尝试 Kubernetes 的钩子,但我没有找到任何示例我应该如何做。据我所知,有了这个钩子,我可以在新创建的容器中 运行 bash 脚本并在终止它们之前。
我发现了一个简短的 documentation 说这是可能的,但仅此而已。
有人有示例或有用的信息吗?
提前致谢。
我没有看到任何示例 .yaml 文件,但 Kubernetes API v1 以相同的方式描述了生命周期事件。目前,仅定义了 PostStart 和 PreStop,您应该能够通过将生命周期部分添加到 Pod 定义中的容器来使用它们。
根据阅读 API 的定义,像这样的东西应该可以工作(免责声明:我自己还没有真正尝试过):
containers:
- name: lifecycle
image: busybox
lifecycle:
postStart:
exec:
command:
- "touch"
- "/var/log/lifecycle/post-start"
preStop:
httpGet:
path: "/abort"
port: 8080
有了上面的答案,我可以尝试 postStart 钩子,我发现了一个错误,该错误已在去年年底解决,但尚未在 rawhide 存储库中的 Fedora 测试存储库中发布。
回购应该在接下来的几天内更新。