Hi Jorge,
This is exactly what we do in Red Hat's certification training for OpenShift, such as DO180, DO280, and DO288. Instead of having to pre-pull all required container images into each node before starting instalation, we run a docker-distribution server pre-loaded with all container images and let each node pull the images on-demand. This is actually supported by the OpenShift installer playbooks.
The registry does not need to be a docker-distribution server: it could be Nexus, Artifactory, etc. I am eager to experiment with Quay (now Red Hat Container Registry) and some day using it in future courses.
what kind of inventory params are you using for pulling image during installation on demand?
hey, @debianmaster, as @flozano said, we do not pull images during the installation. they are simply made available in a private registry running in a separate virtual machine (as they would be in any enterprise-grade cluster installation).
the two settings that must be present in the inventory are oreg_url (to get the control plane images pulled from a private registry as nodes, masters and backend services are being started) and then additionally, openshift_examples_modify_imagestreams (to have the default image streams fixed by the installer to point to the private registry as well).
Exactly the official documentatino should be something like we do on our courses!! It's a better resources usage that downloading images on all nodes.
Regards,
In addition to the two settings @oldbenko listed, there are a number of other variables available (at least in v3.9) for use in disconnected environments. Many of which are necessary to pull from non-standard registries if you are installing the given component. Here are the settings relating to images and private registries that come to mind, with some sample values:
openshift_docker_additional_registries=repo.home.example.net openshift_docker_insecure_registries=repo.home.example.net openshift_docker_blocked_registries=registry.access.redhat.com,docker.io oreg_url=repo.home.example.net/openshift3/ose-${component}:${version} openshift_examples_modify_imagestreams=true openshift_metrics_image_prefix=repo.home.example.net/openshift3/ openshift_metrics_image_version=v3.9.40 openshift_logging_image_prefix=repo.home.example.net/openshift3/ openshift_logging_image_version=v3.9.40 ansible_service_broker_image_prefix=repo.home.example.net/openshift3/ose- ansible_service_broker_image_tag=v3.9.40 ansible_service_broker_etcd_image_prefix=repo.home.example.net/rhel7/ ansible_service_broker_etcd_image_tag=latest openshift_service_catalog_image_prefix=repo.home.example.net/openshift3/ose- openshift_service_catalog_image_version=v3.9.40 openshift_cockpit_deployer_prefix=repo.home.example.net/openshift3/ openshift_web_console_prefix=repo.home.example.net/openshift3/ose- openshift_web_console_version=v3.9.40 openshift_prometheus_image_prefix=repo.home.example.net/openshift3/ openshift_prometheus_image_version=v3.9.40 openshift_prometheus_alertmanager_image_prefix=repo.home.example.net/openshift3/ openshift_prometheus_alertmanager_image_version=v3.9.40 openshift_prometheus_alertbuffer_image_prefix=repo.home.example.net/openshift3/ openshift_prometheus_alertbuffer_image_version=v3.9.40 openshift_prometheus_node_exporter_image_prefix=repo.home.example.net/openshift3/ openshift_prometheus_node_exporter_image_version=v3.9.40 openshift_prometheus_proxy_image_prefix=repo.home.example.net/openshift3/ openshift_prometheus_proxy_image_version=v3.9.40 template_service_broker_prefix=repo.home.example.net/openshift3/ose- template_service_broker_version=v3.9.40 openshift_storage_glusterfs_image=repo.home.example.net/rhgs3/rhgs-server-rhel7 openshift_storage_glusterfs_version=latest openshift_storage_glusterfs_heketi_image=repo.home.example.net/rhgs3/rhgs-volmanager-rhel7 openshift_storage_glusterfs_heketi_version=latest
Red Hat
Learning Community
A collaborative learning environment, enabling open source skill development.