OpenShift Registry Operations
External
- https://docs.openshift.com/container-platform/3.6/install_config/registry/deploy_registry_existing_clusters.html
- https://docs.openshift.com/container-platform/3.6/install_config/install/stand_alone_registry.html#install-config-installing-stand-alone-registry
Internal
Overview
Info about the Current Registry
The registry must be deployed for this to work, otherwise I suspect it will attempt to create a registry:
oadm registry -o yaml
To be sure, run
oadm registry --dry-run
Deploy a Registry
Normally, this is not required as the standard installation procedure installs an integrated registry as part of the "default" project. In case the registry was not installed as part of the procedure, or we want to deploy a registry dedicated to a project, use the following procedure.
If the registry needs to be deployed into a project other than "default", change the current context by running oc project from the same account used to run oadm:
oc project <project-name>
If you intend to use "registry" as service account, it will be created by default by the registry creation procedure. Otherwise create the desired service account.
Create the registry. Note that this command will create a registry with an "empty dir", which is a temporary directory destroyed with the pod, so it is not suitable for anything else but a demo:
oadm registry [--service-account=registry] [--images='registry.access.redhat.com/openshift3/ose-${component}:${version}']
If you want the registry to store images on external storage, a persistent storage claim must be declared for the project, and then attached to the deployment config.
TODO, the Web interface allows to do that, capture the REST traffic and see what it does. Also see https://docs.openshift.com/container-platform/latest/install_config/registry/deploy_registry_existing_clusters.html#storage-for-the-registry
oc volume deploymentconfigs/docker-registry --add --name=registry-storage -t pvc \ --claim-name=<pvc_name> --overwrite
If the current context was changed to contain a different project than "default", for the account used to execute oadm, restore the "default" project context
oc project default