我想尝试 Kubernetes 的钩子,但我没有找到任何我应该如何做的例子。据我所知,有了这个钩子,我可以在新创建的容器中运行 bash 脚本,然后再终止它们。
我发现只有一个简短的文档说这是可能的,但仅此而已。
有人有示例或有用的信息吗?
提前致谢。
我想尝试 Kubernetes 的钩子,但我没有找到任何我应该如何做的例子。据我所知,有了这个钩子,我可以在新创建的容器中运行 bash 脚本,然后再终止它们。
我发现只有一个简短的文档说这是可能的,但仅此而已。
有人有示例或有用的信息吗?
提前致谢。
我没有看到任何示例 .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 钩子,我发现了一个错误,该错误在去年年底已解决,但尚未在 Fedora 的测试存储库中发布,只是在 rawhide 存储库中。
回购应在接下来的几天内更新。