-
Notifications
You must be signed in to change notification settings - Fork 1.3k
[registry-facade] Re-deploying Gitpod breaks current image pulls #2512
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Labels
Milestone
Comments
Working example for passing sockets/FDs through unix sockets: https://github.com/ftrvxmtrx/fd |
Hm. It feels like the above is like shooting birds with cannons. I guess you already checked, just to make sure: Is it an option to create the socket using |
This was referenced Dec 18, 2020
PR is merged, follow up in #3049 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Problem
registry-facade runs as DaemonSet on each node and the container runtime (e.g. containerd) pull through this service. The service is available through a
hostPort
on the node directly, exactly because it needs to be accessed from outside of Kubernetes.When restarting the registry-facade service, e.g. while deploying, there's a service dis-/interruption. Currently running image pulls break because the service goes down. New image pulls fail because there's no service available in this moment.
Possible Solutions
Graceful socket handover: when a new registry-facade starts, it checks if there's already a service running. If so, it requests a handover from the old instance. The new facade would take over the listening socket, and place the old one in a "draining mode". We'd need to allow for a generous termination grace period.
The text was updated successfully, but these errors were encountered: