From 8de7d42cfc083b9a1b90b76686deab25456e465d Mon Sep 17 00:00:00 2001 From: cooperbenson-qz Date: Thu, 17 Dec 2020 09:50:08 -0700 Subject: [PATCH] Adding LoadBalancerIP value for internal service Adding documentation for the value Bumping chart version Adding changelog entry Added change to artifacthub annotation --- charts/ingress-nginx/CHANGELOG.md | 4 ++++ charts/ingress-nginx/Chart.yaml | 4 ++-- charts/ingress-nginx/README.md | 2 ++ .../ingress-nginx/templates/controller-service-internal.yaml | 3 +++ charts/ingress-nginx/values.yaml | 2 ++ 5 files changed, 13 insertions(+), 2 deletions(-) diff --git a/charts/ingress-nginx/CHANGELOG.md b/charts/ingress-nginx/CHANGELOG.md index 7678bd94a..d3c371767 100644 --- a/charts/ingress-nginx/CHANGELOG.md +++ b/charts/ingress-nginx/CHANGELOG.md @@ -4,6 +4,10 @@ This file documents all notable changes to [ingress-nginx](https://github.com/ku ### Unreleased +### 3.16.0 + +- [ ] [#6646](https://github.com/kubernetes/ingress-nginx/pull/6646) Added LoadBalancerIP value for internal service + ### 3.15.1 - Fix chart-releaser action diff --git a/charts/ingress-nginx/Chart.yaml b/charts/ingress-nginx/Chart.yaml index 3b7e02024..cf20717f6 100644 --- a/charts/ingress-nginx/Chart.yaml +++ b/charts/ingress-nginx/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 name: ingress-nginx # When the version is modified, make sure the artifacthub.io/changes list is updated # Also update CHANGELOG.md -version: 3.15.2 +version: 3.16.0 appVersion: 0.41.2 home: https://github.com/kubernetes/ingress-nginx description: Ingress controller for Kubernetes using NGINX as a reverse proxy and load balancer @@ -21,4 +21,4 @@ annotations: # List of changes for the release in artifacthub.io # https://artifacthub.io/packages/helm/ingress-nginx/ingress-nginx?modal=changelog artifacthub.io/changes: | - - Fix chart-releaser action + - Added LoadBalancerIP value for internal service diff --git a/charts/ingress-nginx/README.md b/charts/ingress-nginx/README.md index 37b0ca1fb..b1c6ff0f4 100644 --- a/charts/ingress-nginx/README.md +++ b/charts/ingress-nginx/README.md @@ -189,6 +189,8 @@ controller: An use case for this scenario is having a split-view DNS setup where the public zone CNAME records point to the external balancer URL while the private zone CNAME records point to the internal balancer URL. This way, you only need one ingress kubernetes object. +Optionally you can set `controller.service.internal.loadBalancerIP` if you need a static IP for the resulting `LoadBalancer`. + ### Ingress Admission Webhooks With nginx-ingress-controller version 0.25+, the nginx ingress controller pod exposes an endpoint that will integrate with the `validatingwebhookconfiguration` Kubernetes feature to prevent bad ingress from being added to the cluster. diff --git a/charts/ingress-nginx/templates/controller-service-internal.yaml b/charts/ingress-nginx/templates/controller-service-internal.yaml index 54888e965..49b4ee1d6 100644 --- a/charts/ingress-nginx/templates/controller-service-internal.yaml +++ b/charts/ingress-nginx/templates/controller-service-internal.yaml @@ -15,6 +15,9 @@ metadata: name: {{ include "ingress-nginx.controller.fullname" . }}-internal spec: type: "{{ .Values.controller.service.type }}" +{{- if .Values.controller.service.internal.loadBalancerIP }} + loadBalancerIP: {{ .Values.controller.service.internal.loadBalancerIP }} +{{- end }} {{- if .Values.controller.service.internal.loadBalancerSourceRanges }} loadBalancerSourceRanges: {{ toYaml .Values.controller.service.internal.loadBalancerSourceRanges | nindent 4 }} {{- end }} diff --git a/charts/ingress-nginx/values.yaml b/charts/ingress-nginx/values.yaml index 80ade3fea..953dd62b0 100644 --- a/charts/ingress-nginx/values.yaml +++ b/charts/ingress-nginx/values.yaml @@ -407,6 +407,8 @@ controller: enabled: false annotations: {} + # loadBalancerIP: "" + ## Restrict access For LoadBalancer service. Defaults to 0.0.0.0/0. loadBalancerSourceRanges: []