-
Notifications
You must be signed in to change notification settings - Fork 57
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
Question: What happens if a spegel node is down? #440
Comments
From my understanding you're correct, if a node goes (spot instance reclaimed, goes offline, daemonset dies and loses a pod) then spegel will just pull via the spegel pod on the same node, and then advertise it's available to the other instances if you initiate a pull on another node. |
UPDATE: Note, better version below. Indeed, spegel does not currently do any proactive replication of pulled images, see #375. And as danielloader says, the consequence of peer failure is relatively benign. Here is an attempt at a FAQ answer for this question:
spegel's documentation currently does not have a detailed text description of the pull flow. @guettli do you feel we should have this detail level in the README or would you have found it if we put it in the FAQ? |
Sorry, the above description is slightly confused. Actually, one spegel peer forwarding to another spegel peer will use a httputil.ReverseProxy (not the containerd.Client as the text above implies) which uses a http.DefaultTransport (see https://cs.opensource.google/go/go/+/master:src/net/http/transport.go;l=43) and will time out accordingly. The scenario above may of course also occur if spegel cannot talk to its local containerd domain socket, but that failure is likely to be instant, unless containerd misbehaves in some inspired way. Better version:
|
@bittrance it would be great to have this in the FAQ. Thank you! |
I will have a look at #443 tomorrow but over all what @bittrance stated is true. I have been looking at future solutions to do preemptive distribution of images to make sure that replication is >1. This will most likely be a feature in Spegel in the future but i don't know when and how it will look. There is a lot of aspects to take into account when building these features and I want to hit as many use cases with as small changes as possible. |
@phillebaba great to hear, your plans. At the moment this question was mostly about missing documentation. Thank you. |
Describe the problem to be solved
If a spegel node goes down, then the images stored on it will be unreachable.
Does spegel distribute the images on several hosts, so that an outage of one node does not have an impact?
I read the docs, forgive me if I was blind, but I found nothing about redundant storage of images.
Proposed solution to the problem
A new part in the documentation which explains what happens if a spegel node is down would be great.
If the answer is "there is no redundancy. If one node goes down, then these image need to be fetched from upstream again", then it is also fine (and should be part of the docs).
The text was updated successfully, but these errors were encountered: