We are currently running a private registry on one server hosting all our images on it. If the server crash, we basically loose all our images. We would like to find a way to enable high availability on our images. An easy solution I see would be to have a registry instance per server. A load balancer would redirect(Round robin) the traffic to ones of the registry instances available. Registry instances would share the same network data drive(NFS) to store the images.
Do you see any problems with this solution ? i.e: If a user push an image on an instance, and another push on another ( Load balancer round robin decision), would it create any lock files on the NFS ?
Thanks for your feedback
It's possible to back the registry with S3 as described here. It's worth running the registry in a container so you can instantly launch another in the event of a catastrophic host/data centre failure. GCloud and OpenStack are also supported by the registry.
If you are concerned with data loss add redundancy to your persistence and ensure regular backups. You should also ensure your builds are idempotent so you can rebuild images if absolutely necessary.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With