# Command line arguments The following command line arguments are accepted by the Ingress controller executable. They are set in the container spec of the `nginx-ingress-controller` Deployment manifest (see `deploy/with-rbac.yaml` or `deploy/without-rbac.yaml`). | Argument | Description | |----------|-------------| | --alsologtostderr | log to standard error as well as files | | --annotations-prefix string | Prefix of the Ingress annotations specific to the NGINX controller. (default "nginx.ingress.kubernetes.io") | | --apiserver-host string | Address of the Kubernetes API server. Takes the form "protocol://address:port". If not specified, it is assumed the program runs inside a Kubernetes cluster and local discovery is attempted. | | --configmap string | Name of the ConfigMap containing custom global configurations for the controller. | | --default-backend-service string | Service used to serve HTTP requests not matching any known server name (catch-all). Takes the form "namespace/name". The controller configures NGINX to forward requests to the first port of this Service. | | --default-server-port int | Port to use for exposing the default server (catch-all). (default 8181) | | --default-ssl-certificate string | Secret containing a SSL certificate to be used by the default HTTPS server (catch-all). Takes the form "namespace/name". | | --election-id string | Election id to use for Ingress status updates. (default "ingress-controller-leader") | | --enable-dynamic-configuration | Dynamically refresh backends on topology changes instead of reloading NGINX. Feature backed by OpenResty Lua libraries. | | --enable-ssl-chain-completion | Autocomplete SSL certificate chains with missing intermediate CA certificates. A valid certificate chain is required to enable OCSP stapling. Certificates uploaded to Kubernetes must have the "Authority Information Access" X.509 v3 extension for this to succeed. (default true) | | --enable-ssl-passthrough | Enable SSL Passthrough. | | --force-namespace-isolation | Force namespace isolation. Prevents Ingress objects from referencing Secrets and ConfigMaps located in a different namespace than their own. May be used together with watch-namespace. | | --health-check-path string | URL path of the health check endpoint. Configured inside the NGINX status server. All requests received on the port defined by the healthz-port parameter are forwarded internally to this path. (default "/healthz") | | --healthz-port int | Port to use for the healthz endpoint. (default 10254) | | --http-port int | Port to use for servicing HTTP traffic. (default 80) | | --https-port int | Port to use for servicing HTTPS traffic. (default 443) | | --ingress-class string | Name of the ingress class this controller satisfies. The class of an Ingress object is set using the annotation "kubernetes.io/ingress.class". All ingress classes are satisfied if this parameter is left empty. | | --kubeconfig string | Path to a kubeconfig file containing authorization and API server information. | | --log_backtrace_at traceLocation | when logging hits line file:N, emit a stack trace (default :0) | | --log_dir string | If non-empty, write log files in this directory | | --logtostderr | log to standard error instead of files (default true) | | --profiling | Enable profiling via web interface host:port/debug/pprof/ (default true) | | --publish-service string | Service fronting the Ingress controller. Takes the form "namespace/name". When used together with update-status, the controller mirrors the address of this service's endpoints to the load-balancer status of all Ingress objects it satisfies. | | --publish-status-address string | Customized address to set as the load-balancer status of Ingress objects this controller satisfies. Requires the update-status parameter. | | --report-node-internal-ip-address | Set the load-balancer status of Ingress objects to internal Node addresses instead of external. Requires the update-status parameter. | | --sort-backends | Sort servers inside NGINX upstreams. | | --ssl-passthrough-proxy-port int | Port to use internally for SSL Passthrough. (default 442) | | --status-port int | Port to use for exposing NGINX status pages. (default 18080) | | --stderrthreshold severity | logs at or above this threshold go to stderr (default 2) | | --sync-period duration | Period at which the controller forces the repopulation of its local object stores. (default 10m0s) | | --sync-rate-limit float32 | Define the sync frequency upper limit (default 0.3) | | --tcp-services-configmap string | Name of the ConfigMap containing the definition of the TCP services to expose. The key in the map indicates the external port to be used. The value is a reference to a Service in the form "namespace/name:port", where "port" can either be a port number or name. TCP ports 80 and 443 are reserved by the controller for servicing HTTP traffic. | | --udp-services-configmap string | Name of the ConfigMap containing the definition of the UDP services to expose. The key in the map indicates the external port to be used. The value is a reference to a Service in the form "namespace/name:port", where "port" can either be a port name or number. | --update-status | Update the load-balancer status of Ingress objects this controller satisfies. Requires setting the publish-service parameter to a valid Service reference. (default true) | | --update-status-on-shutdown | Update the load-balancer status of Ingress objects when the controller shuts down. Requires the update-status parameter. (default true) | | --v Level | log level for V logs | | --version | Show release information about the NGINX Ingress controller and exit. | | --vmodule moduleSpec | comma-separated list of pattern=N settings for file-filtered logging | | --watch-namespace string | Namespace the controller watches for updates to Kubernetes objects. This includes Ingresses, Services and all configuration resources. All namespaces are watched if this parameter is left empty. |