我觉得我在这里缺少一些非常基本的东西,但找不到我要找的东西。
参考有关命令行参数的 NGINX 入口控制器文档,您将如何使用这些参数?您是否使用这些参数在nginx入口控制器pod上调用命令?如果是这样,命令名称是什么?
你能举个例子吗?
入口控制器可执行文件接受命令行参数。这可以在nginx-ingress-controller
部署清单的容器规范中设置。
注释文档列表 :
https://github.com/kubernetes/ingress-nginx/blob/master/docs/user-guide/nginx-configuration/annotations.md
命令行参数文档:
https://github.com/kubernetes/ingress-nginx/blob/master/docs/user-guide/cli-arguments.md
如果要运行命令
Kubectl describe deployment/nginx-ingress-controller --namespace
你会发现这个截图:
Args:
--default-backend-service=$(POD_NAMESPACE)/default-http-backend
--tcp-services-configmap=$(POD_NAMESPACE)/tcp-services
--annotations-prefix=nginx.ingress.kubernetes.io
这些都是建议的nginx的命令行参数。从这里您还可以从这里更改--annotations-prefix=nginx.ingress.kubernetes.io
。
nginx 中的默认注释是 nginx.ingress.kubernetes.io
。
!!! note
可以使用 --annotations-prefix
inside 命令行参数更改注释前缀,但默认值为 nginx.ingress.kubernetes.io
。
如果您使用的是 Helm 图表,则只需在部署入口控制器的同一命名空间中创建名为 {{ include "ingress-nginx.fullname" . }}-tcp
的配置映射即可。(不幸的是,我无法弄清楚ingress-nginx.fullname
的默认值是什么......不好意思。如果有人知道,请随时编辑此答案。
如果您需要为 configmap 指定不同的命名空间,那么您可以使用 .Values.tcp.configMapNamespace
属性,但老实说,我无法在代码中的任何位置找到它的应用,所以 YMMV。
## Allows customization of the tcp-services-configmap
##
tcp:
configMapNamespace: "" # defaults to .Release.Namespace
## Annotations to be added to the tcp config configmap
annotations: {}