Kubernetes Ingress代理主体尺寸注释已停止工作

时间:2019-08-15 12:45:26

标签: kubernetes kubernetes-helm nginx-ingress

我有一个在Kubernetes集群上运行的应用程序。在上个月的某个时间,我的proxy-body-size入口注释突然停止工作。现在,我的应用返回413:每次使用大文件调用时,请求实体都太大。

这是在从ingress.kubernetes.io/proxy-body-size更改为nginx.ingress.kubernetes.io/proxy-body-size之后。目前都没有改变。

集群运行稳定版/ nginx-ingress版本1.15.0。

我肯定错过了一些明显的事情,但是我无法终生弄清楚是什么。

我的入口当前看起来像这样:

kind: Ingress
metadata:
  annotations:
    nginx.ingress.kubernetes.io/proxy-body-size: 20m
  creationTimestamp: "2019-07-03T08:43:43Z"
  generation: 1
  labels:
    app.kubernetes.io/instance: underskrift-detektor-env-v2
    app.kubernetes.io/managed-by: Tiller
    app.kubernetes.io/name: erst-env
    helm.sh/chart: erst-env-1.7.0
  name: underskrift-detektor-env-v2
  namespace: dokumentredskaber
  resourceVersion: "17086462"
  selfLink: /apis/extensions/v1beta1/namespaces/dokumentredskaber/ingresses/underskrift-detektor-env-v2
  uid: aa2cb597-9d6e-11e9-924b-7285e76b0ce4
spec:
  rules:
  - host: svik-ml-dev.erst.dk
    http:
      paths:
      - backend:
          serviceName: underskrift-detektor-app-v2
          servicePort: 8080
        path: /dokument-redskaber/underskrift-detektor/v2
  tls:
  - hosts:
    - svik-ml-dev.erst.dk
    secretName: erst-tls-secret
status:
  loadBalancer:
    ingress:
    - {}

kubectl describe ing的输出是:

Namespace:        dokumentredskaber
Address:
Default backend:  default-http-backend:80 (<none>)
TLS:
  erst-tls-secret terminates svik-ml-dev.erst.dk
Rules:
  Host                 Path  Backends
  ----                 ----  --------
  svik-ml-dev.erst.dk
                       /dokument-redskaber/underskrift-detektor/v2   underskrift-detektor-app-v2:8080 (<none>)
Annotations:
  nginx.ingress.kubernetes.io/proxy-body-size:  20m
Events:
  Type    Reason  Age                From                      Message
  ----    ------  ----               ----                      -------
  Normal  UPDATE  59m (x6 over 23h)  nginx-ingress-controller  Ingress dokumentredskaber/underskrift-detektor-env-v2
  Normal  UPDATE  59m (x6 over 23h)  nginx-ingress-controller  Ingress dokumentredskaber/underskrift-detektor-env-v2```

1 个答案:

答案 0 :(得分:1)

从Nginx官方入口文档中可以看到,注释策略只接受字符串值,即使是整数they should be quoted也是如此。

此外,在某些提供程序中,您可能还希望尝试在nginx.org/client-max-body-size旁边添加proxy-body-size批注。

问题中未提及,以防万一我会提到需要重新启动Nginx吊舱以选择注释的值。