Comments (9)
Sounds like a really good idea, especially the not-making-you-do-everything part!
Question about ips: Right now, as I understand it the IP is the load-balancer IP. Can we update that to point to another cluster without updating it at the DNS level? Or do we need an additional layer of indirection that we don't yet have in order to accomplish that?
from mybinder.org-deploy.
@betatim not sure. I think we should treat the LoadBalancer that Kubernetes has provisioned as 'owned' by Kubernetes and try not to fitz with it directly in Google Cloud console. I am pretty sure that'll just get overwritten silently at some point.
from mybinder.org-deploy.
For sure not suggesting fiddling around through the UI. You'd have to set up things through the helm chart. I just noticed it while browsing around which is my way of discovering what is out there ;)
from mybinder.org-deploy.
Ideally someone else not me would do all this :D I think that'd be a great way to build operational capacity in the team/community, and it'll also be a lot of fun/learning for the person doing it!
from mybinder.org-deploy.
I'd help with that. (1) and (2) look like things I already know how to do, (3) I'd appreciate a pointer as all the docs I've read so far don't mention static IPs (I'll start by sniffing around the cloud console).
from mybinder.org-deploy.
Notes from poking around: the load balancer is an Ingress, it knows where to point to because of the backend configuration in the helm chart of binderhub.
This means each binderhub deployment/cluster has one of these ingress controllers/load balancers. I don't think we could point the ingress of prod-a to the service called binder in a cluster called prod-b. Also weird because you are mixing things together.
So right now I'm thinking like Min that we need another Ingress/LB in front of the LB for prod-a and prod-b.
from mybinder.org-deploy.
Ideally, we would have another Cloud Load Balancer from Google Cloud of some sort that gives us an IP we can switch between the lb IPs of prod-a and prod-b. However, from a cursory look it looks like it isn't possible to get a Cloud Load Balancer that lets you switch between two IPs, rather than two instance groups? Hopefully I had just missed something, and this feature exists in there somewhere... If so, we should use it :D
The alternative (and what I did for switching between prod and prod-a):
- "Release" the static IP from its current configuration (I did this by deleting the svc in prod, but there is probably a gcloud way to do this). This keeps the IP still in our project (since we've 'reserved' it) but available for use by other kubernetes clusters.
- Deploy the helm chart to prod-a, including the nginx-ingress IP configuration
This is more error prone, but still decent.
The option I'd like us to not do is to have another series of servers whose job it is to do the load balancing. While easy, this just kicks the 'cold spare / switching' can down the road to another set of servers...
Thanks a lot for taking this up, @betatim and @minrk!
from mybinder.org-deploy.
If you click on "edit config" for the load balancer in the cloud console you see the following:
So maybe we can use that to configure a fail over? One thing we'd have to understand is why the current LB thinks that two of the three nodes in the prod-a cluster are "unhealthy".
from mybinder.org-deploy.
We have federation now.
from mybinder.org-deploy.
Related Issues (20)
- Record GESIS deploy into grafana
- mybinder.org is down and returning ERROR 500: Internal Server Error. HOT 13
- Streamline GESIS deployment HOT 5
- Is email alert on Grafana enable? HOT 6
- One of the OVH nodes is out of disk space HOT 2
- OVH down HOT 1
- Large number of requests waiting on build HOT 2
- Sort-term strategy to improve the launch success rate HOT 5
- Centralised logging for cryptnono?
- Incident - High number of builds on GESIS server on 25 January HOT 2
- Upcoming workshop maximum concurent users limit. HOT 5
- How to get `kubectl` access to curvenote member? HOT 1
- GESIS was "down" from 10:40 UTC+1 until 13:20 UTC+1 HOT 2
- GESIS Server will be down on 14 February 2024 for HDD exchange HOT 1
- GESIS server unable to launch repositories HOT 3
- Failed to connect to event stream on many repos (that used to work) HOT 4
- Raniere will be out of the office from 28/February/2024 until 10/March/2024
- Service (at GESIS?) potentially down HOT 5
- Too many build pods per node on GESIS HOT 1
- Non-running build pods accumulating on GESIS node 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 mybinder.org-deploy.