aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2016-11-22 13:29:48 +0000
committerGerrit Code Review <review@openstack.org>2016-11-22 13:29:48 +0000
commit8584ec2bf570f306be0571634d6e0039068b802a (patch)
tree9f2f3d2941cb8f7b6b8a01f9561410137c624a4e
parent93f934c1d6766f811930d173fa3d33f208d03057 (diff)
parentd8fec8ec0a51e529c8390e1a19c4fd25c7b863b1 (diff)
downloadkolla-8584ec2bf570f306be0571634d6e0039068b802a.tar.gz
kolla-8584ec2bf570f306be0571634d6e0039068b802a.zip
Merge "Clean up docs around local registry"
-rw-r--r--doc/image-building.rst65
-rw-r--r--doc/multinode.rst21
-rw-r--r--doc/quickstart.rst15
-rw-r--r--setup.cfg1
-rwxr-xr-xtools/start-registry8
5 files changed, 24 insertions, 86 deletions
diff --git a/doc/image-building.rst b/doc/image-building.rst
index 0776c0199..a4ce5bb2d 100644
--- a/doc/image-building.rst
+++ b/doc/image-building.rst
@@ -54,10 +54,6 @@ There are following distros available for building images:
Fedora images are deprecated since Newton and will be removed
in the future.
-To push the image after building, add ``--push``::
-
- kolla-build --push
-
It is possible to build only a subset of images by specifying them on the
command line::
@@ -100,12 +96,10 @@ repository named ``mykollarepo``::
kolla-build -n mykollarepo --push
-To push images to a local registry, use ``--registry`` flag::
-
- kolla-build --registry 172.22.2.81:4000 --push
+To push images to a :ref:`local registry<deploy_a_registry>`, use
+``--registry`` flag::
-To trigger the build script to pull images from a local registry, the Docker
-configuration needs to be modified. See `Docker Insecure Registry Config`_.
+ kolla-build --registry 172.22.2.81:5000 --push
The build configuration can be customized using a config file, the default
location being one of ``/etc/kolla/kolla-build.conf`` or
@@ -365,59 +359,14 @@ Known issues
will automatically attempt three retries of a build operation if the first
one fails. The retry count is modified with the ``--retries`` option.
-Docker Local Registry
-=====================
-
-It is recommended to set up local registry for Kolla developers or deploying
-*multinode*. The reason using a local registry is deployment performance will
-operate at local network speeds, typically gigabit networking. Beyond
-performance considerations, the Operator would have full control over images
-that are deployed. If there is no local registry, nodes pull images from Docker
-Hub when images are not found in local caches.
-
-Setting up Docker Local Registry
---------------------------------
-
-Running Docker registry is easy. Just use the following command::
-
- docker run -d -p 4000:5000 --restart=always --name registry \
- -v <local_data_path>:/var/lib/registry registry
-
-.. note:: ``<local_data_path>`` points to the folder where Docker registry
- will store Docker images on the local host.
-
-The default port of Docker registry is 5000. But the 5000 port is also the port
-of keystone-api. To avoid conflict, use 4000 port as Docker registry port.
-
-Now the Docker registry service is running.
-
-Docker Insecure Registry Config
--------------------------------
-
-For docker to pull images, it is necessary to modify the Docker configuration.
-The guide assumes that the IP of the machine running Docker registry is
-172.22.2.81.
-
-In Ubuntu, add ``--insecure-registry 172.22.2.81:4000``
-to ``DOCKER_OPTS`` in ``/etc/default/docker``.
-
-In CentOS, uncomment ``INSECURE_REGISTRY`` and set ``INSECURE_REGISTRY``
-to ``--insecure-registry 172.22.2.81:4000`` in ``/etc/sysconfig/docker``.
-
-And restart the docker service.
-
-To build and push images to local registry, use the following command::
-
- kolla-build --registry 172.22.2.81:4000 --push
-
Kolla-ansible with Local Registry
---------------------------------
-To make kolla-ansible pull images from local registry, set
-``"docker_registry"`` to ``"172.22.2.81:4000"`` in
+To make kolla-ansible pull images from a local registry, set
+``"docker_registry"`` to ``"172.22.2.81:5000"`` in
``"/etc/kolla/globals.yml"``. Make sure Docker is allowed to pull images from
-insecure registry. See `Docker Insecure Registry Config`_.
-
+insecure registry. See
+:ref:`Docker Insecure Registry Config <deploy_a_registry>`.
Building behind a proxy
-----------------------
diff --git a/doc/multinode.rst b/doc/multinode.rst
index 6383da9d6..2a003b4bd 100644
--- a/doc/multinode.rst
+++ b/doc/multinode.rst
@@ -4,28 +4,21 @@
Multinode Deployment of Kolla
=============================
+.. _deploy_a_registry:
+
Deploy a registry (required for multinode)
==========================================
A Docker registry is a locally hosted registry that replaces the need to pull
-from the Docker Hub to get images. Kolla can function with or without a local
-registry, however for a multinode deployment a registry is required.
-
-The Docker registry prior to version 2.3 has extremely bad performance because
-all container data is pushed for every image rather than taking advantage of
-Docker layering to optimize push operations. For more information reference
-`pokey registry <https://github.com/docker/docker/issues/14018>`__.
-
+from the Docker Hub to get images. A local registry is required for a multinode
+Kolla deployment.
The Kolla community recommends using registry 2.3 or later. To deploy registry
with version greater than 2.3, do the following:
::
- docker run -d -p 4000:5000 --restart=always --name registry registry:2
-
-.. note:: Kolla looks for the Docker registry to use port 4000. (Docker default is
- port 5000)
+ tools/start-registry
After starting the registry, it is necessary to instruct Docker that it will
be communicating with an insecure registry. To enable insecure registry
@@ -36,7 +29,7 @@ registry is currently running:
::
# CentOS
- INSECURE_REGISTRY="--insecure-registry 192.168.1.100:4000"
+ INSECURE_REGISTRY="--insecure-registry 192.168.1.100:5000"
For Ubuntu, check whether its using upstart or systemd.
@@ -50,7 +43,7 @@ Edit ``/etc/default/docker`` and add:
::
# Ubuntu
- DOCKER_OPTS="--insecure-registry 192.168.1.100:4000"
+ DOCKER_OPTS="--insecure-registry 192.168.1.100:5000"
If Ubuntu is using systemd, additional settings needs to be configured.
Copy docker's systemd unit file to ``/etc/systemd/system/`` directory:
diff --git a/doc/quickstart.rst b/doc/quickstart.rst
index d0667016f..7b33d0504 100644
--- a/doc/quickstart.rst
+++ b/doc/quickstart.rst
@@ -383,7 +383,7 @@ Local Registry
A local registry is not required for an ``all-in-one`` installation. Check out
the :doc:`multinode` for more information on using a local registry. Otherwise,
the `Docker Hub Image Registry`_ contains all images from each of Kolla's major
-releases. The latest release tag is 2.0.0 for Mitaka.
+releases. The latest release tag is 3.0.0 for Newton.
Additional Environments
=======================
@@ -420,12 +420,6 @@ behavior, please use the following parameters with ``kolla-build``:
--base [ubuntu|centos|oraclelinux]
--type [binary|source]
-If pushing to a local registry (recommended) use the flags:
-
-::
-
- kolla-build --registry registry_ip_address:registry_ip_port --push
-
Note ``--base`` and ``--type`` can be added to the above ``kolla-build``
command if different distributions or types are desired.
@@ -513,13 +507,6 @@ veth pair is listed here and the other end is in a bridge on the system. ::
neutron_external_interface: "eth1"
-If using a local docker registry, set the ``docker_registry`` information where
-the local registry is operating on IP address 192.168.1.100 and the port 4000.
-
-::
-
- docker_registry: "192.168.1.100:4000"
-
For *all-in-one* deploys, the following commands can be run. These will
setup all of the containers on the localhost. These commands will be
wrapped in the kolla-script in the future.
diff --git a/setup.cfg b/setup.cfg
index f46a10405..9a10aad98 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -29,6 +29,7 @@ data_files =
share/kolla/tools = tools/cleanup-containers
share/kolla/tools = tools/cleanup-host
share/kolla/tools = tools/cleanup-images
+ share/kolla/tools = tools/start-registry
share/kolla/doc = doc/*
share/kolla/etc_examples = etc/*
share/kolla = tools/openrc-example
diff --git a/tools/start-registry b/tools/start-registry
new file mode 100755
index 000000000..7c29e13a1
--- /dev/null
+++ b/tools/start-registry
@@ -0,0 +1,8 @@
+#!/bin/bash
+
+docker run -d \
+ --name registry \
+ --restart=always \
+ -p 5000:5000 \
+ -v registry:/var/lib/registry \
+ registry:2