我有一些要在Kubernetes中部署的服务器。这些服务器的客户端也将在Kubernetes中。客户端和服务器可以独立部署或扩展。
客户端必须知道服务器(IP)的列表。我在客户端上有一个HTTP端点,以在客户端运行时更新服务器列表(热配置重新加载)。
所有这些当前都在Kubernetes之外运行。我想迁移到GCP。
关于广告连播更新和通知的行业标准是什么?我想在服务器更新时收到通知,以调用客户端上的端点以更新服务器列表。
不能使用LoadBalancer,因为客户端确实需要调用特定的服务器(客户端中包含业务逻辑)。
谢谢
答案 0 :(得分:4)
调用一组提供功能的Pod的标准是services。如果您不想像常规服务那样需要自动负载平衡或单个IP地址,则应查看headless services。调用无头服务会返回指向该服务后面的Pod的DNS A记录列表。当pod可用/不可用时,此列表会自动更新。
答案 1 :(得分:2)
虽然我认为修改现有脚本以从无头列表中提取列表要简单得多,但也值得一提CRDs (Custom Resource Definitions)。
您可以构建一个自定义控制器,以监听服务事件,然后将来自该事件的数据发布到另一个Service或Ingress的HTTP端点。自定义资源将定义要观看的服务以及在何处发布结果。
但是,这可能是一个重量更重的解决方案,只需在吊舱中放置一个边车/单独的容器即可轮询服务以进行更改(听起来更接近您现有的模型)。
我赞成Alassane的回答,因为我认为这是在构建CRD之前实现此类目标的正确方法。