因此,在我的用例中,当系统中发生事件时,我需要扩展应用程序。
HPA在这里无济于事-因为我不希望在达到指标时降低豆荚的比例,也不希望豆荚继续扩大规模(就像HPA所做的那样-扩大直到满足其标准条件,然后按比例缩小)。
缩小应该在另一个事件发生时发生,因此逻辑是:
我应该只编写一个访问k8s API并扩大/缩小部署规模的Pod吗?在我看来,类似的东西已经存在,但我却缺少了一些东西
答案 0 :(得分:0)
在这种情况下,我将研究准入Webhooks,这是一种与K8s API服务器交互的综合方法,可以通过表示Dynamic admission control模型来修改某些Kubernetes功能的基本行为。
这意味着您可以实现特殊的控制器,这些控制器可以拦截Kubernetes API请求,并根据自定义逻辑对其进行修改或拒绝。因此,您可以创建ValidatingWebhookConfiguration
或MutatingWebhookConfiguration
接纳webhooks;唯一的区别是,验证webhook可以拒绝请求,但不能修改其在准入HTTP请求中接收的对象,而更改webhook可以通过创建将在准入HTTP响应中发送回的补丁来修改对象。我建议在此tutorial中获得更多相关信息。
根据上述说法,根据官方K8 {{3}中所述的MutatingWebhookConfiguration
API对象中AdmissionReview
中的变异规则,放大或缩小相关部署资源可能是可行的}。