You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
GESIS has been running their mybinder.org server with the following configuration for a few years. @arnim will be able to say since when.
The build-* pods push the container images to Docker Hub and the jupyter-* pods pull the images from Docker Hub. The server has a large (6TB) storage volume allocated to containerd that kubelet operates.
Recently, we have noticed more of the following behaviour.
The number of pending pods start to increase. The pending pods are jupyter-* waiting for the image. Some of the jupyter-* change their status from pending to terminating when JupyterHub or BinderHub decides to replace that pod due to timeout and this increases the number of pending pods.
@arnim and I believe that the the observed behaviour of pending pods start to increase is trigger in the following scenarios:
we received a simultaneous "large" number of launch requests that requires build a new image.
This happens when
someone is "debugging" a repo2docker created image on mybinder.org.
someone is running a "how to configure your Git repository to work with mybinder.org" workshop. This is the scenario that @arnim and I reproduced during our investigation.
we are out of lucky.
we received a simultaneous "huge" number of launch requests that requires to pull a existing image.
@arnim and I first idea was to expand the storage volume allocated to containerd that kubelet operates. Because we operate a physical server, GESIS IT informed us that, due physical limitations, was not possible to increase the storage volume.
@arnim and I second idea was to use a local registry. @arnim would like something like the following diagram so that people could download the image from Docker Hub.
I have been looking at how to run a local registry that allow us
build-* pods to push to the local registry
the local registry to replicate the new images into Docker Hub
jupyter-* pods to pull from the local registry and, if the image is not found, to pull from Docker Hub.
I didn't found anything out of the box that can do this. Sonatype Nexus Repository has a feature called "Grouping Docker Repositories" that let me define a endpoint that is a virtual endpoint to two or more container registry. But Sonatype Nexus Repository does not offer the option to push new images to Docker Hub.
Any 2 cents are very welcome!
The text was updated successfully, but these errors were encountered:
Related to #3056
Related to #3080
Related to #3083
GESIS has been running their mybinder.org server with the following configuration for a few years. @arnim will be able to say since when.
The
build-*
pods push the container images to Docker Hub and thejupyter-*
pods pull the images from Docker Hub. The server has a large (6TB) storage volume allocated to containerd that kubelet operates.Recently, we have noticed more of the following behaviour.
The number of pending pods start to increase. The pending pods are
jupyter-*
waiting for the image. Some of thejupyter-*
change their status from pending to terminating when JupyterHub or BinderHub decides to replace that pod due to timeout and this increases the number of pending pods.@arnim and I believe that the the observed behaviour of pending pods start to increase is trigger in the following scenarios:
we received a simultaneous "large" number of launch requests that requires build a new image.
This happens when
we received a simultaneous "huge" number of launch requests that requires to pull a existing image.
This happens when
@arnim and I first idea was to expand the storage volume allocated to containerd that kubelet operates. Because we operate a physical server, GESIS IT informed us that, due physical limitations, was not possible to increase the storage volume.
@arnim and I second idea was to use a local registry. @arnim would like something like the following diagram so that people could download the image from Docker Hub.
I have been looking at how to run a local registry that allow us
build-*
pods to push to the local registryjupyter-*
pods to pull from the local registry and, if the image is not found, to pull from Docker Hub.I didn't found anything out of the box that can do this. Sonatype Nexus Repository has a feature called "Grouping Docker Repositories" that let me define a endpoint that is a virtual endpoint to two or more container registry. But Sonatype Nexus Repository does not offer the option to push new images to Docker Hub.
Any 2 cents are very welcome!
The text was updated successfully, but these errors were encountered: