Comments (7)
Some example logs from our ingress controller when playing on our staging cluster with octops controller enabled. You can see the ingress controller reloads every time a new ingress resource is created:
I0203 19:52:23.697929 6 controller.go:146] "Configuration changes detected, backend reload required"
I0203 19:52:24.209096 6 controller.go:163] "Backend successfully reloaded"
I0203 19:52:24.210289 6 event.go:282] Event(v1.ObjectReference{Kind:"Pod", Namespace:"default", Name:"gaming-cluster-ingress-nginx-controller-69c54ff79f-5xl48", UID:"e6cf6c05-1378-4ea3-a080-ad4a132cbfe8", APIVersion:"v1", ResourceVersion:"70067102", FieldPath:""}): type: 'Normal' reason: 'RELOAD' NGINX reload triggered due to a change in configuration
I0203 19:52:30.457386 6 controller.go:146] "Configuration changes detected, backend reload required"
I0203 19:52:30.705136 6 controller.go:163] "Backend successfully reloaded"
I0203 19:52:30.706209 6 event.go:282] Event(v1.ObjectReference{Kind:"Pod", Namespace:"default", Name:"gaming-cluster-ingress-nginx-controller-69c54ff79f-5xl48", UID:"e6cf6c05-1378-4ea3-a080-ad4a132cbfe8", APIVersion:"v1", ResourceVersion:"70067102", FieldPath:""}): type: 'Normal' reason: 'RELOAD' NGINX reload triggered due to a change in configuration
I0203 19:53:00.434621 6 controller.go:146] "Configuration changes detected, backend reload required"
I0203 19:53:00.689898 6 controller.go:163] "Backend successfully reloaded"
I0203 19:53:00.691200 6 event.go:282] Event(v1.ObjectReference{Kind:"Pod", Namespace:"default", Name:"gaming-cluster-ingress-nginx-controller-69c54ff79f-5xl48", UID:"e6cf6c05-1378-4ea3-a080-ad4a132cbfe8", APIVersion:"v1", ResourceVersion:"70067102", FieldPath:""}): type: 'Normal' reason: 'RELOAD' NGINX reload triggered due to a change in configuration
I0203 20:05:11.867448 6 controller.go:146] "Configuration changes detected, backend reload required"
I0203 20:05:12.444033 6 controller.go:163] "Backend successfully reloaded"
I0203 20:05:12.445512 6 event.go:282] Event(v1.ObjectReference{Kind:"Pod", Namespace:"default", Name:"gaming-cluster-ingress-nginx-controller-69c54ff79f-5xl48", UID:"e6cf6c05-1378-4ea3-a080-ad4a132cbfe8", APIVersion:"v1", ResourceVersion:"70067102", FieldPath:""}): type: 'Normal' reason: 'RELOAD' NGINX reload triggered due to a change in configuration
I0203 20:05:15.134302 6 controller.go:146] "Configuration changes detected, backend reload required"
I0203 20:05:15.453845 6 controller.go:163] "Backend successfully reloaded"
I0203 20:05:15.455368 6 event.go:282] Event(v1.ObjectReference{Kind:"Pod", Namespace:"default", Name:"gaming-cluster-ingress-nginx-controller-69c54ff79f-5xl48", UID:"e6cf6c05-1378-4ea3-a080-ad4a132cbfe8", APIVersion:"v1", ResourceVersion:"70067102", FieldPath:""}): type: 'Normal' reason: 'RELOAD' NGINX reload triggered due to a change in configuration
I0203 20:05:37.013543 6 controller.go:146] "Configuration changes detected, backend reload required"
I0203 20:05:37.316147 6 controller.go:163] "Backend successfully reloaded"
I0203 20:05:37.319452 6 event.go:282] Event(v1.ObjectReference{Kind:"Pod", Namespace:"default", Name:"gaming-cluster-ingress-nginx-controller-69c54ff79f-5xl48", UID:"e6cf6c05-1378-4ea3-a080-ad4a132cbfe8", APIVersion:"v1", ResourceVersion:"70067102", FieldPath:""}): type: 'Normal' reason: 'RELOAD' NGINX reload triggered due to a change in configuration
I0203 20:05:40.346314 6 controller.go:146] "Configuration changes detected, backend reload required"
I0203 20:05:40.591616 6 controller.go:163] "Backend successfully reloaded"
I0203 20:05:40.592452 6 event.go:282] Event(v1.ObjectReference{Kind:"Pod", Namespace:"default", Name:"gaming-cluster-ingress-nginx-controller-69c54ff79f-5xl48", UID:"e6cf6c05-1378-4ea3-a080-ad4a132cbfe8", APIVersion:"v1", ResourceVersion:"70067102", FieldPath:""}): type: 'Normal' reason: 'RELOAD' NGINX reload triggered due to a change in configuration
I0203 21:30:11.061375 6 controller.go:146] "Configuration changes detected, backend reload required"
I0203 21:30:11.306018 6 controller.go:163] "Backend successfully reloaded"
I0203 21:30:11.307283 6 event.go:282] Event(v1.ObjectReference{Kind:"Pod", Namespace:"default", Name:"gaming-cluster-ingress-nginx-controller-69c54ff79f-5xl48", UID:"e6cf6c05-1378-4ea3-a080-ad4a132cbfe8", APIVersion:"v1", ResourceVersion:"70067102", FieldPath:""}): type: 'Normal' reason: 'RELOAD' NGINX reload triggered due to a change in configuration
I0203 21:34:37.777301 6 controller.go:146] "Configuration changes detected, backend reload required"
I0203 21:34:38.357232 6 controller.go:163] "Backend successfully reloaded"
I0203 21:34:38.358759 6 event.go:282] Event(v1.ObjectReference{Kind:"Pod", Namespace:"default", Name:"gaming-cluster-ingress-nginx-controller-69c54ff79f-5xl48", UID:"e6cf6c05-1378-4ea3-a080-ad4a132cbfe8", APIVersion:"v1", ResourceVersion:"70067102", FieldPath:""}): type: 'Normal' reason: 'RELOAD' NGINX reload triggered due to a change in configuration
I0203 21:34:41.110120 6 controller.go:146] "Configuration changes detected, backend reload required"
I0203 21:34:41.413161 6 controller.go:163] "Backend successfully reloaded"
I0203 21:34:41.414632 6 event.go:282] Event(v1.ObjectReference{Kind:"Pod", Namespace:"default", Name:"gaming-cluster-ingress-nginx-controller-69c54ff79f-5xl48", UID:"e6cf6c05-1378-4ea3-a080-ad4a132cbfe8", APIVersion:"v1", ResourceVersion:"70067102", FieldPath:""}): type: 'Normal' reason: 'RELOAD' NGINX reload triggered due to a change in configuration
I0203 21:35:31.260247 6 controller.go:146] "Configuration changes detected, backend reload required"
I0203 21:35:31.523111 6 controller.go:163] "Backend successfully reloaded"
I0203 21:35:31.526728 6 event.go:282] Event(v1.ObjectReference{Kind:"Pod", Namespace:"default", Name:"gaming-cluster-ingress-nginx-controller-69c54ff79f-5xl48", UID:"e6cf6c05-1378-4ea3-a080-ad4a132cbfe8", APIVersion:"v1", ResourceVersion:"70067102", FieldPath:""}): type: 'Normal' reason: 'RELOAD' NGINX reload triggered due to a change in configuration
I0203 21:40:04.060345 6 controller.go:146] "Configuration changes detected, backend reload required"
I0203 21:40:04.601178 6 controller.go:163] "Backend successfully reloaded"
I0203 21:40:04.610565 6 event.go:282] Event(v1.ObjectReference{Kind:"Pod", Namespace:"default", Name:"gaming-cluster-ingress-nginx-controller-69c54ff79f-5xl48", UID:"e6cf6c05-1378-4ea3-a080-ad4a132cbfe8", APIVersion:"v1", ResourceVersion:"70067102", FieldPath:""}): type: 'Normal' reason: 'RELOAD' NGINX reload triggered due to a change in configuration
I0203 21:40:07.382857 6 controller.go:146] "Configuration changes detected, backend reload required"
I0203 21:40:07.755838 6 controller.go:163] "Backend successfully reloaded"
I0203 21:40:07.757164 6 event.go:282] Event(v1.ObjectReference{Kind:"Pod", Namespace:"default", Name:"gaming-cluster-ingress-nginx-controller-69c54ff79f-5xl48", UID:"e6cf6c05-1378-4ea3-a080-ad4a132cbfe8", APIVersion:"v1", ResourceVersion:"70067102", FieldPath:""}): type: 'Normal' reason: 'RELOAD' NGINX reload triggered due to a change in configuration
I0203 21:40:57.174052 6 controller.go:146] "Configuration changes detected, backend reload required"
I0203 21:40:57.502071 6 controller.go:163] "Backend successfully reloaded"
I0203 21:40:57.505795 6 event.go:282] Event(v1.ObjectReference{Kind:"Pod", Namespace:"default", Name:"gaming-cluster-ingress-nginx-controller-69c54ff79f-5xl48", UID:"e6cf6c05-1378-4ea3-a080-ad4a132cbfe8", APIVersion:"v1", ResourceVersion:"70067102", FieldPath:""}): type: 'Normal' reason: 'RELOAD' NGINX reload triggered due to a change in configuration
I0203 21:54:01.241225 6 controller.go:146] "Configuration changes detected, backend reload required"
I0203 21:54:01.972988 6 controller.go:163] "Backend successfully reloaded"
I0203 21:54:01.974597 6 event.go:282] Event(v1.ObjectReference{Kind:"Pod", Namespace:"default", Name:"gaming-cluster-ingress-nginx-controller-69c54ff79f-5xl48", UID:"e6cf6c05-1378-4ea3-a080-ad4a132cbfe8", APIVersion:"v1", ResourceVersion:"70067102", FieldPath:""}): type: 'Normal' reason: 'RELOAD' NGINX reload triggered due to a change in configuration
I0203 21:57:53.944692 6 controller.go:146] "Configuration changes detected, backend reload required"
I0203 21:57:54.277236 6 controller.go:163] "Backend successfully reloaded"
I0203 21:57:54.278582 6 event.go:282] Event(v1.ObjectReference{Kind:"Pod", Namespace:"default", Name:"gaming-cluster-ingress-nginx-controller-69c54ff79f-5xl48", UID:"e6cf6c05-1378-4ea3-a080-ad4a132cbfe8", APIVersion:"v1", ResourceVersion:"70067102", FieldPath:""}): type: 'Normal' reason: 'RELOAD' NGINX reload triggered due to a change in configuration
I0203 21:58:30.428631 6 controller.go:146] "Configuration changes detected, backend reload required"
I0203 21:58:30.878348 6 controller.go:163] "Backend successfully reloaded"
I0203 21:58:30.880584 6 event.go:282] Event(v1.ObjectReference{Kind:"Pod", Namespace:"default", Name:"gaming-cluster-ingress-nginx-controller-69c54ff79f-5xl48", UID:"e6cf6c05-1378-4ea3-a080-ad4a132cbfe8", APIVersion:"v1", ResourceVersion:"70067102", FieldPath:""}): type: 'Normal' reason: 'RELOAD' NGINX reload triggered due to a change in configuration
I0203 21:59:31.081475 6 controller.go:146] "Configuration changes detected, backend reload required"
I0203 21:59:31.415205 6 controller.go:163] "Backend successfully reloaded"
I0203 21:59:31.416535 6 event.go:282] Event(v1.ObjectReference{Kind:"Pod", Namespace:"default", Name:"gaming-cluster-ingress-nginx-controller-69c54ff79f-5xl48", UID:"e6cf6c05-1378-4ea3-a080-ad4a132cbfe8", APIVersion:"v1", ResourceVersion:"70067102", FieldPath:""}): type: 'Normal' reason: 'RELOAD' NGINX reload triggered due to a change in configuration
I0203 22:05:01.534419 6 controller.go:146] "Configuration changes detected, backend reload required"
I0203 22:05:02.141184 6 controller.go:163] "Backend successfully reloaded"
I0203 22:05:02.143331 6 event.go:282] Event(v1.ObjectReference{Kind:"Pod", Namespace:"default", Name:"gaming-cluster-ingress-nginx-controller-69c54ff79f-5xl48", UID:"e6cf6c05-1378-4ea3-a080-ad4a132cbfe8", APIVersion:"v1", ResourceVersion:"70067102", FieldPath:""}): type: 'Normal' reason: 'RELOAD' NGINX reload triggered due to a change in configuration
I0203 22:05:37.021182 6 controller.go:146] "Configuration changes detected, backend reload required"
I0203 22:05:37.353131 6 controller.go:163] "Backend successfully reloaded"
I0203 22:05:37.354165 6 event.go:282] Event(v1.ObjectReference{Kind:"Pod", Namespace:"default", Name:"gaming-cluster-ingress-nginx-controller-69c54ff79f-5xl48", UID:"e6cf6c05-1378-4ea3-a080-ad4a132cbfe8", APIVersion:"v1", ResourceVersion:"70067102", FieldPath:""}): type: 'Normal' reason: 'RELOAD' NGINX reload triggered due to a change in configuration
I0203 22:05:40.353361 6 controller.go:146] "Configuration changes detected, backend reload required"
I0203 22:05:40.837159 6 controller.go:163] "Backend successfully reloaded"
I0203 22:05:40.838407 6 event.go:282] Event(v1.ObjectReference{Kind:"Pod", Namespace:"default", Name:"gaming-cluster-ingress-nginx-controller-69c54ff79f-5xl48", UID:"e6cf6c05-1378-4ea3-a080-ad4a132cbfe8", APIVersion:"v1", ResourceVersion:"70067102", FieldPath:""}): type: 'Normal' reason: 'RELOAD' NGINX reload triggered due to a change in configuration
I0203 22:06:37.007837 6 controller.go:146] "Configuration changes detected, backend reload required"
I0203 22:06:37.311283 6 controller.go:163] "Backend successfully reloaded"
I0203 22:06:37.312053 6 event.go:282] Event(v1.ObjectReference{Kind:"Pod", Namespace:"default", Name:"gaming-cluster-ingress-nginx-controller-69c54ff79f-5xl48", UID:"e6cf6c05-1378-4ea3-a080-ad4a132cbfe8", APIVersion:"v1", ResourceVersion:"70067102", FieldPath:""}): type: 'Normal' reason: 'RELOAD' NGINX reload triggered due to a change in configuration
I0203 22:09:56.993499 6 controller.go:146] "Configuration changes detected, backend reload required"
I0203 22:09:57.205114 6 controller.go:163] "Backend successfully reloaded"
I0203 22:09:57.206113 6 event.go:282] Event(v1.ObjectReference{Kind:"Pod", Namespace:"default", Name:"gaming-cluster-ingress-nginx-controller-69c54ff79f-5xl48", UID:"e6cf6c05-1378-4ea3-a080-ad4a132cbfe8", APIVersion:"v1", ResourceVersion:"70067102", FieldPath:""}): type: 'Normal' reason: 'RELOAD' NGINX reload triggered due to a change in configuration```
from gameserver-ingress-controller.
Tks @jordo I will investigate that too.
from gameserver-ingress-controller.
Quick update: The restart is not caused by the octops controller. This is actually a behaviour implemented by the NGINX ingress controller which causes a restart of the process when an Ingress resource is created, updated or deleted. See details on https://kubernetes.github.io/ingress-nginx/how-it-works/#when-a-reload-is-required.
The same problem is not present when using another ingress controller like HAProxy or Contour.
I will keep this issue open while investigating the mentioned alternatives to NGINX Ingress Controller. My goal is to write down a detailed How-To for using another controller together with the Octops Controller.
from gameserver-ingress-controller.
We have promoted all of ingress traffic through HAProxy ingress controller (as an alternative to open-source nginx ingress controller), and can confirm we no longer receive any socket disconnections on any active connection that is routed through the same reverse proxy (HAProxy now).
from gameserver-ingress-controller.
And as example, we were able to accomplish feature parity of what nginx provided for our use case via octops prefixes below:
octops.io/gameserver-ingress-mode: "path"
octops.io/gameserver-ingress-fqdn: {{ .Values.gameDomain }}
octops-external-dns.alpha.kubernetes.io/hostname: {{ .Values.gameDomain }}
octops-external-dns.alpha.kubernetes.io/ttl: "60"
octops-kubernetes.io/ingress.class: haproxy
octops-haproxy.org/server-ssl: "true"
from gameserver-ingress-controller.
controller we are using is haproxytech/kubernetes-ingress
from gameserver-ingress-controller.
Closing this issue due to the update that supports HAProxy.
from gameserver-ingress-controller.
Related Issues (18)
- Support for specific secretName HOT 1
- Multiple Replicas for controller HOT 7
- Add Prometheus instrumentation to Reconcile
- "Path" routing mode changes the relative path of requests HOT 2
- Unit Tests? HOT 1
- Contour Ingress does not rewrite path in Path mode HOT 2
- Template access to service objects
- Dont require octops.io/issuer-tls-name annotation if octops.io/secret-name is present HOT 7
- Getting some error logs about event permissions HOT 7
- Support multiple hosts HOT 8
- Support option to terminate TLS at the gameserver (complete TLS passthrough) HOT 1
- arm64 support? HOT 3
- websocket-routes annotation template not evaluated when generating Ingress HOT 2
- Ingress created by the controller is unreachable HOT 10
- tls-secret-name requires terminate-tls=true, which makes the cert-issuer override that certificate in kubernetes HOT 7
- Path based ingress->gameserver rules HOT 3
- Pass custom labels and/or annotations upon creation to gameserver-ingress-controller managed ingresses HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from gameserver-ingress-controller.