[英]How to set WCF base addresses in code when using the Configure method
[英]How to configure nginx when using Helm to install?
根據這篇文章,在 Kubernetes 集群中使用 https 和 Azure AD 身份驗證在 Nginx 后面運行 .NET Core 2.x 應用程序時,需要設置一些 nginx 屬性:
通過 IdentityServer4 認證后,NGINX 背后的 .Net Core 返回 502 Bad Gateway
答案概述了如何為常規 Nginx 安裝執行此操作,但我想在使用 Helm 在 Kubernetes 集群中安裝 Nginx 時執行此操作。
這些是需要設置的 Nginx 屬性:
nginx.conf:
http{
...
proxy_buffer_size 128k;
proxy_buffers 4 256k;
proxy_busy_buffers_size 256k;
large_client_header_buffers 4 16k;
...
}
default.conf:
location /{
...
fastcgi_buffers 16 16k;
fastcgi_buffer_size 32k;
...
}
我在Kubernetes集群中安裝Nginx使用的命令是:
helm install stable/nginx-ingress --namespace kube-system
在 Kubernetes 集群中使用 Helm 安裝 Nginx 時如何設置上述屬性?
我發現最簡單的解決方案是在 Nginx 入口上使用注釋,如下所示:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: test-ingress
annotations:
kubernetes.io/ingress.class: nginx
nginx.ingress.kubernetes.io/proxy-buffer-size: "16k"
nginx.ingress.kubernetes.io/rewrite-target: /
...
可以使用 ConfigMap 自定義 nginx 配置。
這是一個例子
添加 ConfigMap 后,如果 nginx 未更新,請使用 Helm 更新您的 nginx 圖表:
helm upgrade [RELEASE] [CHART]
heml upgrade my-release stable/nginx-ingress
如果您不知道 [RELEASE],請使用以下命令:
helm list
完全同意@Mozafar Gholami,您可以在部署 nginx 或更新當前配置時使用 ConfigMap 更改參數。 要在安裝前更新參數,建議您下一步:
1. 獲取圖表到本地機器並解壓:
helm fetch stable/nginx-ingress
tar -xzf nginx-ingress-1.1.4.tgz
給你的例子:
controller:
name: controller
image:
repository: quay.io/kubernetes-ingress-controller/nginx-ingress-controller
tag: "0.21.0"
pullPolicy: IfNotPresent
# www-data -> uid 33
runAsUser: 33
config:
proxy-buffer-size: "128k"
proxy-buffers: "4 256k"
3.檢查將添加到新配置映射中的內容
helm template . | less
4.安裝圖
helm install --name nginx-ingress --namespace kube-system ./nginx-ingress
請記住:
您可以使用注釋更改參數而不是 ConfigMap。
不幸的是,並非所有參數都可以通過上述方法在 nginx-ingress 中更改。
有關更多信息,請閱讀nginx-ingress 自定義頁面,您可以在其中找到可以更改的所有值。 例如,在您的情況下,我無法更新proxy_busy_buffers_size
和large_client_header_buffers
參數。
希望這對你有幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.