16

我想尝试 Kubernetes 的钩子,但我没有找到任何我应该如何做的例子。据我所知,有了这个钩子,我可以在新创建的容器中运行 bash 脚本,然后再终止它们。

我发现只有一个简短的文档说这是可能的,但仅此而已。

有人有示例或有用的信息吗?

提前致谢。

4

2 回答 2

14

我没有看到任何示例 .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
于 2015-01-27T06:40:18.007 回答
0

有了上面的答案,我可以尝试 postStart 钩子,我发现了一个错误,该错误在去年年底已解决,但尚未在 Fedora 的测试存储库中发布,只是在 rawhide 存储库中。

回购应在接下来的几天内更新。

更多详情: https ://github.com/kubernetes/kubernetes/issues/3930

于 2015-01-30T11:55:32.370 回答