<p>I am trying to deploy <a href="https://github.com/kubernetes/ingress-nginx/blob/master/docs/user-guide/exposing-tcp-udp-services.md" rel="nofollow noreferrer">the nginx-ingress helm chart</a> and I want to provide some <code>extraArgs</code>.</p>

<p>The thing is that, when I try to pass the arguments from the console</p>

<pre><code>helm upgrade --install ${release_name} \
--set controller.extraArgs={udp-services-configmap=default/cm-udp-services} \
stable/nginx-ingress
</code></pre>

<p>I get this when I <code>describe</code> the deployment.</p>

<pre><code>    Args:
      /nginx-ingress-controller
      --default-backend-service=default/tcp-udp-ic-nginx-ingress-default-backend
      --election-id=ingress-controller-leader
      --ingress-class=nginx
      --configmap=default/tcp-udp-ic-nginx-ingress-controller
      --0=udp-services-configmap:default/cm-udp-services
</code></pre>

<p>I just don't understand why I get this <strong>0=</strong>.</p>

<p>However, when I add the extra argument via the <code>values.yml</code> file, </p>

<pre><code>  ## Additional command line arguments to pass to nginx-ingress-controller
  ## E.g. to specify the default SSL certificate you can use
  ## extraArgs:
  ##   default-ssl-certificate: "&lt;namespace&gt;/&lt;secret_name&gt;"
  extraArgs: {
               udp-services-configmap=default/cm-udp-services
  }
</code></pre>

<p>everything is ok.</p>

<p>Has anyone else encounter this?</p>

<p><strong>EDIT</strong></p>

<p>Even though weibeld's answer solved the problem, I observe that when I deploy the IC, the service unfortunately does not have the ports that are stated in the config-map open. </p>

Kostas Demiris
<p>Remove the curly braces and delimit the <code>udp-services-configmap</code> argument with a period:</p>

<pre><code>helm upgrade --install ${release_name} \
--set controller.extraArgs.udp-services-configmap=default/cm-udp-services \
stable/nginx-ingress
</code></pre>

<p>And if you use a <code>values.yaml</code> file, the usual way to write it is:</p>

<pre><code>controller:
  extraArgs:
    udp-services-configmap: default/cm-udp-services
</code></pre>

<p>You don't need curly braces in YAML, except for denoting an empty object (<code>extraArgs: {}</code>).</p>
