目前在對接keycloak程序中,通過云端LB到ingress,再由ingress到k8s-service,在配置完成之后,偶發出現502的情況,
ingress的配置,先是實作了客戶端的會話保持
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
namespace: pkulaw-cas-final
name: nginx-keycloak
annotations:
nginx.ingress.kubernetes.io/affinity: "cookie"
nginx.ingress.kubernetes.io/session-cookie-name: "route"
nginx.ingress.kubernetes.io/session-cookie-expires: "172800"
nginx.ingress.kubernetes.io/session-cookie-max-age: "172800"
spec:
rules:
- host: xxx.product.com
http:
paths:
- backend:
serviceName: keycloak
servicePort: 8080
path: /
出現502

需要添加proxy-buffer-number的注釋解決問題
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
namespace: pkulaw-cas-final
name: nginx-keycloak
annotations:
nginx.ingress.kubernetes.io/affinity: "cookie"
nginx.ingress.kubernetes.io/session-cookie-name: "route"
nginx.ingress.kubernetes.io/session-cookie-expires: "172800"
nginx.ingress.kubernetes.io/session-cookie-max-age: "172800"
nginx.ingress.kubernetes.io/proxy-buffer-size: "16k" #緩沖區大小
nginx.ingress.kubernetes.io/proxy-buffers-number: "8" #緩沖區資料,不加它引數多時回傳502
其它緩沖區配置
代理緩沖
啟用或禁用代理緩沖proxy_buffering,默認情況下,NGINX配置中禁用代理緩沖,
要為所有Ingress規則全域配置此設定,proxy-buffering可以在NGINX ConfigMap中設定該值,要在Ingress規則中使用自定義值,請定義以下注釋:
nginx.ingress.kubernetes.io/proxy-buffering: "on"
代理緩沖區數
設定proxy_buffers用于讀取從代理服務器接收到的回應的第一部分的緩沖區數,默認情況下,代理緩沖區數設定為4
要全域配置此設定,請proxy-buffers-number在NGINX ConfigMap中進行設定,要在Ingress規則中使用自定義值,請定義以下注釋:
nginx.ingress.kubernetes.io/proxy-buffers-number: "4"
代理緩沖區大小
設定proxy_buffer_size用于讀取從代理服務器接收到的回應的第一部分的緩沖區的大小,默認情況下,代理緩沖區大小設定為“ 4k”
要全域配置此設定,請proxy-buffer-size在NGINX ConfigMap中進行設定,要在Ingress規則中使用自定義值,請定義以下注釋:
nginx.ingress.kubernetes.io/proxy-buffer-size: "8k"
代理最大臨時檔案大小
如果buffering啟用了來自代理服務器的回應,并且整個回應不適合通過proxy_buffer_size和proxy_buffers指令設定的緩沖區,則可以將回應的一部分保存到臨時檔案中,此偽指令設定size臨時檔案的最大值,設定為proxy_max_temp_file_size,一次寫入臨時檔案的資料大小由proxy_temp_file_write_size指令設定,
零值禁用對臨時檔案的回應的緩沖,
要在Ingress規則中使用自定義值,請定義以下注釋:
nginx.ingress.kubernetes.io/proxy-max-temp-file-size: "1024m"
作者:倉儲大叔,張占嶺,
榮譽:微軟MVP
QQ:853066980
支付寶掃一掃,為大叔打賞!

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/548363.html
標籤:其他
