- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
问题设置。 假设我有 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。
最佳答案
最简单的方法是将指标输入 Prometheus(这是一个普遍解决的问题),然后设置一个基于 Prometheus 的 HPA(也是一个普遍解决的问题)。
1. 将自己的指标提供给 Prometheus
ServiceMonitor
对象。 ServiceMonitors 是指向集群中服务的指针。他们让你的 pod /metrics
端点被普罗米修斯服务器发现和抓取。 /metrics
中端点。这将是您的 API 和 Prometheus 格式之间的适配器。当然有客户:https://github.com/prometheus/client_python#exporting Service
类型 ClusterIP
那代表你的 pod 。 ServiceMonitor
指向一个服务。 关于kubernetes - 如何向 HPA 提供外部指标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63709968/
我是一名优秀的程序员,十分优秀!