首页 > 解决方案 > 当 pod 或服务或端点发生变化时如何获得通知?

问题描述

如果我有可以使用选择器查询的服务、pod 等更改其 ip 地址,有没有办法获得通知?

例如,假设我的应用程序需要一个 pod 的 IP 地址列表,或者一个服务的 IP 地址。由于容器可以关闭并使用 kubernetes 重新创建,有没有办法在容器关闭并重新创建时收到通知,以便我可以使用 kubernetes API 获取 IP 地址的最新值?

这对于主数据库和从数据库等是必需的。

kubernetes 是否具有可用于通知我的应用程序的 webhook 类型功能?

标签: kubernetes

解决方案


您可以使用watch API 操作。

要查看所有 Endpoints 对象:

GET /api/v1/namespaces/{namespace}/endpoints?watch=true

要查看特定的 Endpoints 对象:

GET /api/v1/watch/namespaces/{namespace}/endpoints/{name}?watch=true

这会创建一个挂起的 HTTP GET 请求,并且只要任何被监视的对象发生更改,您就会收到通知。

请参阅Kubernetes API 参考


推荐阅读