From 9677ecc2e64b11f0b7edbeda6714032f5cb03901 Mon Sep 17 00:00:00 2001 From: Joao Fernandes Date: Mon, 6 Feb 2017 18:41:59 -0800 Subject: [PATCH] Improve DTR diagrams --- .../guides/admin/configure/deploy-a-cache.md | 8 +- .../configure/license-your-installation.md | 2 +- .../configure/set-up-high-availability.md | 40 +- .../admin/configure/use-a-load-balancer.md | 2 +- .../use-your-own-tls-certificates.md | 7 +- .../dtr/2.2/guides/admin/install/index.md | 2 +- datacenter/dtr/2.2/guides/architecture.md | 42 ++- .../dtr/2.2/guides/images/architecture-1.png | Bin 44362 -> 0 bytes .../dtr/2.2/guides/images/architecture-1.svg | 75 ++++ .../dtr/2.2/guides/images/architecture-2.svg | 225 +++++++++++ .../dtr/2.2/guides/images/architecture-3.svg | 160 ++++++++ .../dtr/2.2/guides/images/architecture-4.svg | 356 ++++++++++++++++++ .../2.2/guides/images/high-availability-1.png | Bin 11901 -> 0 bytes .../2.2/guides/images/high-availability-2.png | Bin 15612 -> 0 bytes .../dtr/2.2/guides/images/install-dtr-0.png | Bin 44362 -> 0 bytes .../dtr/2.2/guides/images/install-dtr-0.svg | 225 +++++++++++ .../images/set-up-high-availability-1.svg | 310 +++++++++++++++ .../guides/images/use-a-load-balancer-1.svg | 310 +++++++++++++++ 18 files changed, 1732 insertions(+), 32 deletions(-) delete mode 100644 datacenter/dtr/2.2/guides/images/architecture-1.png create mode 100644 datacenter/dtr/2.2/guides/images/architecture-1.svg create mode 100644 datacenter/dtr/2.2/guides/images/architecture-2.svg create mode 100644 datacenter/dtr/2.2/guides/images/architecture-3.svg create mode 100644 datacenter/dtr/2.2/guides/images/architecture-4.svg delete mode 100644 datacenter/dtr/2.2/guides/images/high-availability-1.png delete mode 100644 datacenter/dtr/2.2/guides/images/high-availability-2.png delete mode 100644 datacenter/dtr/2.2/guides/images/install-dtr-0.png create mode 100644 datacenter/dtr/2.2/guides/images/install-dtr-0.svg create mode 100644 datacenter/dtr/2.2/guides/images/set-up-high-availability-1.svg create mode 100644 datacenter/dtr/2.2/guides/images/use-a-load-balancer-1.svg diff --git a/datacenter/dtr/2.2/guides/admin/configure/deploy-a-cache.md b/datacenter/dtr/2.2/guides/admin/configure/deploy-a-cache.md index 4a39417f74..5267e1b186 100644 --- a/datacenter/dtr/2.2/guides/admin/configure/deploy-a-cache.md +++ b/datacenter/dtr/2.2/guides/admin/configure/deploy-a-cache.md @@ -13,7 +13,7 @@ that allows them faster downloads. You start by deploying one or more DTR caches. -![](images/cache-docker-images-1.svg) +![](../../images/cache-docker-images-1.svg) Since caches have to contact DTR for authorizing user requests, and requests are chained from one cache to the next until the request reaches DTR, you @@ -106,7 +106,7 @@ DTR interactive API documentation to use this API. In the DTR web UI, click the top-right menu, and choose **API docs**. -![](images/cache-docker-images-2.png){: .with-border} +![](../../images/cache-docker-images-2.png){: .with-border} Navigate to the `POST /api/v0/content_caches` line and click it to expand. In the **body** field include: @@ -120,7 +120,7 @@ In the **body** field include: Click the **Try it out!** button to make the API call. -![](images/cache-docker-images-3.png){: .with-border} +![](../../images/cache-docker-images-3.png){: .with-border} DTR knows about the cache we've created, so we just need to configure our DTR user settings to start using that cache. @@ -128,7 +128,7 @@ user settings to start using that cache. In the DTR web UI, navigate to your **user profile**, click the **Settings** tab, and change the **Content cache** settings to use the **region-us** cache. -![](images/cache-docker-images-4.png){: .with-border} +![](../../images/cache-docker-images-4.png){: .with-border} Now when you pull images, you'll be using the cache. To test this, try pulling an image from DTR. You can inspect the logs of the cache service, to validate diff --git a/datacenter/dtr/2.2/guides/admin/configure/license-your-installation.md b/datacenter/dtr/2.2/guides/admin/configure/license-your-installation.md index 2442065a8e..c3cb201a3b 100644 --- a/datacenter/dtr/2.2/guides/admin/configure/license-your-installation.md +++ b/datacenter/dtr/2.2/guides/admin/configure/license-your-installation.md @@ -1,7 +1,7 @@ --- +title: License your installation description: Learn how to license your Docker Trusted Registry installation. keywords: docker, dtr, install, license -title: License Docker Trusted Registry --- By default, you don't need to license your Docker Trusted Registry. When diff --git a/datacenter/dtr/2.2/guides/admin/configure/set-up-high-availability.md b/datacenter/dtr/2.2/guides/admin/configure/set-up-high-availability.md index 030f20c934..7bac291365 100644 --- a/datacenter/dtr/2.2/guides/admin/configure/set-up-high-availability.md +++ b/datacenter/dtr/2.2/guides/admin/configure/set-up-high-availability.md @@ -5,16 +5,40 @@ keywords: docker, dtr, install, deploy --- Docker Trusted Registry is designed to scale horizontally as your usage -increases. You can add or remove replicas to make DTR scale to your needs -or for high availability. +increases. You can add more replicas to make DTR scale to your demand and for +high availability. -To set up DTR for high availability, -you can add more replicas to your DTR cluster. Adding more replicas allows you -to load-balance requests across all replicas, and keep DTR working if a -replica fails. +All DTR replicas run the same set of services and changes to their configuration +are automatically propagated to other replicas. -For high-availability you should set 3, 5, or 7 DTR replicas. The nodes where -you're going to install these replicas also need to be managed by UCP. +![](../../images/set-up-high-availability-1.svg) + +To make DTR tolerant to failures, add additional replicas to the DTR cluster. + +| DTR replicas | Failures tolerated | +|:------------:|:------------------:| +| 1 | 0 | +| 3 | 1 | +| 5 | 2 | +| 7 | 3 | + + +When sizing your DTR installation for high-availability, +follow these rules of thumb: + +* Don't create a DTR cluster with just two replicas. Your cluster +won't tolerate any failures, and it's possible that you experience performance +degradation. +* When a replica fails, the number of failures tolerated by your cluster +decreases. Don't leave that replica offline for long. +* Adding too many replicas to the cluster might also lead to performance +degradation, as data needs to be replicated across all replicas. + +To have high-availability on UCP and DTR, you need a minimum of: + +* 3 dedicated nodes to install UCP with high availability, +* 3 dedicated nodes to install DTR with high availability, +* As many nodes as you want for running your containers and applications. ## Join more DTR replicas diff --git a/datacenter/dtr/2.2/guides/admin/configure/use-a-load-balancer.md b/datacenter/dtr/2.2/guides/admin/configure/use-a-load-balancer.md index de9b29f30a..55d593150b 100644 --- a/datacenter/dtr/2.2/guides/admin/configure/use-a-load-balancer.md +++ b/datacenter/dtr/2.2/guides/admin/configure/use-a-load-balancer.md @@ -7,7 +7,7 @@ keywords: docker, dtr, load balancer Once you’ve joined multiple DTR replicas nodes for high-availability, you can configure your own load balancer to balance user requests across all replicas. -![](image) +![](../../images/use-a-load-balancer-1.svg) This allows users to access DTR using a centralized domain name. If a replica diff --git a/datacenter/dtr/2.2/guides/admin/configure/use-your-own-tls-certificates.md b/datacenter/dtr/2.2/guides/admin/configure/use-your-own-tls-certificates.md index 7862de228d..364d91b538 100644 --- a/datacenter/dtr/2.2/guides/admin/configure/use-your-own-tls-certificates.md +++ b/datacenter/dtr/2.2/guides/admin/configure/use-your-own-tls-certificates.md @@ -1,8 +1,7 @@ --- -description: Trusted Registry configuration options -keywords: docker, documentation, about, technology, install, enterprise, hub, CS engine, - Docker Trusted Registry, configure, storage, backend, drivers -title: Set up TLS certificates for DTR +title: Use your own TLS certificates +description: Learn how to configure Docker Trusted Registry with your own TLS certificates. +keywords: docker, dtr, tls --- diff --git a/datacenter/dtr/2.2/guides/admin/install/index.md b/datacenter/dtr/2.2/guides/admin/install/index.md index 6aa21e9844..5c458e206d 100644 --- a/datacenter/dtr/2.2/guides/admin/install/index.md +++ b/datacenter/dtr/2.2/guides/admin/install/index.md @@ -24,7 +24,7 @@ to run, you need to install UCP on all the nodes where you plan to install DTR. DTR needs to be installed on a worker node that is being managed by UCP. You can't install DTR on a standalone Docker Engine. -![](../../images/install-dtr-0.png) +![](../../images/install-dtr-0.svg) ## Step 3. Install DTR diff --git a/datacenter/dtr/2.2/guides/architecture.md b/datacenter/dtr/2.2/guides/architecture.md index ca1f21a7c6..3d266e038d 100644 --- a/datacenter/dtr/2.2/guides/architecture.md +++ b/datacenter/dtr/2.2/guides/architecture.md @@ -4,13 +4,25 @@ keywords: docker, registry, dtr, architecture title: DTR architecture --- -Docker Trusted Registry (DTR) is a Dockerized application that runs on a Docker -Universal Control Plane cluster. +Docker Trusted Registry (DTR) is a containerized application that runs on a +Docker Universal Control Plane cluster. -![](images/architecture-1.png) +![](images/architecture-1.svg) +Once you have DTR deployed, you use your Docker CLI client to login, push, and +pull images. -## Containers +## Under the hood + +For high-availability you can deploy multiple DTR replicas, one on each UCP +worker node. + +![](images/architecture-2.svg) + +All DTR replicas run the same set of services and changes to their configuration +are automatically propagated to other replicas. + +## DTR internal components When you install DTR on a node, the following containers are started: @@ -28,7 +40,7 @@ When you install DTR on a node, the following containers are started: All these components are for internal use of DTR. Don't use them in your applications. -## Networks +## Networks used by DTR To allow containers to communicate, when installing DTR the following networks are created: @@ -38,7 +50,7 @@ are created: | dtr-ol | overlay | Allows DTR components running on different nodes to communicate, to replicate DTR data | -## Volumes +## Volumes used by DTR DTR uses these named volumes for persisting data: @@ -61,9 +73,12 @@ By default, the data for these volumes can be found at ## Image storage By default, Docker Trusted Registry stores images on the filesystem of the node -where it is running. +where it is running, but you should configure it to use a centralized storage +backend. -You can also configure DTR to use these storage backends: +![](images/architecture-3.svg) + +DTR supports these storage backends: * NFS * Amazon S3 @@ -72,13 +87,14 @@ You can also configure DTR to use these storage backends: * OpenStack Swift * Microsoft Azure -For highly available installations, you should use a cloud storage system -instead of an NFS mount, since they usually have better performance. +## How to interact with DTR -## High-availability support +DTR has a web UI where you can manage settings and user permissions. -For load balancing and high-availability, you can install multiple replicas of -DTR, and join them to create a cluster. +![](images/architecture-4.svg) + +You can push and pull images using the standard Docker CLI client or other tools +that can interact with a Docker registry. ## Where to go next diff --git a/datacenter/dtr/2.2/guides/images/architecture-1.png b/datacenter/dtr/2.2/guides/images/architecture-1.png deleted file mode 100644 index 1528ddecf1a29ced239e615723fc84bd235fa9bd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 44362 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 + + + architecture-1 + Created with Sketch. + + + + + + + + + + cloud servers + + + + + + virtual servers + + + + + + physical servers + + + + + + + CS Docker Engine + + + + + + Universal Control Plane + + + + + + Docker Trusted Registry + + + + + + your applications + + + + + + + + + docker run + + + + + + + docker push + + + + + + + \ No newline at end of file diff --git a/datacenter/dtr/2.2/guides/images/architecture-2.svg b/datacenter/dtr/2.2/guides/images/architecture-2.svg new file mode 100644 index 0000000000..e8de51d858 --- /dev/null +++ b/datacenter/dtr/2.2/guides/images/architecture-2.svg @@ -0,0 +1,225 @@ + + + + architecture-2 + Created with Sketch. + + + + + UCP cluster + + + + + + + + + worker node + + + + + + + CS Docker Engine + + + + + + UCP worker + + + + + + + + + + worker node + + + + + + + CS Docker Engine + + + + + + UCP worker + + + + + + + + + + + + worker node + + + + + + + CS Docker Engine + + + + + + UCP worker + + + + + + DTR + + + + + + + + + + worker node + + + + + + + CS Docker Engine + + + + + + UCP worker + + + + + + DTR + + + + + + + + + + worker node + + + + + + + CS Docker Engine + + + + + + UCP worker + + + + + + DTR + + + + + + + + + + + + manager node + + + + + + + CS Docker Engine + + + + + + UCP manager + + + + + + + + + + manager node + + + + + + + CS Docker Engine + + + + + + UCP manager + + + + + + + + + + manager node + + + + + + + CS Docker Engine + + + + + + UCP manager + + + + + + + + + + \ No newline at end of file diff --git a/datacenter/dtr/2.2/guides/images/architecture-3.svg b/datacenter/dtr/2.2/guides/images/architecture-3.svg new file mode 100644 index 0000000000..7656909ea1 --- /dev/null +++ b/datacenter/dtr/2.2/guides/images/architecture-3.svg @@ -0,0 +1,160 @@ + + + + architecture-3 + Created with Sketch. + + + + + + + + + + + + + + + + + + + + + + + DTR cluster + + + + + overlay network + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + worker node + + + + + + + CS Docker Engine + + + + + + UCP worker + + + + + + DTR + + + + + + + + + + worker node + + + + + + + CS Docker Engine + + + + + + UCP worker + + + + + + DTR + + + + + + + + + + worker node + + + + + + + CS Docker Engine + + + + + + UCP worker + + + + + + DTR + + + + + + + + + + + object + storage + + + + + + \ No newline at end of file diff --git a/datacenter/dtr/2.2/guides/images/architecture-4.svg b/datacenter/dtr/2.2/guides/images/architecture-4.svg new file mode 100644 index 0000000000..056ab55076 --- /dev/null +++ b/datacenter/dtr/2.2/guides/images/architecture-4.svg @@ -0,0 +1,356 @@ + + + + architecture-4 + Created with Sketch. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Docker swarm + + + + + + + + + your load balancer + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + your load balancer + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + worker node + + + + + + + CS Docker Engine + + + + + + UCP worker + + + + + + + + + + worker node + + + + + + + CS Docker Engine + + + + + + UCP worker + + + + + + + + + + + + worker node + + + + + + + CS Docker Engine + + + + + + UCP worker + + + + + + DTR + + + + + + + + + + worker node + + + + + + + CS Docker Engine + + + + + + UCP worker + + + + + + DTR + + + + + + + + + + worker node + + + + + + + CS Docker Engine + + + + + + UCP worker + + + + + + DTR + + + + + + + + + + + + manager node + + + + + + + CS Docker Engine + + + + + + UCP manager + + + + + + + + + + manager node + + + + + + + CS Docker Engine + + + + + + UCP manager + + + + + + + + + + manager node + + + + + + + CS Docker Engine + + + + + + UCP manager + + + + + + + + + + + + + UI + + + + + + CLI + + + + + + + + UI + + + + + + CLI + + + + + + + + \ No newline at end of file diff --git a/datacenter/dtr/2.2/guides/images/high-availability-1.png b/datacenter/dtr/2.2/guides/images/high-availability-1.png deleted file mode 100644 index 4a7a32376402e9cc98f275035ddfc26d4023d96d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11901 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 ql*KlyeY80M7)AqvMnj!JKH8yj(TOKHcPb5Zp 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 diff --git a/datacenter/dtr/2.2/guides/images/install-dtr-0.png b/datacenter/dtr/2.2/guides/images/install-dtr-0.png deleted file mode 100644 index 1528ddecf1a29ced239e615723fc84bd235fa9bd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 44362 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 + + + architecture-2 + Created with Sketch. + + + + + UCP cluster + + + + + + + + + worker node + + + + + + + CS Docker Engine + + + + + + UCP worker + + + + + + + + + + worker node + + + + + + + CS Docker Engine + + + + + + UCP worker + + + + + + + + + + + + worker node + + + + + + + CS Docker Engine + + + + + + UCP worker + + + + + + DTR + + + + + + + + + + worker node + + + + + + + CS Docker Engine + + + + + + UCP worker + + + + + + DTR + + + + + + + + + + worker node + + + + + + + CS Docker Engine + + + + + + UCP worker + + + + + + DTR + + + + + + + + + + + + manager node + + + + + + + CS Docker Engine + + + + + + UCP manager + + + + + + + + + + manager node + + + + + + + CS Docker Engine + + + + + + UCP manager + + + + + + + + + + manager node + + + + + + + CS Docker Engine + + + + + + UCP manager + + + + + + + + + + \ No newline at end of file diff --git a/datacenter/dtr/2.2/guides/images/set-up-high-availability-1.svg b/datacenter/dtr/2.2/guides/images/set-up-high-availability-1.svg new file mode 100644 index 0000000000..b86fc8f357 --- /dev/null +++ b/datacenter/dtr/2.2/guides/images/set-up-high-availability-1.svg @@ -0,0 +1,310 @@ + + + + set-up-high-availability-1 + Created with Sketch. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Docker swarm + + + + + + + + + your load balancer + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + your load balancer + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + worker node + + + + + + + CS Docker Engine + + + + + + UCP worker + + + + + + + + + + worker node + + + + + + + CS Docker Engine + + + + + + UCP worker + + + + + + + + + + + + worker node + + + + + + + CS Docker Engine + + + + + + UCP worker + + + + + + DTR + + + + + + + + + + + + + + + + + + + + + + + + + + manager node + + + + + + + CS Docker Engine + + + + + + UCP manager + + + + + + + + + + manager node + + + + + + + CS Docker Engine + + + + + + UCP manager + + + + + + + + + + manager node + + + + + + + CS Docker Engine + + + + + + UCP manager + + + + + + + + + + + + + UI + + + + + + CLI + + + + + + + + UI + + + + + + CLI + + + + + + + + \ No newline at end of file diff --git a/datacenter/dtr/2.2/guides/images/use-a-load-balancer-1.svg b/datacenter/dtr/2.2/guides/images/use-a-load-balancer-1.svg new file mode 100644 index 0000000000..b86fc8f357 --- /dev/null +++ b/datacenter/dtr/2.2/guides/images/use-a-load-balancer-1.svg @@ -0,0 +1,310 @@ + + + + set-up-high-availability-1 + Created with Sketch. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Docker swarm + + + + + + + + + your load balancer + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + your load balancer + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + worker node + + + + + + + CS Docker Engine + + + + + + UCP worker + + + + + + + + + + worker node + + + + + + + CS Docker Engine + + + + + + UCP worker + + + + + + + + + + + + worker node + + + + + + + CS Docker Engine + + + + + + UCP worker + + + + + + DTR + + + + + + + + + + + + + + + + + + + + + + + + + + manager node + + + + + + + CS Docker Engine + + + + + + UCP manager + + + + + + + + + + manager node + + + + + + + CS Docker Engine + + + + + + UCP manager + + + + + + + + + + manager node + + + + + + + CS Docker Engine + + + + + + UCP manager + + + + + + + + + + + + + UI + + + + + + CLI + + + + + + + + UI + + + + + + CLI + + + + + + + + \ No newline at end of file