使用NGINX Ingress Controller执行命令行参数的命令是什么?

时间:2019-06-20 19:22:31

标签: nginx kubernetes kubernetes-ingress

我觉得这里缺少一些基本的知识,但是找不到我想要的东西。

关于command line arguments,请参考NGINX Ingress Controller文档,您将如何使用它们?您是否正在使用这些参数在nginx-ingress-controller窗格上调用命令?如果是这样,命令名称是什么?

您能提供一个例子吗?

2 个答案:

答案 0 :(得分:1)

命令行参数由Ingress控制器可执行文件接受。可以在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描述部署/ 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可以使用command line argument中的--annotations-prefix更改注释前缀,但默认值为nginx.ingress.kubernetes.io

答案 1 :(得分:0)

如果您使用的是 the Helm chart,那么您只需在部署入口控制器的同一命名空间中创建一个名为 {{ include "ingress-nginx.fullname" . }}-tcp 的配置映射。 (不幸的是,我无法弄清楚 ingress-nginx.fullname 的默认值是什么...抱歉。如果有人知道,请随时编辑此答案。)

如果您需要为 configmap 指定不同的命名空间,那么您可能可以使用 .Values.tcp.configMapNamespace property,但老实说,我无法在代码中的任何地方找到它,所以 YMMV。< /p>

  ## Allows customization of the tcp-services-configmap
  ##
  tcp:
    configMapNamespace: ""   # defaults to .Release.Namespace
    ## Annotations to be added to the tcp config configmap
    annotations: {}