From eb7e929c87788b37890becb7953e38e37493c726 Mon Sep 17 00:00:00 2001 From: Manuel de Brito Fontes Date: Sat, 26 Aug 2017 11:19:31 -0300 Subject: [PATCH] Release nginx ingress controller 0.9.0-beta.12 --- controllers/nginx/Changelog.md | 152 ++++++++++++++++++ controllers/nginx/Makefile | 2 +- core/pkg/ingress/annotations/alias/main.go | 2 +- .../annotations/clientbodybuffersize/main.go | 2 +- core/pkg/ingress/controller/controller.go | 30 +++- docs/troubleshooting.md | 2 +- examples/auth/basic/haproxy/README.md | 3 - examples/auth/client-certs/haproxy/README.md | 3 - .../aws/nginx/nginx-ingress-controller.yaml | 2 +- .../nginx/nginx-ingress-controller.yaml | 2 +- .../custom-configuration/haproxy/README.md | 3 - .../nginx/nginx-custom-configuration.yaml | 2 +- .../custom-errors/nginx/rc-custom-errors.yaml | 2 +- .../nginx/nginx-ingress-controller.yaml | 2 +- .../custom-template/custom-template.yaml | 2 +- .../nginx/nginx-ingress-controller.yaml | 2 +- .../nginx/nginx-ingress-controller.yaml | 2 +- examples/daemonset/haproxy/README.md | 8 +- .../nginx/nginx-ingress-daemonset.yaml | 2 +- examples/deployment/haproxy/README.md | 8 +- .../kubeadm/nginx-ingress-controller.yaml | 2 +- .../nginx/nginx-ingress-controller.yaml | 2 +- examples/multi-tls/haproxy/README.md | 3 - .../rbac/nginx/nginx-ingress-controller.yml | 2 +- examples/rewrite/haproxy/README.md | 3 - examples/scaling-deployment/haproxy/README.md | 8 +- .../nginx/nginx-ingress-deployment.yaml | 2 +- .../nginx/nginx-ingress-controller.yaml | 2 +- examples/tcp/nginx/README.md | 2 +- .../nginx/nginx-tcp-ingress-controller.yaml | 2 +- .../elb-nginx/nginx-ingress-controller.yaml | 2 +- examples/tls-termination/haproxy/README.md | 3 - examples/udp/nginx/README.md | 2 +- .../nginx/nginx-udp-ingress-controller.yaml | 2 +- 34 files changed, 215 insertions(+), 55 deletions(-) diff --git a/controllers/nginx/Changelog.md b/controllers/nginx/Changelog.md index a7dc039c4..769013d77 100644 --- a/controllers/nginx/Changelog.md +++ b/controllers/nginx/Changelog.md @@ -1,5 +1,157 @@ Changelog +Changelog + +### 0.9-beta.12 + +**Image:** `gcr.io/google_containers/nginx-ingress-controller:0.9.0-beta.12` + +*Breaking changes:* + +- SSL passthrough is disabled by default. To enable the feature use `--enable-ssl-passthrough` + +*New Features:* + +- Support for arm64 +- New flags to customize listen ports +- Per minute rate limiting +- Rate limit whitelist +- Configuration of nginx worker timeout (to avoid zombie nginx workers processes) +- Redirects from non-www to www +- Custom default backend (per Ingress) + +*Changes:* + +- [X] [#977](https://github.com/kubernetes/ingress/pull/977) Add sort-backends command line option +- [X] [#981](https://github.com/kubernetes/ingress/pull/981) Add annotation to allow use of service ClusterIP for NGINX upstream. +- [X] [#991](https://github.com/kubernetes/ingress/pull/991) Remove secret sync loop +- [X] [#992](https://github.com/kubernetes/ingress/pull/992) Check errors generating pem files +- [X] [#993](https://github.com/kubernetes/ingress/pull/993) Fix the sed command to work on macOS +- [X] [#1013](https://github.com/kubernetes/ingress/pull/1013) The fields of vtsDate are unified in the form of plural +- [X] [#1025](https://github.com/kubernetes/ingress/pull/1025) Fix file watch +- [X] [#1027](https://github.com/kubernetes/ingress/pull/1027) Lint code +- [X] [#1031](https://github.com/kubernetes/ingress/pull/1031) Change missing secret name log level to V(3) +- [X] [#1032](https://github.com/kubernetes/ingress/pull/1032) Alternative syncSecret approach #1030 +- [X] [#1042](https://github.com/kubernetes/ingress/pull/1042) Add function to allow custom values in Ingress status +- [X] [#1043](https://github.com/kubernetes/ingress/pull/1043) Return reference to object providing Endpoint +- [X] [#1046](https://github.com/kubernetes/ingress/pull/1046) Add field FileSHA in BasicDigest struct +- [X] [#1058](https://github.com/kubernetes/ingress/pull/1058) add per minute rate limiting +- [X] [#1060](https://github.com/kubernetes/ingress/pull/1060) Update fsnotify dependency to fix arm64 issue +- [X] [#1065](https://github.com/kubernetes/ingress/pull/1065) Add more descriptive steps in Dev Documentation +- [X] [#1073](https://github.com/kubernetes/ingress/pull/1073) Release nginx-slim 0.22 +- [X] [#1074](https://github.com/kubernetes/ingress/pull/1074) Remove lua and use fastcgi to render errors +- [X] [#1075](https://github.com/kubernetes/ingress/pull/1075) (feat/ #374) support proxy timeout +- [X] [#1076](https://github.com/kubernetes/ingress/pull/1076) Add more ssl test cases +- [X] [#1078](https://github.com/kubernetes/ingress/pull/1078) fix the same udp port and tcp port, update nginx.conf error +- [X] [#1080](https://github.com/kubernetes/ingress/pull/1080) Disable platform s390x +- [X] [#1081](https://github.com/kubernetes/ingress/pull/1081) Spit Static check and Coverage in diff Stages of Travis CI +- [X] [#1082](https://github.com/kubernetes/ingress/pull/1082) Fix build tasks +- [X] [#1087](https://github.com/kubernetes/ingress/pull/1087) Release nginx-slim 0.23 +- [X] [#1088](https://github.com/kubernetes/ingress/pull/1088) Configure nginx worker timeout +- [X] [#1089](https://github.com/kubernetes/ingress/pull/1089) Update nginx to 1.13.4 +- [X] [#1098](https://github.com/kubernetes/ingress/pull/1098) Exposing the event recorder to allow other controllers to create events +- [X] [#1102](https://github.com/kubernetes/ingress/pull/1102) Fix lose SSL Passthrough +- [X] [#1104](https://github.com/kubernetes/ingress/pull/1104) Simplify verification of hostname in ssl certificates +- [X] [#1109](https://github.com/kubernetes/ingress/pull/1109) Cleanup remote address in nginx template +- [X] [#1110](https://github.com/kubernetes/ingress/pull/1110) Fix Endpoint comparison +- [X] [#1118](https://github.com/kubernetes/ingress/pull/1118) feat(#733)Support nginx bandwidth control +- [X] [#1124](https://github.com/kubernetes/ingress/pull/1124) check fields len in dns.go +- [X] [#1130](https://github.com/kubernetes/ingress/pull/1130) Update nginx.go +- [X] [#1134](https://github.com/kubernetes/ingress/pull/1134) replace deprecated interface with versioned ones +- [X] [#1136](https://github.com/kubernetes/ingress/pull/1136) Fix status update - changed in #1074 +- [X] [#1138](https://github.com/kubernetes/ingress/pull/1138) update nginx.go: preformance improve +- [X] [#1139](https://github.com/kubernetes/ingress/pull/1139) Fix Todo:convert sequence to table +- [X] [#1162](https://github.com/kubernetes/ingress/pull/1162) Optimize CI build time +- [X] [#1164](https://github.com/kubernetes/ingress/pull/1164) Use variable request_uri as redirect after auth +- [X] [#1179](https://github.com/kubernetes/ingress/pull/1179) Fix sticky upstream not used when enable rewrite +- [X] [#1184](https://github.com/kubernetes/ingress/pull/1184) Add support for temporal and permanent redirects +- [X] [#1185](https://github.com/kubernetes/ingress/pull/1185) Add more info about Server-Alias usage +- [X] [#1186](https://github.com/kubernetes/ingress/pull/1186) Add annotation for client-body-buffer-size per location +- [X] [#1190](https://github.com/kubernetes/ingress/pull/1190) Add flag to disable SSL passthrough +- [X] [#1193](https://github.com/kubernetes/ingress/pull/1193) fix broken link +- [X] [#1198](https://github.com/kubernetes/ingress/pull/1198) Add option for specific scheme for base url +- [X] [#1202](https://github.com/kubernetes/ingress/pull/1202) formatIP issue +- [X] [#1203](https://github.com/kubernetes/ingress/pull/1203) NGINX not reloading correctly +- [X] [#1204](https://github.com/kubernetes/ingress/pull/1204) Fix template error +- [X] [#1205](https://github.com/kubernetes/ingress/pull/1205) Add initial sync of secrets +- [X] [#1206](https://github.com/kubernetes/ingress/pull/1206) Update ssl-passthrough docs +- [X] [#1207](https://github.com/kubernetes/ingress/pull/1207) delete broken link +- [X] [#1208](https://github.com/kubernetes/ingress/pull/1208) fix some typo +- [X] [#1210](https://github.com/kubernetes/ingress/pull/1210) add rate limit whitelist +- [X] [#1215](https://github.com/kubernetes/ingress/pull/1215) Replace base64 encoding with random uuid +- [X] [#1218](https://github.com/kubernetes/ingress/pull/1218) Trivial fixes in core/pkg/net +- [X] [#1219](https://github.com/kubernetes/ingress/pull/1219) keep zones unique per ingress resource +- [X] [#1221](https://github.com/kubernetes/ingress/pull/1221) Move certificate authentication from location to server +- [X] [#1223](https://github.com/kubernetes/ingress/pull/1223) Add doc for non-www to www annotation +- [X] [#1224](https://github.com/kubernetes/ingress/pull/1224) refactor rate limit whitelist +- [X] [#1226](https://github.com/kubernetes/ingress/pull/1226) Remove useless variable in nginx.tmpl +- [X] [#1227](https://github.com/kubernetes/ingress/pull/1227) Update annotations doc with base-url-scheme +- [X] [#1233](https://github.com/kubernetes/ingress/pull/1233) Fix ClientBodyBufferSize annotation +- [X] [#1234](https://github.com/kubernetes/ingress/pull/1234) Lint code +- [X] [#1235](https://github.com/kubernetes/ingress/pull/1235) Fix Equal comparison +- [X] [#1236](https://github.com/kubernetes/ingress/pull/1236) Add Validation for Client Body Buffer Size +- [X] [#1238](https://github.com/kubernetes/ingress/pull/1238) Add support for 'client_body_timeout' and 'client_header_timeout' +- [X] [#1239](https://github.com/kubernetes/ingress/pull/1239) Add flags to customize listen ports and detect port collisions +- [X] [#1243](https://github.com/kubernetes/ingress/pull/1243) Add support for access-log-path and error-log-path +- [X] [#1244](https://github.com/kubernetes/ingress/pull/1244) Add custom default backend annotation + +*Documentation:* + +- [X] [#976](https://github.com/kubernetes/ingress/pull/976) Update annotations doc +- [X] [#979](https://github.com/kubernetes/ingress/pull/979) Missing auth example +- [X] [#980](https://github.com/kubernetes/ingress/pull/980) Add nginx basic auth example +- [X] [#1001](https://github.com/kubernetes/ingress/pull/1001) examples/nginx/rbac: Give access to own namespace +- [X] [#1005](https://github.com/kubernetes/ingress/pull/1005) Update configuration.md +- [X] [#1018](https://github.com/kubernetes/ingress/pull/1018) add docs for `proxy-set-headers` and `add-headers` +- [X] [#1038](https://github.com/kubernetes/ingress/pull/1038) typo / spelling in README.md +- [X] [#1039](https://github.com/kubernetes/ingress/pull/1039) typo in examples/tcp/nginx/README.md +- [X] [#1049](https://github.com/kubernetes/ingress/pull/1049) Fix config name in the example. +- [X] [#1054](https://github.com/kubernetes/ingress/pull/1054) Fix link to UDP example +- [X] [#1084](https://github.com/kubernetes/ingress/pull/1084) (issue #310)Fix some broken link +- [X] [#1103](https://github.com/kubernetes/ingress/pull/1103) Add GoDoc Widget +- [X] [#1105](https://github.com/kubernetes/ingress/pull/1105) Make Readme file more readable +- [X] [#1106](https://github.com/kubernetes/ingress/pull/1106) Update annotations.md +- [X] [#1107](https://github.com/kubernetes/ingress/pull/1107) Fix Broken Link +- [X] [#1119](https://github.com/kubernetes/ingress/pull/1119) fix typos in controllers/nginx/README.md +- [X] [#1122](https://github.com/kubernetes/ingress/pull/1122) Fix broken link +- [X] [#1131](https://github.com/kubernetes/ingress/pull/1131) Add short help doc in configuration for nginx limit rate +- [X] [#1143](https://github.com/kubernetes/ingress/pull/1143) Minor Typo Fix +- [X] [#1144](https://github.com/kubernetes/ingress/pull/1144) Minor Typo fix +- [X] [#1145](https://github.com/kubernetes/ingress/pull/1145) Minor Typo fix +- [X] [#1146](https://github.com/kubernetes/ingress/pull/1146) Fix Minor Typo in Readme +- [X] [#1147](https://github.com/kubernetes/ingress/pull/1147) Minor Typo Fix +- [X] [#1148](https://github.com/kubernetes/ingress/pull/1148) Minor Typo Fix in Getting-Started.md +- [X] [#1149](https://github.com/kubernetes/ingress/pull/1149) Fix Minor Typo in TLS authentication +- [X] [#1150](https://github.com/kubernetes/ingress/pull/1150) Fix Minor Typo in Customize the HAProxy configuration +- [X] [#1151](https://github.com/kubernetes/ingress/pull/1151) Fix Minor Typo in customization custom-template +- [X] [#1152](https://github.com/kubernetes/ingress/pull/1152) Fix minor typo in HAProxy Multi TLS certificate termination +- [X] [#1153](https://github.com/kubernetes/ingress/pull/1153) Fix minor typo in Multi TLS certificate termination +- [X] [#1154](https://github.com/kubernetes/ingress/pull/1154) Fix minor typo in Role Based Access Control +- [X] [#1155](https://github.com/kubernetes/ingress/pull/1155) Fix minor typo in TCP loadbalancing +- [X] [#1156](https://github.com/kubernetes/ingress/pull/1156) Fix minor typo in UDP loadbalancing +- [X] [#1157](https://github.com/kubernetes/ingress/pull/1157) Fix minor typos in Prerequisites +- [X] [#1158](https://github.com/kubernetes/ingress/pull/1158) Fix minor typo in Ingress examples +- [X] [#1159](https://github.com/kubernetes/ingress/pull/1159) Fix minor typos in Ingress admin guide +- [X] [#1160](https://github.com/kubernetes/ingress/pull/1160) Fix a broken href and typo in Ingress FAQ +- [X] [#1165](https://github.com/kubernetes/ingress/pull/1165) Update CONTRIBUTING.md +- [X] [#1168](https://github.com/kubernetes/ingress/pull/1168) finx link to running-locally.md +- [X] [#1170](https://github.com/kubernetes/ingress/pull/1170) Update dead link in nginx/HTTPS section +- [X] [#1172](https://github.com/kubernetes/ingress/pull/1172) Update README.md +- [X] [#1173](https://github.com/kubernetes/ingress/pull/1173) Update admin.md +- [X] [#1174](https://github.com/kubernetes/ingress/pull/1174) fix several titles +- [X] [#1177](https://github.com/kubernetes/ingress/pull/1177) fix typos +- [X] [#1188](https://github.com/kubernetes/ingress/pull/1188) Fix minor typo +- [X] [#1189](https://github.com/kubernetes/ingress/pull/1189) Fix sign in URL redirect parameter +- [X] [#1192](https://github.com/kubernetes/ingress/pull/1192) Update README.md +- [X] [#1195](https://github.com/kubernetes/ingress/pull/1195) Update troubleshooting.md +- [X] [#1196](https://github.com/kubernetes/ingress/pull/1196) Update README.md +- [X] [#1209](https://github.com/kubernetes/ingress/pull/1209) Update README.md +- [X] [#1085](https://github.com/kubernetes/ingress/pull/1085) Fix ConfigMap's namespace in custom configuration example for nginx +- [X] [#1142](https://github.com/kubernetes/ingress/pull/1142) Fix typo in multiple docs +- [X] [#1228](https://github.com/kubernetes/ingress/pull/1228) Update release doc in getting-started.md +- [X] [#1230](https://github.com/kubernetes/ingress/pull/1230) Update godep guide link + + ### 0.9-beta.11 **Image:** `gcr.io/google_containers/nginx-ingress-controller:0.9.0-beta.11` diff --git a/controllers/nginx/Makefile b/controllers/nginx/Makefile index ebd2b8472..4aebd4ac2 100644 --- a/controllers/nginx/Makefile +++ b/controllers/nginx/Makefile @@ -3,7 +3,7 @@ all: push BUILDTAGS= # Use the 0.0 tag for testing, it shouldn't clobber any release builds -TAG?=0.9.0-beta.11 +TAG?=0.9.0-beta.12 REGISTRY?=gcr.io/google_containers GOOS?=linux DOCKER?=gcloud docker -- diff --git a/core/pkg/ingress/annotations/alias/main.go b/core/pkg/ingress/annotations/alias/main.go index ddfbab208..3f22f41e8 100644 --- a/core/pkg/ingress/annotations/alias/main.go +++ b/core/pkg/ingress/annotations/alias/main.go @@ -38,4 +38,4 @@ func NewParser() parser.IngressAnnotation { // used to add an alias to the provided hosts func (a alias) Parse(ing *extensions.Ingress) (interface{}, error) { return parser.GetStringAnnotation(annotation, ing) -} \ No newline at end of file +} diff --git a/core/pkg/ingress/annotations/clientbodybuffersize/main.go b/core/pkg/ingress/annotations/clientbodybuffersize/main.go index b722c484d..bf67f819f 100644 --- a/core/pkg/ingress/annotations/clientbodybuffersize/main.go +++ b/core/pkg/ingress/annotations/clientbodybuffersize/main.go @@ -38,4 +38,4 @@ func NewParser() parser.IngressAnnotation { // used to add an client-body-buffer-size to the provided locations func (a clientBodyBufferSize) Parse(ing *extensions.Ingress) (interface{}, error) { return parser.GetStringAnnotation(annotation, ing) -} \ No newline at end of file +} diff --git a/core/pkg/ingress/controller/controller.go b/core/pkg/ingress/controller/controller.go index 96cbfbe8b..979bce2a5 100644 --- a/core/pkg/ingress/controller/controller.go +++ b/core/pkg/ingress/controller/controller.go @@ -187,7 +187,20 @@ func newIngressController(config *Configuration) *GenericController { ic.syncQueue.Enqueue(obj) }, DeleteFunc: func(obj interface{}) { - delIng := obj.(*extensions.Ingress) + delIng, ok := obj.(*extensions.Ingress) + if !ok { + // If we reached here it means the ingress was deleted but its final state is unrecorded. + tombstone, ok := obj.(cache.DeletedFinalStateUnknown) + if !ok { + glog.Errorf("couldn't get object from tombstone %#v", obj) + return + } + delIng, ok = tombstone.Obj.(*extensions.Ingress) + if !ok { + glog.Errorf("Tombstone contained object that is not an Ingress: %#v", obj) + return + } + } if !class.IsValid(delIng, ic.cfg.IngressClass, ic.cfg.DefaultIngressClass) { glog.Infof("ignoring delete for ingress %v based on annotation %v", delIng.Name, class.IngressKey) return @@ -223,7 +236,20 @@ func newIngressController(config *Configuration) *GenericController { } }, DeleteFunc: func(obj interface{}) { - sec := obj.(*api.Secret) + sec, ok := obj.(*api.Secret) + if !ok { + // If we reached here it means the secret was deleted but its final state is unrecorded. + tombstone, ok := obj.(cache.DeletedFinalStateUnknown) + if !ok { + glog.Errorf("couldn't get object from tombstone %#v", obj) + return + } + sec, ok = tombstone.Obj.(*api.Secret) + if !ok { + glog.Errorf("Tombstone contained object that is not a Secret: %#v", obj) + return + } + } key := fmt.Sprintf("%v/%v", sec.Namespace, sec.Name) ic.sslCertTracker.DeleteAll(key) }, diff --git a/docs/troubleshooting.md b/docs/troubleshooting.md index e583fe4d6..2fe3253f2 100644 --- a/docs/troubleshooting.md +++ b/docs/troubleshooting.md @@ -259,7 +259,7 @@ spec: spec: terminationGracePeriodSeconds: 60 containers: - - image: gcr.io/google_containers/nginx-ingress-controller:0.9.0-beta.11 + - image: gcr.io/google_containers/nginx-ingress-controller:0.9.0-beta.12 name: ingress-nginx imagePullPolicy: Always ports: diff --git a/examples/auth/basic/haproxy/README.md b/examples/auth/basic/haproxy/README.md index f9c87b1d3..621129405 100644 --- a/examples/auth/basic/haproxy/README.md +++ b/examples/auth/basic/haproxy/README.md @@ -12,9 +12,6 @@ This document has the following prerequisites: end up with controller, a sample web app and an ingress resource to the `foo.bar` domain -As mentioned in the deployment instructions, you MUST turn down any existing -ingress controllers before running HAProxy Ingress. - ## Using Basic Authentication HAProxy Ingress read user and password from `auth` file stored on secrets, one user diff --git a/examples/auth/client-certs/haproxy/README.md b/examples/auth/client-certs/haproxy/README.md index 75813ff1b..b4078b4b5 100644 --- a/examples/auth/client-certs/haproxy/README.md +++ b/examples/auth/client-certs/haproxy/README.md @@ -17,9 +17,6 @@ following these steps you should have a secret named `caingress`, a certificate * Use these same steps and create another CA and generate another certificate and private key `fake.crt` and `fake.key` just for testing -As mentioned in the deployment instructions, you MUST turn down any existing -ingress controllers before running HAProxy Ingress. - Secret, certificates and keys can be created using these shortcuts: CA and it's secret: diff --git a/examples/aws/nginx/nginx-ingress-controller.yaml b/examples/aws/nginx/nginx-ingress-controller.yaml index c9e6e3cba..5cc561602 100644 --- a/examples/aws/nginx/nginx-ingress-controller.yaml +++ b/examples/aws/nginx/nginx-ingress-controller.yaml @@ -101,7 +101,7 @@ spec: spec: terminationGracePeriodSeconds: 60 containers: - - image: gcr.io/google_containers/nginx-ingress-controller:0.9.0-beta.11 + - image: gcr.io/google_containers/nginx-ingress-controller:0.9.0-beta.12 name: ingress-nginx imagePullPolicy: Always ports: diff --git a/examples/customization/configuration-snippets/nginx/nginx-ingress-controller.yaml b/examples/customization/configuration-snippets/nginx/nginx-ingress-controller.yaml index 29e5f763a..277e661d1 100644 --- a/examples/customization/configuration-snippets/nginx/nginx-ingress-controller.yaml +++ b/examples/customization/configuration-snippets/nginx/nginx-ingress-controller.yaml @@ -19,7 +19,7 @@ spec: # hostNetwork: true terminationGracePeriodSeconds: 60 containers: - - image: gcr.io/google_containers/nginx-ingress-controller:0.9.0-beta.11 + - image: gcr.io/google_containers/nginx-ingress-controller:0.9.0-beta.12 name: nginx-ingress-controller readinessProbe: httpGet: diff --git a/examples/customization/custom-configuration/haproxy/README.md b/examples/customization/custom-configuration/haproxy/README.md index 708fbfae5..7763413dc 100644 --- a/examples/customization/custom-configuration/haproxy/README.md +++ b/examples/customization/custom-configuration/haproxy/README.md @@ -8,9 +8,6 @@ This document has the following prerequisites: Deploy only the tls-secret and the default backend from the [deployment instructions](../../../deployment/haproxy/) -As mentioned in the deployment instructions, you MUST turn down any existing -ingress controllers before running HAProxy Ingress. - ## Customize the HAProxy configuration Using a [ConfigMap](https://kubernetes.io/docs/user-guide/configmap/) is possible to customize the HAProxy configuration. diff --git a/examples/customization/custom-configuration/nginx/nginx-custom-configuration.yaml b/examples/customization/custom-configuration/nginx/nginx-custom-configuration.yaml index 554b6f82f..dfacaf1ea 100644 --- a/examples/customization/custom-configuration/nginx/nginx-custom-configuration.yaml +++ b/examples/customization/custom-configuration/nginx/nginx-custom-configuration.yaml @@ -22,7 +22,7 @@ spec: # hostNetwork: true terminationGracePeriodSeconds: 60 containers: - - image: gcr.io/google_containers/nginx-ingress-controller:0.9.0-beta.11 + - image: gcr.io/google_containers/nginx-ingress-controller:0.9.0-beta.12 name: nginx-ingress-controller readinessProbe: httpGet: diff --git a/examples/customization/custom-errors/nginx/rc-custom-errors.yaml b/examples/customization/custom-errors/nginx/rc-custom-errors.yaml index bc4b8ff7e..d26914fdf 100644 --- a/examples/customization/custom-errors/nginx/rc-custom-errors.yaml +++ b/examples/customization/custom-errors/nginx/rc-custom-errors.yaml @@ -16,7 +16,7 @@ spec: spec: terminationGracePeriodSeconds: 60 containers: - - image: gcr.io/google_containers/nginx-ingress-controller:0.9.0-beta.11 + - image: gcr.io/google_containers/nginx-ingress-controller:0.9.0-beta.12 name: nginx-ingress-lb imagePullPolicy: Always readinessProbe: diff --git a/examples/customization/custom-headers/nginx/nginx-ingress-controller.yaml b/examples/customization/custom-headers/nginx/nginx-ingress-controller.yaml index 29e5f763a..277e661d1 100644 --- a/examples/customization/custom-headers/nginx/nginx-ingress-controller.yaml +++ b/examples/customization/custom-headers/nginx/nginx-ingress-controller.yaml @@ -19,7 +19,7 @@ spec: # hostNetwork: true terminationGracePeriodSeconds: 60 containers: - - image: gcr.io/google_containers/nginx-ingress-controller:0.9.0-beta.11 + - image: gcr.io/google_containers/nginx-ingress-controller:0.9.0-beta.12 name: nginx-ingress-controller readinessProbe: httpGet: diff --git a/examples/customization/custom-template/custom-template.yaml b/examples/customization/custom-template/custom-template.yaml index 39e5267bb..abe519ae5 100644 --- a/examples/customization/custom-template/custom-template.yaml +++ b/examples/customization/custom-template/custom-template.yaml @@ -16,7 +16,7 @@ spec: spec: terminationGracePeriodSeconds: 60 containers: - - image: gcr.io/google_containers/nginx-ingress-controller:0.9.0-beta.11 + - image: gcr.io/google_containers/nginx-ingress-controller:0.9.0-beta.12 name: nginx-ingress-lb imagePullPolicy: Always readinessProbe: diff --git a/examples/customization/custom-vts-metrics/nginx/nginx-ingress-controller.yaml b/examples/customization/custom-vts-metrics/nginx/nginx-ingress-controller.yaml index f95c8c51e..e8e5c609e 100644 --- a/examples/customization/custom-vts-metrics/nginx/nginx-ingress-controller.yaml +++ b/examples/customization/custom-vts-metrics/nginx/nginx-ingress-controller.yaml @@ -22,7 +22,7 @@ spec: # hostNetwork: true terminationGracePeriodSeconds: 60 containers: - - image: gcr.io/google_containers/nginx-ingress-controller:0.9.0-beta.11 + - image: gcr.io/google_containers/nginx-ingress-controller:0.9.0-beta.12 name: nginx-ingress-controller readinessProbe: httpGet: diff --git a/examples/customization/ssl-dh-param/nginx/nginx-ingress-controller.yaml b/examples/customization/ssl-dh-param/nginx/nginx-ingress-controller.yaml index 29e5f763a..277e661d1 100644 --- a/examples/customization/ssl-dh-param/nginx/nginx-ingress-controller.yaml +++ b/examples/customization/ssl-dh-param/nginx/nginx-ingress-controller.yaml @@ -19,7 +19,7 @@ spec: # hostNetwork: true terminationGracePeriodSeconds: 60 containers: - - image: gcr.io/google_containers/nginx-ingress-controller:0.9.0-beta.11 + - image: gcr.io/google_containers/nginx-ingress-controller:0.9.0-beta.12 name: nginx-ingress-controller readinessProbe: httpGet: diff --git a/examples/daemonset/haproxy/README.md b/examples/daemonset/haproxy/README.md index 75fe32eb5..605af7f70 100644 --- a/examples/daemonset/haproxy/README.md +++ b/examples/daemonset/haproxy/README.md @@ -4,10 +4,10 @@ In some cases, the Ingress controller will be required to be run at all the node ## Prerequisites -This ingress controller doesn't yet have support for -[ingress classes](/examples/PREREQUISITES.md#ingress-class). You MUST turn -down any existing ingress controllers before running HAProxy Ingress controller or -they will fight for Ingresses. This includes any cloudprovider controller. +If you have another Ingress controller deployed, you will need to make sure your +Ingress resources target exactly one Ingress controller by specifying the +[ingress.class](/examples/PREREQUISITES.md#ingress-class) annotation as +`haproxy`. This document has also the following prerequisites: diff --git a/examples/daemonset/nginx/nginx-ingress-daemonset.yaml b/examples/daemonset/nginx/nginx-ingress-daemonset.yaml index e86f47111..8402f49a0 100644 --- a/examples/daemonset/nginx/nginx-ingress-daemonset.yaml +++ b/examples/daemonset/nginx/nginx-ingress-daemonset.yaml @@ -16,7 +16,7 @@ spec: spec: terminationGracePeriodSeconds: 60 containers: - - image: gcr.io/google_containers/nginx-ingress-controller:0.9.0-beta.11 + - image: gcr.io/google_containers/nginx-ingress-controller:0.9.0-beta.12 name: nginx-ingress-lb readinessProbe: httpGet: diff --git a/examples/deployment/haproxy/README.md b/examples/deployment/haproxy/README.md index 47e320f46..23099aded 100644 --- a/examples/deployment/haproxy/README.md +++ b/examples/deployment/haproxy/README.md @@ -5,10 +5,10 @@ for instructions on how to create a new one. ## Prerequisites -This ingress controller doesn't yet have support for -[ingress classes](/examples/PREREQUISITES.md#ingress-class). You MUST turn -down any existing ingress controllers before running HAProxy Ingress controller or -they will fight for Ingresses. This includes any cloudprovider controller. +If you have another Ingress controller deployed, you will need to make sure your +Ingress resources target exactly one Ingress controller by specifying the +[ingress.class](/examples/PREREQUISITES.md#ingress-class) annotation as +`haproxy`. This document has also the following prerequisites: diff --git a/examples/deployment/nginx/kubeadm/nginx-ingress-controller.yaml b/examples/deployment/nginx/kubeadm/nginx-ingress-controller.yaml index fa7c9d4d2..d2183c94b 100644 --- a/examples/deployment/nginx/kubeadm/nginx-ingress-controller.yaml +++ b/examples/deployment/nginx/kubeadm/nginx-ingress-controller.yaml @@ -71,7 +71,7 @@ spec: hostNetwork: true terminationGracePeriodSeconds: 60 containers: - - image: gcr.io/google_containers/nginx-ingress-controller:0.9.0-beta.11 + - image: gcr.io/google_containers/nginx-ingress-controller:0.9.0-beta.12 name: nginx-ingress-controller readinessProbe: httpGet: diff --git a/examples/deployment/nginx/nginx-ingress-controller.yaml b/examples/deployment/nginx/nginx-ingress-controller.yaml index 88ca0e9a3..4d8010939 100644 --- a/examples/deployment/nginx/nginx-ingress-controller.yaml +++ b/examples/deployment/nginx/nginx-ingress-controller.yaml @@ -22,7 +22,7 @@ spec: # hostNetwork: true terminationGracePeriodSeconds: 60 containers: - - image: gcr.io/google_containers/nginx-ingress-controller:0.9.0-beta.11 + - image: gcr.io/google_containers/nginx-ingress-controller:0.9.0-beta.12 name: nginx-ingress-controller readinessProbe: httpGet: diff --git a/examples/multi-tls/haproxy/README.md b/examples/multi-tls/haproxy/README.md index d03f4c709..bb7358c78 100644 --- a/examples/multi-tls/haproxy/README.md +++ b/examples/multi-tls/haproxy/README.md @@ -9,9 +9,6 @@ This document has the following prerequisites: * Deploy [HAProxy Ingress controller](/examples/deployment/haproxy), you should end up with controller, a sample web app and default TLS secret * Create [*two* secrets](/examples/PREREQUISITES.md#tls-certificates) named `foobar-ssl` with subject `'/CN=foo.bar'` and `barfoo-ssl` with subject `'/CN=bar.foo'` -As mentioned in the deployment instructions, you MUST turn down any existing -ingress controllers before running HAProxy Ingress. - ## Using a new TLS certificate Update ingress resource in order to add TLS termination to two hosts: diff --git a/examples/rbac/nginx/nginx-ingress-controller.yml b/examples/rbac/nginx/nginx-ingress-controller.yml index f908c4469..ad31e6271 100644 --- a/examples/rbac/nginx/nginx-ingress-controller.yml +++ b/examples/rbac/nginx/nginx-ingress-controller.yml @@ -16,7 +16,7 @@ spec: serviceAccountName: nginx-ingress-serviceaccount containers: - name: nginx-ingress-controller - image: gcr.io/google_containers/nginx-ingress-controller:0.9.0-beta.11 + image: gcr.io/google_containers/nginx-ingress-controller:0.9.0-beta.12 args: - /nginx-ingress-controller - --default-backend-service=default/default-http-backend diff --git a/examples/rewrite/haproxy/README.md b/examples/rewrite/haproxy/README.md index 07c8fc4b3..e013bb92f 100644 --- a/examples/rewrite/haproxy/README.md +++ b/examples/rewrite/haproxy/README.md @@ -12,9 +12,6 @@ the `foo.bar` domain * Configure only the default [TLS termination](/examples/tls-termination/haproxy) - there is no need to create another secret -As mentioned in the deployment instructions, you MUST turn down any existing -ingress controllers before running HAProxy Ingress. - ## Annotations The following annotations are implemented: diff --git a/examples/scaling-deployment/haproxy/README.md b/examples/scaling-deployment/haproxy/README.md index 463550d72..748422ada 100644 --- a/examples/scaling-deployment/haproxy/README.md +++ b/examples/scaling-deployment/haproxy/README.md @@ -4,10 +4,10 @@ This example aims to demonstrate the Deployment of multi haproxy ingress control ## Prerequisites -This ingress controller doesn't yet have support for -[ingress classes](/examples/PREREQUISITES.md#ingress-class). You MUST turn -down any existing ingress controllers before running HAProxy Ingress controller or -they will fight for Ingresses. This includes any cloudprovider controller. +If you have another Ingress controller deployed, you will need to make sure your +Ingress resources target exactly one Ingress controller by specifying the +[ingress.class](/examples/PREREQUISITES.md#ingress-class) annotation as +`haproxy`. This document has also the following prerequisites: diff --git a/examples/scaling-deployment/nginx/nginx-ingress-deployment.yaml b/examples/scaling-deployment/nginx/nginx-ingress-deployment.yaml index d812e7e2b..ce7185137 100644 --- a/examples/scaling-deployment/nginx/nginx-ingress-deployment.yaml +++ b/examples/scaling-deployment/nginx/nginx-ingress-deployment.yaml @@ -14,7 +14,7 @@ spec: spec: terminationGracePeriodSeconds: 60 containers: - - image: gcr.io/google_containers/nginx-ingress-controller:0.9.0-beta.11 + - image: gcr.io/google_containers/nginx-ingress-controller:0.9.0-beta.12 name: nginx-ingress-controller readinessProbe: httpGet: diff --git a/examples/static-ip/nginx/nginx-ingress-controller.yaml b/examples/static-ip/nginx/nginx-ingress-controller.yaml index 183ec5a55..d9c618fc9 100644 --- a/examples/static-ip/nginx/nginx-ingress-controller.yaml +++ b/examples/static-ip/nginx/nginx-ingress-controller.yaml @@ -18,7 +18,7 @@ spec: # hostNetwork: true terminationGracePeriodSeconds: 60 containers: - - image: gcr.io/google_containers/nginx-ingress-controller:0.9.0-beta.11 + - image: gcr.io/google_containers/nginx-ingress-controller:0.9.0-beta.12 name: nginx-ingress-controller readinessProbe: httpGet: diff --git a/examples/tcp/nginx/README.md b/examples/tcp/nginx/README.md index 82885c3d9..8de3c1190 100644 --- a/examples/tcp/nginx/README.md +++ b/examples/tcp/nginx/README.md @@ -47,7 +47,7 @@ nginx-ingress-controller 1 1 1 3m $ kubectl -n kube-system describe rc nginx-ingress-controller Name: nginx-ingress-controller Namespace: kube-system -Image(s): gcr.io/google_containers/nginx-ingress-controller:0.9.0-beta.11 +Image(s): gcr.io/google_containers/nginx-ingress-controller:0.9.0-beta.12 Selector: k8s-app=nginx-tcp-ingress-lb Labels: k8s-app=nginx-ingress-lb Annotations: diff --git a/examples/tcp/nginx/nginx-tcp-ingress-controller.yaml b/examples/tcp/nginx/nginx-tcp-ingress-controller.yaml index ba013313a..569176cc1 100644 --- a/examples/tcp/nginx/nginx-tcp-ingress-controller.yaml +++ b/examples/tcp/nginx/nginx-tcp-ingress-controller.yaml @@ -17,7 +17,7 @@ spec: spec: terminationGracePeriodSeconds: 60 containers: - - image: gcr.io/google_containers/nginx-ingress-controller:0.9.0-beta.11 + - image: gcr.io/google_containers/nginx-ingress-controller:0.9.0-beta.12 name: nginx-tcp-ingress-lb readinessProbe: httpGet: diff --git a/examples/tls-termination/elb-nginx/nginx-ingress-controller.yaml b/examples/tls-termination/elb-nginx/nginx-ingress-controller.yaml index 8f7d20a80..dc0bb9304 100644 --- a/examples/tls-termination/elb-nginx/nginx-ingress-controller.yaml +++ b/examples/tls-termination/elb-nginx/nginx-ingress-controller.yaml @@ -105,7 +105,7 @@ spec: spec: terminationGracePeriodSeconds: 60 containers: - - image: gcr.io/google_containers/nginx-ingress-controller:0.9.0-beta.11 + - image: gcr.io/google_containers/nginx-ingress-controller:0.9.0-beta.12 name: ingress-nginx imagePullPolicy: Always ports: diff --git a/examples/tls-termination/haproxy/README.md b/examples/tls-termination/haproxy/README.md index e019a00ee..8f1fb8515 100644 --- a/examples/tls-termination/haproxy/README.md +++ b/examples/tls-termination/haproxy/README.md @@ -7,9 +7,6 @@ This document has the following prerequisites: * Deploy [HAProxy Ingress controller](/examples/deployment/haproxy), you should end up with controller, a sample web app and default TLS secret * Create [*another* secret](/examples/PREREQUISITES.md#tls-certificates) named `foobar-ssl` and subject `'/CN=foo.bar'` -As mentioned in the deployment instructions, you MUST turn down any existing -ingress controllers before running HAProxy Ingress. - ## Using default TLS certificate Update ingress resource in order to add TLS termination to host `foo.bar`: diff --git a/examples/udp/nginx/README.md b/examples/udp/nginx/README.md index 64ff5bb26..96b186f06 100644 --- a/examples/udp/nginx/README.md +++ b/examples/udp/nginx/README.md @@ -53,7 +53,7 @@ nginx-udp-ingress-controller 1 1 1 13m $ kubectl -n kube-system describe rc nginx-udp-ingress-controller Name: nginx-udp-ingress-controller Namespace: kube-system -Image(s): gcr.io/google_containers/nginx-ingress-controller:0.9.0-beta.11 +Image(s): gcr.io/google_containers/nginx-ingress-controller:0.9.0-beta.12 Selector: k8s-app=nginx-udp-ingress-lb Labels: k8s-app=nginx-udp-ingress-lb Annotations: diff --git a/examples/udp/nginx/nginx-udp-ingress-controller.yaml b/examples/udp/nginx/nginx-udp-ingress-controller.yaml index 77b9710b1..5c629dbea 100644 --- a/examples/udp/nginx/nginx-udp-ingress-controller.yaml +++ b/examples/udp/nginx/nginx-udp-ingress-controller.yaml @@ -17,7 +17,7 @@ spec: spec: terminationGracePeriodSeconds: 60 containers: - - image: gcr.io/google_containers/nginx-ingress-controller:0.9.0-beta.11 + - image: gcr.io/google_containers/nginx-ingress-controller:0.9.0-beta.12 name: nginx-udp-ingress-lb readinessProbe: httpGet: