Comments (3)
Forcing the old one to close before the new one can start will result in a blip in uptime, so we still want to wait on the session to fully start if we can, but we still shouldn't block forever in the event that it never will.
Is it possible to wait for the new session to start before closing the old one if there is a limit of 1 agent session for free accounts? If you are limited to a single active session, it seems we'll always have to tear one down before creating the new one which will always have a small blip of downtime for free accounts.
We technically could make a helm configuration that allows free accounts to specify a Recreate Rollout Strategy instead of a Rolling Update, but the DevX for free accounts to remember to add a specific helm override isn't the greatest.
from kubernetes-ingress-controller.
Is it possible to wait for the new session to start before closing the old one if there is a limit of 1 agent session for free accounts? If you are limited to a single active session, it seems we'll always have to tear one down before creating the new one which will always have a small blip of downtime for free accounts.
That's basically what we're doing already, but there's no way to tell the first session that it's time to shut down while the new one is coming up. The new instance can start, but it'll never get marked Ready until its tunnel session starts, which means the original will never get told to shut down.
We could go ahead and mark it "Ready" without tunnel session readiness, which will shut down the original, and cause the unavoidable blip for free accounts, and a racey blip for accounts with higher limits but only a single controller instance. If there are multiple controller pods, and they don't all go out simultaneously, it should be fine. That's probably the simplest fix.
The other is to check the error that comes back from a failure to start the tunnel session, and go ahead and mark the pod as Ready if it's a limit error.
from kubernetes-ingress-controller.
Is it possible to update the Helm chart to be able to override the default spec.strategy.type (RollingUpdate -> Recreate)?
from kubernetes-ingress-controller.
Related Issues (20)
- Support container lifecycle hooks HOT 1
- Can I expose the k8s control plane itself? HOT 3
- Update https://ngrok.github.io/kubernetes-ingress-controller/ HOT 9
- Remove old helm 0.4.0 version of the ingress controller
- Allow the ingress controller to successfully deploy without authtoken or apikey's defined HOT 3
- InternalError HOT 1
- Example ingress yaml should lowercase domain
- unable to start manager || ngrok ingress kubernetes HOT 3
- Enable OpenTelemetry instrumentation HOT 1
- CNAME Target not being set on Ingress Status HOT 1
- Add a "CONTRIBUTING.md"
- Support for kinds that aren't services HOT 1
- Need the ability to specify the equivalent of root_cas: host in the ingress controller HOT 6
- Productize an easier way to create access to the k8s api endpoint HOT 1
- Add support for Load Balancer CRD with ability to integrate with ExternalDNS
- Gateway API Support: HTTPRoute in different namespace than Gateway HOT 2
- Better Events for Resources
- Unable to delete Load Balancer Service
- LoadBalancer Services not re-reconciling on changes to modulesets or traffic policy
- Unable to create/use wildcard domain HOT 1
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 kubernetes-ingress-controller.