请求没有入口配置的k8s服务的HTTP错误413

Http Error 413 requesting k8s service which does not have an ingress configuration

在我的集群中,有一项服务在通过 POST 请求时 returns 413 具有较大的请求客户端正文大小,> 10MB。由于不应从集群外部访问此服务,我想知道如何增加此设置以防止出现上述错误。

当然,在服务上使用入口配置时我可以坚持使用 proxy-body-size 注释,但不使用入口配置时情况如何?

当服务没有定义入口资源时,似乎对请求正文大小没有限制。

编辑:举例来说,我们在集群 A 和 B 中托管了两个服务。 服务 A 可以从集群外部访问,这将通过定义一个 nginx ingress 资源来实现,该资源暴露给 url my.service.a.

apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
  annotations:
    nginx.ingress.kubernetes.io/proxy-body-size: "0"
  ...
spec:
  rules:
    - host: my.service.a
    http:
      paths:
      ...

请注意注释nginx.ingress.kubernetes.io/proxy-body-size: "0",它禁用了客户端请求正文大小的限制(不推荐!)。

服务 B 将仅由服务 A 在其内部集群地址 my-service-b.svc.cluster.local 中请求,因此没有为服务 B 定义 nginx ingress 资源。

我的假设是,服务 B 默认也有 client_request_body_size 限制。但是经过测试,好像没有限制。