diff --git a/deployments/helm-chart/README.md b/deployments/helm-chart/README.md index 7e1bfcd30d..7de1fe63d9 100644 --- a/deployments/helm-chart/README.md +++ b/deployments/helm-chart/README.md @@ -76,6 +76,7 @@ Parameter | Description | Default `controller.service.type` | The type of service to create for the Ingress controller. | LoadBalancer `controller.service.externalTrafficPolicy` | The externalTrafficPolicy of the service. The value Local preserves the client source IP. | Local `controller.service.annotations` | The annotations of the Ingress controller service. | { } +`controller.service.loadBalancerIP` | The static IP address for the load balancer. Requires `controller.service.type` set to `LoadBalancer`. | None `controller.serviceAccountName` | The serviceAccountName of the Ingress controller pods. Used for RBAC. | nginx-ingress `controller.ingressClass` | A class of the Ingress controller. The Ingress controller only processes Ingress resources that belong to its class - i.e. have the annotation `"kubernetes.io/ingress.class"` equal to the class. Additionally, the Ingress controller processes Ingress resources that do not have that annotation which can be disabled by setting the "-use-ingress-class-only" flag. | nginx `controller.useIngressClassOnly` | Ignore Ingress resources without the `"kubernetes.io/ingress.class"` annotation. | false diff --git a/deployments/helm-chart/templates/controller-service.yaml b/deployments/helm-chart/templates/controller-service.yaml index b10984f7ed..2e65e99a32 100644 --- a/deployments/helm-chart/templates/controller-service.yaml +++ b/deployments/helm-chart/templates/controller-service.yaml @@ -17,6 +17,9 @@ spec: {{- if .Values.controller.service.externalTrafficPolicy }} externalTrafficPolicy: {{ .Values.controller.service.externalTrafficPolicy }} {{- end }} + {{- if (eq .Values.controller.service.type "LoadBalancer") .Values.controller.service.loadBalancerIP }} + loadBalancerIP: {{ .Values.controller.service.loadBalancerIP }} + {{- end }} {{- end }} type: {{ .Values.controller.service.type }} ports: diff --git a/deployments/helm-chart/values-plus.yaml b/deployments/helm-chart/values-plus.yaml index d2aba64cf7..43505e3005 100644 --- a/deployments/helm-chart/values-plus.yaml +++ b/deployments/helm-chart/values-plus.yaml @@ -30,6 +30,7 @@ controller: type: LoadBalancer externalTrafficPolicy: Local annotations: {} + loadBalancerIP: "" serviceAccountName: nginx-ingress reportIngressStatus: enable: true diff --git a/deployments/helm-chart/values.yaml b/deployments/helm-chart/values.yaml index 341d6c2301..d997692b56 100644 --- a/deployments/helm-chart/values.yaml +++ b/deployments/helm-chart/values.yaml @@ -30,6 +30,7 @@ controller: type: LoadBalancer externalTrafficPolicy: Local annotations: {} + loadBalancerIP: "" serviceAccountName: nginx-ingress reportIngressStatus: enable: true