Registry and Images¶
General Principles¶
Registry variables are read by the Ansible role reemo-relayws.
REGISTRY_URL: the registry URL (e.g. registry.reemo.io)
REGISTRY_ENV: the prefix allowing the Ansible role to build image names in the format
REGISTRY_URL/REGISTRY_ENVapiREGISTRY_USERNAME: username provided by Reemo support
REGISTRY_PASSWORD: password provided by Reemo support
REGISTRY_TLS_VERIFY:
trueby default |false: allows use of a registry on port 80 without TLS
Example resulting image: registry.reemo.io/reemoinfraapi:latest
Tip
Check disk space on each node. Loading images may require several GB of free space.
Online Mode¶
All machines connect directly to the Reemo registry.
Conditions¶
HTTPS access open to registry.reemo.io:443.
Credentials provided by Reemo support.
Minimal Inventory¶
all:
vars:
REGISTRY_URL: "registry.reemo.io"
REGISTRY_ENV: "reemoinfra"
REGISTRY_USERNAME: "user"
REGISTRY_PASSWORD: "password"
infra_manager:
hosts:
infra_manager1:
ansible_host: "10.0.0.1"
infra_manager2:
ansible_host: "10.0.0.2"
infra_manager3:
ansible_host: "10.0.0.3"
Quick Checks¶
Verify the registry login (from a node):
docker login registry.reemo.io
Check the prefix used (example):
docker pull registry.reemo.io/reemoinfraapi:latest
Confirm the image is present locally:
docker image ls
Proxy Mode¶
Nodes access the registry through an HTTP/HTTPS proxy. Use the same inventory configuration as in Online mode.
To declare the proxy at the Docker service level:
Add the following line in the [Service] section of the file
/usr/lib/systemd/system/docker.service
EnvironmentFile=/etc/default/docker
Create the file
/etc/default/dockerand enter the following information:
http_proxy="http://< Proxy server IP >:< Proxy service Port >"
https_proxy="http://< Proxy server IP >:< Proxy service Port >"
On the proxy, allow access to the following two URLs:
registry.reemo.io
registry-auth.reemo.io
Offline Mode¶
No Internet access from the nodes. Images are pre-packaged as tarballs. Use the Offline mode of the reemo-infra role to generate the image tarballs required by INFRA.
Generate Tarballs¶
Run this command with the reemo-infra Ansible role:
ansible-playbook -i inventory.yml playbooks/reemo-infra.yml \
--extra-vars "TARBALL_GENERATE=true" --tags tarball_generate
Load Tarballs¶
Run this command with the reemo-infra Ansible role:
ansible-playbook -i inventory.yml playbooks/reemo-infra.yml \
--extra-vars "LOAD_IMAGE=true" \
--extra-vars "TARBALL_PATH=/opt/reemo/images"
Note