我想在kubernetes集群发生任何变化时收到通知。创建/删除窗格等。这可以是webhook的形式,或pub / sub中的消息等,可以以自主方式使用的任何东西。
在gcp中运行kubernetes集群。
POD的life cycle hook包括如下两种:
PostStart
PreStop
该hook在容器被创建后立刻触发;并且无法保证会在容器的ENTRYPOINT之前执行。由于无法保证和容器内其它进程启动的顺序相关联,所以不是应用程序进行启动前配置的最佳解决方案。如果要在应用程序启动前配置系统,可以使用Init Container。Init Container可以按照定义串联执行,并且执行结果可以为后面的Init Container或者主容器所看到。
在一些特殊案例中,PostStart可以用来进行一些系统环境的配置,比如配置iptables或者kernel参数。
该hook在容器被删除前触发,由于这个hook是同步执行的,所以必须在容器被删除之前执行完成这个hook。这个Hook是很适合作为应用程序优雅退出的机制的,可以定义一系列的行为来释放容器占有的资源、进行通知和告警来实现优雅退出。
使用方式可以参考以下文档
https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/
您可以通过在Linux兼容语言(例如go,python等)中创建与相关k8s对象的监视端点的钩子来获得此类事件。即/apis/apps/v1/watch/namespaces/{namespace}/deployments/{name}是Deployment对象的手表端点。您可以从k8s-api-server的API参考中找到所需对象的监视端点。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。