kubernetes - 如何使用 Helm 在 Nginx Ingress 中设置服务器片段配置
问题描述
相关 Github 问题:https ://github.com/kubernetes/ingress-nginx/issues/6519
apiVersion: v1
data:
server-snippet: |
if ($http_x_azure_fdid !~* "55ce4ed1-4b06-4bf1-b40e-4638452104da" ) {
return 403;
}
use-forwarded-headers: "true"
kind: ConfigMap
在以下方法中设置值时,如何使用 helm 实现上述配置?
helm upgrade --install nginx-ingress-controller ingress-nginx/ingress-nginx \
--namespace "${namespace}" \
--version "${chart_version}" \
--set controller.replicaCount="${replicas}" \
--set-string controller.config.use-forwarded-headers=true \
--set-string controller.config.server-snippet=<?> \
--debug
解决方案
您可以定义一个多行环境变量,如下所示,
read -d '' conf << EOF
if ($http_x_azure_fdid !~* "55ce4ed1-4b06-4bf1-b40e-4638452104da" ) {
return 403;
}
EOF
定义环境变量后,在 helm --set-string controller.config.server-snippet=
arg 中引用它,如下所示,
helm upgrade --install nginx-ingress-controller ingress-nginx/ingress-nginx \
--namespace "${namespace}" \
--version "${chart_version}" \
--set controller.replicaCount="${replicas}" \
--set-string controller.config.use-forwarded-headers=true \
--set-string controller.config.server-snippet=$conf \
--debug
推荐阅读
- node.js - 有什么方法可以在本机 es 模块中从根目录导入?(节点 16)
- r - R 选择了未定义的列(不是逗号问题)
- amazon-web-services - 如何从 step 函数跟踪失败和成功执行?
- pdf - 如何避免使用 Libreoffice Impress 将视频嵌入到导出的 pdf 文件中
- apache-spark - Spark - 使用堆外内存
- java - 为什么 JScrollpane 没有添加到我的 TextEditor 中的 JTextArea?
- c# - .NET Core 控制台应用程序:由于证书链中的错误,远程证书无效:UntrustedRoot
- node.js - Strapi 密码恢复 '/forgot-password' 返回 400
- css - 如何在防止恶意代码的同时让用户输入自己的 CSS?
- python - 如何创建/设置在未来未知时刻执行的芹菜任务?