【问题标题】:Kubernetes - One request per container inside a podKubernetes - pod 内每个容器一个请求
【发布时间】:2018-01-30 08:52:57
【问题描述】:

如何控制 Pod 内的请求分布? 例如: 我有一个带有一个容器的 pod,该容器运行 NodeJs Hello world,睡眠时间为 10 秒。 起初没有扩展,我只想保留其他请求,直到容器完成处理请求。

我正在尝试使用 Kubernetes 实现一个简单的功能即服务。

【问题讨论】:

  • 如果您的服务忙/无法处理请求,请求可能已经阻塞。你是说你需要更大的队列吗?
  • 不,我说服务不忙并且可以处理其他请求...但我仍然希望每个容器有 1 个请求(如 lambda)
  • 啊,对,听起来您在谈论显式节流。我不知道 K8S 是否内置了对此的支持,但我想知道您是否也可以在您的服务中实现源代码级别? (例如,只有一个请求处理程序线程。)
  • 如果我使用工作队列使用粗并行处理怎么办?每个请求都是一份工作。

标签: docker kubernetes containers faas


【解决方案1】:

由于 Kubernetes 支持入口控制器,你可以像下面这样配置 nginx:

limit_req_zone $binary_remote_addr zone=mylimit:10m rate=10r/s;

server {
location /login/ {
    limit_req zone=mylimit;


    proxy_pass http://my_upstream;
}
}

但是如果你想通过使用 kubernetes 资源配额来限制速率, github 问题:https://github.com/kubernetes/kubernetes/issues/2856 可能有用

Configuring Basic Rate Limiting

k8s Ingress

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-09
    相关资源
    最近更新 更多