Update architecture topic and graphics (#302)
|
|
@ -352,12 +352,10 @@ guides:
|
||||||
section:
|
section:
|
||||||
- path: /deploy/
|
- path: /deploy/
|
||||||
title: Docker Enterprise Edition
|
title: Docker Enterprise Edition
|
||||||
- path: /deploy/deploy-kubernetes-workload/
|
|
||||||
title: Deploy a workload to a Kubernetes cluster
|
|
||||||
- sectiontitle: Architecture
|
- sectiontitle: Architecture
|
||||||
section:
|
section:
|
||||||
- path: /deploy/architecture/how-docker-ee-delivers-ha/
|
- path: /deploy/architecture/docker-ee-architecture/
|
||||||
title: How Docker EE delivers high availability for your workloads
|
title: Docker EE architecture
|
||||||
- path: /deploy/architecture/dtr-architecture/
|
- path: /deploy/architecture/dtr-architecture/
|
||||||
title: DTR architecture
|
title: DTR architecture
|
||||||
- path: /deploy/architecture/ucp-architecture/
|
- path: /deploy/architecture/ucp-architecture/
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
---
|
---
|
||||||
title: How Docker EE delivers high availability for your workloads
|
title: Docker EE architecture
|
||||||
description: |
|
description: |
|
||||||
Learn about the architecture of Docker Enterprise Edition and how it enables deploying workloads for HA.
|
Learn about the architecture of Docker Enterprise Edition and how it delivers high availability for your workloads.
|
||||||
keywords: UCP, Docker EE, orchestration, Kubernetes, cluster, architecture, high availability
|
keywords: Docker EE, UCP, DTR, architecture, orchestration, Kubernetes, Swarm, cluster, high availability
|
||||||
next_steps:
|
next_steps:
|
||||||
- path: ucp-architecture
|
- path: ucp-architecture
|
||||||
title: UCP architecture
|
title: UCP architecture
|
||||||
|
|
@ -12,7 +12,7 @@ next_steps:
|
||||||
|
|
||||||
Docker Enterprise Edition (EE) enables deploying your workloads for high
|
Docker Enterprise Edition (EE) enables deploying your workloads for high
|
||||||
availability (HA) onto the orchestrator of your choice. Docker EE system
|
availability (HA) onto the orchestrator of your choice. Docker EE system
|
||||||
components run on multiple manager nodes in the cluster, and if one manager
|
components can run on multiple manager nodes in the cluster, and if one manager
|
||||||
node fails, another takes its place automatically, without impact to the
|
node fails, another takes its place automatically, without impact to the
|
||||||
cluster.
|
cluster.
|
||||||
|
|
||||||
|
|
@ -20,46 +20,52 @@ cluster.
|
||||||
|
|
||||||
Docker EE provides access to the full API sets of three popular orchestrators:
|
Docker EE provides access to the full API sets of three popular orchestrators:
|
||||||
|
|
||||||
- Kubernetes
|
- Kubernetes: Full YAML object support
|
||||||
- SwarmKit (Compose file version 3)
|
- SwarmKit: Service-centric, Compose file version 3
|
||||||
- "Classic" Swarm (Compose file version 2)
|
- "Classic" Swarm: Container-centric, Compose file version 2
|
||||||
|
|
||||||
{: .with-border}
|
{: .with-border}
|
||||||
|
|
||||||
Docker EE proxies the underlying API of each orchestrator, giving you access
|
Docker EE proxies the underlying API of each orchestrator, giving you access
|
||||||
to all of the capabilities of each orchestrator, along with the benefits of
|
to all of the capabilities of each orchestrator, along with the benefits of
|
||||||
Docker EE, like role-baseed access control and Docker Content Trust.
|
Docker EE, like role-based access control and Docker Content Trust.
|
||||||
|
|
||||||
## Docker EE components
|
## Docker EE components
|
||||||
|
|
||||||
Docker EE has three major components, which together enable a full software
|
Docker EE has three major components, which together enable a full software
|
||||||
supply chain, from image creation, to image storage, to image deployment.
|
supply chain, from image creation, to secure image storage, to secure image
|
||||||
|
deployment.
|
||||||
|
|
||||||
- Docker EE Engine: The commercially supported Docker engine for creating
|
- **Docker EE Engine**: The commercially supported Docker engine for creating
|
||||||
images and running them in Docker containers.
|
images and running them in Docker containers.
|
||||||
- Docker Trusted Registry (DTR): The production-grade image storage solution
|
|
||||||
|
- **Docker Trusted Registry (DTR)**: The production-grade image storage solution
|
||||||
from Docker.
|
from Docker.
|
||||||
- Universal Control Plane (UCP): Deploys high-availability applications from
|
|
||||||
images by managing orchestrators, like Kubernetes and Swarm.
|
DTR is designed to scale horizontally as your usage increases.
|
||||||
|
You can add more replicas to make DTR scale to your demand and for high
|
||||||
|
availability.
|
||||||
|
|
||||||
|
All DTR replicas run the same set of services, and changes to
|
||||||
|
their configuration are propagated automatically to other replicas.
|
||||||
|
|
||||||
Docker Universal Control Plane is designed for high availability (HA). You can
|
- **Universal Control Plane (UCP)**: Deploys applications from images, by
|
||||||
join multiple UCP manager nodes to the cluster, and if one manager node fails,
|
managing orchestrators, like Kubernetes and Swarm.
|
||||||
another takes its place automatically without impact to the cluster. Changes to
|
|
||||||
the configuration of one UCP manager node are propagated automatically to other
|
UCP is designed for high availability (HA). You can join multiple UCP manager
|
||||||
nodes.
|
nodes to the cluster, and if one manager node fails, another takes its place
|
||||||
|
automatically without impact to the cluster.
|
||||||
Docker Trusted Registry is designed to scale horizontally as your usage
|
|
||||||
increases. You can add more replicas to make DTR scale to your demand and for
|
Changes to the configuration of one UCP manager node are propagated
|
||||||
high availability. All DTR replicas run the same set of services, and changes
|
automatically to other nodes.
|
||||||
to their configuration are propagated automatically to other replicas.
|
|
||||||
|
|
||||||
{: .with-border}
|
{: .with-border}
|
||||||
|
|
||||||
### Universal Control Plane (UCP)
|
### Universal Control Plane (UCP)
|
||||||
|
|
||||||
Universal Control Plane (UCP) is a containerized application that runs on
|
Docker UCP is a containerized application that runs on [Docker EE Engine](../index.md)
|
||||||
[Docker EE Engine](../index.md) and extends its functionality to make it
|
and extends its functionality to make it easier to deploy, configure, and
|
||||||
easier to deploy, configure, and monitor your applications at scale.
|
monitor your applications at scale.
|
||||||
|
|
||||||
Docker UCP provides a web UI and a CLI for deploying images from Kubernetes
|
Docker UCP provides a web UI and a CLI for deploying images from Kubernetes
|
||||||
YAML or Compose files. Once your workload is deployed, UCP enables monitoring
|
YAML or Compose files. Once your workload is deployed, UCP enables monitoring
|
||||||
|
|
@ -72,9 +78,9 @@ users can make changes and deploy applications to your cluster.
|
||||||
|
|
||||||
Once a UCP instance is deployed, you don't interact with Docker EE Engine
|
Once a UCP instance is deployed, you don't interact with Docker EE Engine
|
||||||
directly. Instead, you interact with UCP. Since UCP exposes the standard
|
directly. Instead, you interact with UCP. Since UCP exposes the standard
|
||||||
Docker API and the full Kubernetes API, and this is all done transparently,
|
Docker API and the full Kubernetes API transparently, you can use the tools
|
||||||
so that you can use the tools you already know and love, like `kubectl`,
|
you already know and love, like `kubectl`, the Docker CLI client, and Docker
|
||||||
the Docker CLI client, and Docker Compose.
|
Compose.
|
||||||
[Learn about UCP architecture](ucp-architecture.md).
|
[Learn about UCP architecture](ucp-architecture.md).
|
||||||
|
|
||||||
{: .with-border}
|
{: .with-border}
|
||||||
|
|
@ -82,7 +88,7 @@ the Docker CLI client, and Docker Compose.
|
||||||
### Docker Trusted Registry (DTR)
|
### Docker Trusted Registry (DTR)
|
||||||
|
|
||||||
Docker Trusted Registry (DTR) is a containerized application that runs on a
|
Docker Trusted Registry (DTR) is a containerized application that runs on a
|
||||||
Docker Universal Control Plane cluster.
|
Docker UCP cluster.
|
||||||
|
|
||||||
{: .with-border}
|
{: .with-border}
|
||||||
|
|
||||||
|
Before Width: | Height: | Size: 68 KiB After Width: | Height: | Size: 68 KiB |
|
After Width: | Height: | Size: 309 KiB |
|
After Width: | Height: | Size: 776 KiB |
|
|
@ -31,7 +31,7 @@
|
||||||
<g id="docker" transform="translate(0.000000, 76.000000)">
|
<g id="docker" transform="translate(0.000000, 76.000000)">
|
||||||
<rect id="Rectangle-138" fill="#1488C6" x="0" y="0" width="524" height="34" rx="2"></rect>
|
<rect id="Rectangle-138" fill="#1488C6" x="0" y="0" width="524" height="34" rx="2"></rect>
|
||||||
<text id="Docker-Engine-EE" font-family="OpenSans, Open Sans" font-size="14" font-weight="normal" fill="#FFFFFF">
|
<text id="Docker-Engine-EE" font-family="OpenSans, Open Sans" font-size="14" font-weight="normal" fill="#FFFFFF">
|
||||||
<tspan x="205.936035" y="23">Docker Engine EE</tspan>
|
<tspan x="205.936035" y="23">Docker EE Engine</tspan>
|
||||||
</text>
|
</text>
|
||||||
</g>
|
</g>
|
||||||
<g id="ucp" transform="translate(0.000000, 38.000000)">
|
<g id="ucp" transform="translate(0.000000, 38.000000)">
|
||||||
|
|
|
||||||
|
Before Width: | Height: | Size: 5.2 KiB After Width: | Height: | Size: 5.2 KiB |
|
|
@ -23,7 +23,7 @@
|
||||||
<g id="engine" transform="translate(1.000000, 79.000000)">
|
<g id="engine" transform="translate(1.000000, 79.000000)">
|
||||||
<rect id="Rectangle-138" fill="#1488C6" x="0" y="0" width="95" height="22" rx="2"></rect>
|
<rect id="Rectangle-138" fill="#1488C6" x="0" y="0" width="95" height="22" rx="2"></rect>
|
||||||
<text id="Docker-Engine-EE" font-family="OpenSans, Open Sans" font-size="10" font-weight="normal" fill="#FFFFFF">
|
<text id="Docker-Engine-EE" font-family="OpenSans, Open Sans" font-size="10" font-weight="normal" fill="#FFFFFF">
|
||||||
<tspan x="7.59716797" y="15">Docker Engine EE</tspan>
|
<tspan x="7.59716797" y="15">Docker EE Engine</tspan>
|
||||||
</text>
|
</text>
|
||||||
</g>
|
</g>
|
||||||
<g id="ucp" transform="translate(1.000000, 56.000000)">
|
<g id="ucp" transform="translate(1.000000, 56.000000)">
|
||||||
|
|
@ -46,7 +46,7 @@
|
||||||
<g id="engine" transform="translate(1.000000, 79.000000)">
|
<g id="engine" transform="translate(1.000000, 79.000000)">
|
||||||
<rect id="Rectangle-138" fill="#1488C6" x="0" y="0" width="95" height="22" rx="2"></rect>
|
<rect id="Rectangle-138" fill="#1488C6" x="0" y="0" width="95" height="22" rx="2"></rect>
|
||||||
<text id="Docker-Engine-EE" font-family="OpenSans, Open Sans" font-size="10" font-weight="normal" fill="#FFFFFF">
|
<text id="Docker-Engine-EE" font-family="OpenSans, Open Sans" font-size="10" font-weight="normal" fill="#FFFFFF">
|
||||||
<tspan x="7.59716797" y="15">Docker Engine EE</tspan>
|
<tspan x="7.59716797" y="15">Docker EE Engine</tspan>
|
||||||
</text>
|
</text>
|
||||||
</g>
|
</g>
|
||||||
<g id="ucp" transform="translate(1.000000, 56.000000)">
|
<g id="ucp" transform="translate(1.000000, 56.000000)">
|
||||||
|
|
@ -71,7 +71,7 @@
|
||||||
<g id="engine" transform="translate(1.000000, 79.000000)">
|
<g id="engine" transform="translate(1.000000, 79.000000)">
|
||||||
<rect id="Rectangle-138" fill="#1488C6" x="0" y="0" width="95" height="22" rx="2"></rect>
|
<rect id="Rectangle-138" fill="#1488C6" x="0" y="0" width="95" height="22" rx="2"></rect>
|
||||||
<text id="Docker-Engine-EE" font-family="OpenSans, Open Sans" font-size="10" font-weight="normal" fill="#FFFFFF">
|
<text id="Docker-Engine-EE" font-family="OpenSans, Open Sans" font-size="10" font-weight="normal" fill="#FFFFFF">
|
||||||
<tspan x="7.59716797" y="15">Docker Engine EE</tspan>
|
<tspan x="7.59716797" y="15">Docker EE Engine</tspan>
|
||||||
</text>
|
</text>
|
||||||
</g>
|
</g>
|
||||||
<g id="ucp" transform="translate(1.000000, 56.000000)">
|
<g id="ucp" transform="translate(1.000000, 56.000000)">
|
||||||
|
|
@ -100,7 +100,7 @@
|
||||||
<g id="engine" transform="translate(1.000000, 79.000000)">
|
<g id="engine" transform="translate(1.000000, 79.000000)">
|
||||||
<rect id="Rectangle-138" fill="#1488C6" x="0" y="0" width="95" height="22" rx="2"></rect>
|
<rect id="Rectangle-138" fill="#1488C6" x="0" y="0" width="95" height="22" rx="2"></rect>
|
||||||
<text id="Docker-Engine-EE" font-family="OpenSans, Open Sans" font-size="10" font-weight="normal" fill="#FFFFFF">
|
<text id="Docker-Engine-EE" font-family="OpenSans, Open Sans" font-size="10" font-weight="normal" fill="#FFFFFF">
|
||||||
<tspan x="7.59716797" y="15">Docker Engine EE</tspan>
|
<tspan x="7.59716797" y="15">Docker EE Engine</tspan>
|
||||||
</text>
|
</text>
|
||||||
</g>
|
</g>
|
||||||
<g id="ucp" transform="translate(1.000000, 56.000000)">
|
<g id="ucp" transform="translate(1.000000, 56.000000)">
|
||||||
|
|
@ -129,7 +129,7 @@
|
||||||
<g id="engine" transform="translate(1.000000, 79.000000)">
|
<g id="engine" transform="translate(1.000000, 79.000000)">
|
||||||
<rect id="Rectangle-138" fill="#1488C6" x="0" y="0" width="95" height="22" rx="2"></rect>
|
<rect id="Rectangle-138" fill="#1488C6" x="0" y="0" width="95" height="22" rx="2"></rect>
|
||||||
<text id="Docker-Engine-EE" font-family="OpenSans, Open Sans" font-size="10" font-weight="normal" fill="#FFFFFF">
|
<text id="Docker-Engine-EE" font-family="OpenSans, Open Sans" font-size="10" font-weight="normal" fill="#FFFFFF">
|
||||||
<tspan x="7.59716797" y="15">Docker Engine EE</tspan>
|
<tspan x="7.59716797" y="15">Docker EE Engine</tspan>
|
||||||
</text>
|
</text>
|
||||||
</g>
|
</g>
|
||||||
<g id="ucp" transform="translate(1.000000, 56.000000)">
|
<g id="ucp" transform="translate(1.000000, 56.000000)">
|
||||||
|
|
@ -160,7 +160,7 @@
|
||||||
<g id="engine" transform="translate(1.000000, 79.000000)">
|
<g id="engine" transform="translate(1.000000, 79.000000)">
|
||||||
<rect id="Rectangle-138" fill="#1488C6" x="0" y="0" width="95" height="22" rx="2"></rect>
|
<rect id="Rectangle-138" fill="#1488C6" x="0" y="0" width="95" height="22" rx="2"></rect>
|
||||||
<text id="Docker-Engine-EE" font-family="OpenSans, Open Sans" font-size="10" font-weight="normal" fill="#FFFFFF">
|
<text id="Docker-Engine-EE" font-family="OpenSans, Open Sans" font-size="10" font-weight="normal" fill="#FFFFFF">
|
||||||
<tspan x="7.59716797" y="15">Docker Engine EE</tspan>
|
<tspan x="7.59716797" y="15">Docker EE Engine</tspan>
|
||||||
</text>
|
</text>
|
||||||
</g>
|
</g>
|
||||||
<g id="ucp" transform="translate(1.000000, 56.000000)">
|
<g id="ucp" transform="translate(1.000000, 56.000000)">
|
||||||
|
|
@ -183,7 +183,7 @@
|
||||||
<g id="engine" transform="translate(1.000000, 79.000000)">
|
<g id="engine" transform="translate(1.000000, 79.000000)">
|
||||||
<rect id="Rectangle-138" fill="#1488C6" x="0" y="0" width="95" height="22" rx="2"></rect>
|
<rect id="Rectangle-138" fill="#1488C6" x="0" y="0" width="95" height="22" rx="2"></rect>
|
||||||
<text id="Docker-Engine-EE" font-family="OpenSans, Open Sans" font-size="10" font-weight="normal" fill="#FFFFFF">
|
<text id="Docker-Engine-EE" font-family="OpenSans, Open Sans" font-size="10" font-weight="normal" fill="#FFFFFF">
|
||||||
<tspan x="7.59716797" y="15">Docker Engine EE</tspan>
|
<tspan x="7.59716797" y="15">Docker EE Engine</tspan>
|
||||||
</text>
|
</text>
|
||||||
</g>
|
</g>
|
||||||
<g id="ucp" transform="translate(1.000000, 56.000000)">
|
<g id="ucp" transform="translate(1.000000, 56.000000)">
|
||||||
|
|
@ -206,7 +206,7 @@
|
||||||
<g id="engine" transform="translate(1.000000, 79.000000)">
|
<g id="engine" transform="translate(1.000000, 79.000000)">
|
||||||
<rect id="Rectangle-138" fill="#1488C6" x="0" y="0" width="95" height="22" rx="2"></rect>
|
<rect id="Rectangle-138" fill="#1488C6" x="0" y="0" width="95" height="22" rx="2"></rect>
|
||||||
<text id="Docker-Engine-EE" font-family="OpenSans, Open Sans" font-size="10" font-weight="normal" fill="#FFFFFF">
|
<text id="Docker-Engine-EE" font-family="OpenSans, Open Sans" font-size="10" font-weight="normal" fill="#FFFFFF">
|
||||||
<tspan x="7.59716797" y="15">Docker Engine EE</tspan>
|
<tspan x="7.59716797" y="15">Docker EE Engine</tspan>
|
||||||
</text>
|
</text>
|
||||||
</g>
|
</g>
|
||||||
<g id="ucp" transform="translate(1.000000, 56.000000)">
|
<g id="ucp" transform="translate(1.000000, 56.000000)">
|
||||||
|
|
|
||||||
|
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 17 KiB |
|
|
@ -31,7 +31,7 @@
|
||||||
<g id="docker" transform="translate(0.000000, 76.000000)">
|
<g id="docker" transform="translate(0.000000, 76.000000)">
|
||||||
<rect id="Rectangle-138" fill="#1488C6" x="0" y="0" width="524" height="34" rx="2"></rect>
|
<rect id="Rectangle-138" fill="#1488C6" x="0" y="0" width="524" height="34" rx="2"></rect>
|
||||||
<text id="Docker-Enterprise-Edition" font-family="OpenSans, Open Sans" font-size="14" font-weight="normal" fill="#FFFFFF">
|
<text id="Docker-Enterprise-Edition" font-family="OpenSans, Open Sans" font-size="14" font-weight="normal" fill="#FFFFFF">
|
||||||
<tspan x="225.464355" y="23">Docker EE</tspan>
|
<tspan x="225.464355" y="23">Docker EE Engine</tspan>
|
||||||
</text>
|
</text>
|
||||||
</g>
|
</g>
|
||||||
<g id="ucp" transform="translate(0.000000, 38.000000)">
|
<g id="ucp" transform="translate(0.000000, 38.000000)">
|
||||||
|
|
|
||||||
|
Before Width: | Height: | Size: 5.0 KiB After Width: | Height: | Size: 5.0 KiB |
|
|
@ -64,7 +64,7 @@ Kubernetes in Docker EE fully supports all Docker EE features, including
|
||||||
role-based access control, LDAP/AD integration, scanning, signing enforcement,
|
role-based access control, LDAP/AD integration, scanning, signing enforcement,
|
||||||
and security policies.
|
and security policies.
|
||||||
|
|
||||||
- Kubernetes orchestration features
|
- Kubernetes orchestration full feature set
|
||||||
- CNCF Certified Kubernetes conformance
|
- CNCF Certified Kubernetes conformance
|
||||||
- Deploy Kubernetes apps via web UI or CLI
|
- Deploy Kubernetes apps via web UI or CLI
|
||||||
- Compose Stack deploy for both Swarm and Kubernetes apps
|
- Compose Stack deploy for both Swarm and Kubernetes apps
|
||||||
|
|
@ -80,6 +80,8 @@ and security policies.
|
||||||
|
|
||||||
### Orchestration platform
|
### Orchestration platform
|
||||||
|
|
||||||
|
{: .with-border}
|
||||||
|
|
||||||
- Docker EE Manager Nodes are both Swarm managers and Kubernetes masters to enable
|
- Docker EE Manager Nodes are both Swarm managers and Kubernetes masters to enable
|
||||||
high availability
|
high availability
|
||||||
- Allocate nodes for Swarm and Kubernetes workloads
|
- Allocate nodes for Swarm and Kubernetes workloads
|
||||||
|
|
@ -90,8 +92,12 @@ and security policies.
|
||||||
|
|
||||||
### Secure supply chain
|
### Secure supply chain
|
||||||
|
|
||||||
- Image promotion with mirroring between registries
|
{: .with-border}
|
||||||
- Signing/scanning enforcement for Kubernetes
|
|
||||||
|
- Image signing and scanning of Kubernetes apps for validating and verifying content
|
||||||
|
- Image promotion with mirroring between registries (not in Beta1)
|
||||||
|
- Define policies for automating image promotions across the app development
|
||||||
|
lifecycle of Kubernetes apps (not in Beta1)
|
||||||
|
|
||||||
## Centralized cluster management
|
## Centralized cluster management
|
||||||
|
|
||||||
|
|
|
||||||