【发布时间】:2020-12-21 21:14:05
【问题描述】:
问题设置。假设我有 2 个 pod,A 和 B。我希望能够根据来自任意来源的任意数量动态扩展 pod A。假设 pod B 是这样一个源:例如,它可以有一个带有端点的 HTTP 服务器,该端点在请求时以 pod A 的所需副本数量进行响应。或者它可能是一个 ES 服务器或一个 SQL DB(没关系)。
问题。我需要定义哪些 kubernetes 对象来实现这一点(除了 HPA)? HPA 应该知道什么配置需要查找 B 以获取当前指标? B 的 API 应该是什么样子(或者有什么限制?)?
我做过的研究。不幸的是,官方文档并没有说太多,除了声明有这种可能性。还有两个存储库,one 带有一些我无法构建的 go 样板代码,another 一个没有任何使用说明(尽管据称确实满足“HTTP 上的外部指标”要求)。
通过查看这些存储库中的.yaml 配置,我得出一个结论,除了Deployment 和Service 之外,还需要定义一个APIService 对象,该对象在kubernetes API 并将其与普通服务(您将拥有您的 pod)和少数 ClusterRole 和 ClusterRoleBinding 对象链接起来。但是没有任何解释。此外,我什至无法像其他对象一样在本地集群(1.15 版本)中使用 kubectl 列出现有的 APIServices。
【问题讨论】:
标签: kubernetes hpa