2017-08-11 32 views
2

那麼這裏是我的問題,我想在Kubernetes入站資源3中設置超時參數。 Kubernetes文檔中描述的方法是使用入口資源註釋或ConfigMap。在下面的示例中,我嘗試使用註釋,但由於未知原因,更改未生效。如何配置nginx入站資源超時參數

nginx.org/proxy-connect-timeout: 10s 
nginx.org/proxy-read-timeout: 10s 
nginx.org/proxy-send-timeout: 10s 

我設置這些參數在我進入資源deffinition:

kind: Ingress 
metadata: 
    name: my-foobar-ingress 
    namespace: foobar 
    annotations: 
    nginx.org/proxy-send-timeout: "10s" 
    nginx.org/proxy-connect-timeout: "10s" 
    nginx.org/proxy-read-timeout: "10s" 

spec: 
    rules: 
    - host: foobar.foo.bar 
    http: 
     paths: 
     - backend: 
      serviceName: foobar-svc 
      servicePort: 8080 
     path:/

的另一種方式成立nginx的配置是通過一個ConfigMap,但我並不想這樣做全局,所以我需要使用註釋來做到這一點。

回答

3

你確定這些是正確的註釋嗎?看看ingress/annotations/proxy/main.go,其中下面是常量的定義:

connect  = "ingress.kubernetes.io/proxy-connect-timeout" 
send   = "ingress.kubernetes.io/proxy-send-timeout" 
read   = "ingress.kubernetes.io/proxy-read-timeout" 
+0

今天我有ingress.kubernetes.io嘗試過,但我不得不擺脫的「S」,並設置它像「ingress.kubernetes。 io/proxy-send-timeout:10「 –

+0

非常感謝! –

+0

一些文檔:https://github.com/kubernetes/ingress-nginx/blob/master/docs/user-guide/annotations.md#custom-timeouts 超時時間以秒爲單位,是一個數字,而不是60秒,例如。它必須是ingress.kubernetes.io/proxy-read-timeout:60 – rjdkolb