diff --git a/docs/index.md b/docs/index.md index 91661cba3..5687bf5d3 100644 --- a/docs/index.md +++ b/docs/index.md @@ -228,3 +228,13 @@ If you start Ingress-Nginx B with the command line argument `--watch-ingress-wit --set controller.ingressClassByName=true ``` - If you need to install yet another instance, then repeat the procedure to create a new namespace, change the values such as names & namespaces (for example from "-2" to "-3"), or anything else that meets your needs. +- If you need to install all instances in the same namespace, then you need to specify a different **election id**, like this: + ``` + helm install ingress-nginx-2 ingress-nginx/ingress-nginx \ + --namespace kube-system \ + --set controller.electionID=nginx-two-leader \ + --set controller.ingressClassResource.name=nginx-two \ + --set controller.ingressClassResource.controllerValue="example.com/ingress-nginx-2" \ + --set controller.ingressClassResource.enabled=true \ + --set controller.ingressClassByName=true + ``` \ No newline at end of file diff --git a/docs/user-guide/multiple-ingress.md b/docs/user-guide/multiple-ingress.md index 4825b8458..35e0e45dc 100644 --- a/docs/user-guide/multiple-ingress.md +++ b/docs/user-guide/multiple-ingress.md @@ -8,7 +8,7 @@ To fix this problem, use [IngressClasses](https://kubernetes.io/docs/concepts/se If all ingress controllers respect IngressClasses (e.g. multiple instances of ingress-nginx v1.0), you can deploy two Ingress controllers by granting them control over two different IngressClasses, then selecting one of the two IngressClasses with `ingressClassName`. -First, ensure the `--controller-class=` and `--ingress-class` are set to something different on each ingress controller: +First, ensure the `--controller-class=` and `--ingress-class` are set to something different on each ingress controller, If your additional ingress controller is to be installed in a namespace, where there is/are one/more-than-one ingress-nginx-controller(s) already installed, then you need to specify a different unique `--election-id` for the new instance of the controller. ```yaml # ingress-nginx Deployment/Statefulset @@ -19,6 +19,7 @@ spec: - name: ingress-nginx-internal-controller args: - /nginx-ingress-controller + - '--election-id=ingress-controller-leader' - '--controller-class=k8s.io/internal-ingress-nginx' - '--ingress-class=k8s.io/internal-nginx' ... @@ -53,6 +54,7 @@ or if installing with Helm: ```yaml controller: + electionID: ingress-controller-leader ingressClassResource: name: internal-nginx # default: nginx enabled: true