是否有任何HPA之类的控制器可以按需扩展/缩小Pod?

时间:2019-07-16 08:03:50

标签: kubernetes scale horizontal-scaling

因此,在我的用例中,当系统中发生事件时,我需要扩展应用程序。

HPA在这里无济于事-因为我不希望在达到指标时降低豆荚的比例,也不希望豆荚继续扩大规模(就像HPA所做的那样-扩大直到满足其标准条件,然后按比例缩小)。

缩小应该在另一个事件发生时发生,因此逻辑是:

  1. 事件在系统中引发
  2. 部署按1缩放
  3. 工作继续
  4. 系统引发了另一个“按比例缩小”事件
  5. 部署按比例缩小1

我应该只编写一个访问k8s API并扩大/缩小部署规模的Pod吗?在我看来,类似的东西已经存在,但我却缺少了一些东西

1 个答案:

答案 0 :(得分:0)

在这种情况下,我将研究准入Webhooks,这是一种与K8s API服务器交互的综合方法,可以通过表示Dynamic admission control模型来修改某些Kubernetes功能的基本行为。

这意味着您可以实现特殊的控制器,这些控制器可以拦截Kubernetes API请求,并根据自定义逻辑对其进行修改或拒绝。因此,您可以创建ValidatingWebhookConfigurationMutatingWebhookConfiguration接纳webhooks;唯一的区别是,验证webhook可以拒绝请求,但不能修改其在准入HTTP请求中接收的对象,而更改webhook可以通过创建将在准入HTTP响应中发送回的补丁来修改对象。我建议在此tutorial中获得更多相关信息。

根据上述说法,根据官方K8 {{3}中所述的MutatingWebhookConfiguration API对象中AdmissionReview中的变异规则,放大或缩小相关部署资源可能是可行的}。