From 4391ce38f1ab3b2460aa59f31d9827b9968a6d14 Mon Sep 17 00:00:00 2001 From: Joao Fernandes Date: Wed, 9 Nov 2016 16:13:31 -0800 Subject: [PATCH] Improve DDC urls for readability --- _data/toc.yaml | 26 ++++-- datacenter/dtr/2.1/assets/gc1.png | Bin 25447 -> 0 bytes datacenter/dtr/2.1/assets/gc3.png | Bin 30138 -> 0 bytes datacenter/dtr/2.1/assets/repo.png | Bin 74752 -> 0 bytes ...-configuration.md => configure-storage.md} | 0 ...tall-dtr-offline.md => install-offline.md} | 0 datacenter/ucp/2.0/access-ucp/index.md | 26 ++++-- .../ucp/2.0/access-ucp/web-based-access.md | 24 ----- .../ucp/2.0/applications/deploy-app-ui.md | 88 ------------------ datacenter/ucp/2.0/applications/index.md | 87 ++++++++++++++++- datacenter/ucp/2.0/configuration/index.md | 49 ++++++++-- .../use-externally-signed-certs.md | 47 ---------- datacenter/ucp/2.0/high-availability/index.md | 62 ++++++++++-- .../set-up-high-availability.md | 61 ------------ datacenter/ucp/2.0/index.md | 73 ++++++++++++--- datacenter/ucp/2.0/installation/index.md | 64 +++++++++++-- .../2.0/installation/system-requirements.md | 60 ------------ datacenter/ucp/2.0/monitor/index.md | 85 +++++++++++++++-- datacenter/ucp/2.0/monitor/monitor-ucp.md | 85 ----------------- datacenter/ucp/2.0/overview.md | 68 -------------- datacenter/ucp/2.0/user-management/index.md | 13 --- 21 files changed, 407 insertions(+), 511 deletions(-) delete mode 100644 datacenter/dtr/2.1/assets/gc1.png delete mode 100644 datacenter/dtr/2.1/assets/gc3.png delete mode 100644 datacenter/dtr/2.1/assets/repo.png rename datacenter/dtr/2.1/configure/{storage-configuration.md => configure-storage.md} (100%) rename datacenter/dtr/2.1/install/{install-dtr-offline.md => install-offline.md} (100%) delete mode 100644 datacenter/ucp/2.0/access-ucp/web-based-access.md delete mode 100644 datacenter/ucp/2.0/applications/deploy-app-ui.md delete mode 100644 datacenter/ucp/2.0/configuration/use-externally-signed-certs.md delete mode 100644 datacenter/ucp/2.0/high-availability/set-up-high-availability.md delete mode 100644 datacenter/ucp/2.0/installation/system-requirements.md delete mode 100644 datacenter/ucp/2.0/monitor/monitor-ucp.md delete mode 100644 datacenter/ucp/2.0/overview.md delete mode 100644 datacenter/ucp/2.0/user-management/index.md diff --git a/_data/toc.yaml b/_data/toc.yaml index b3d85f8bc8..f4fe02be81 100644 --- a/_data/toc.yaml +++ b/_data/toc.yaml @@ -633,13 +633,13 @@ toc: section: - sectiontitle: Universal Control Plane 2.0 section: - - path: /datacenter/ucp/2.0/overview/ + - path: /datacenter/ucp/2.0/ title: Universal Control Plane overview - path: /datacenter/ucp/2.0/architecture/ title: Architecture - sectiontitle: Installation section: - - path: /datacenter/ucp/2.0/installation/system-requirements/ + - path: /datacenter/ucp/2.0/installation/ title: System requirements - path: /datacenter/ucp/2.0/installation/plan-production-install/ title: Plan a production installation @@ -685,13 +685,13 @@ toc: title: upgrade - sectiontitle: Access UCP section: - - path: /datacenter/ucp/2.0/access-ucp/web-based-access/ + - path: /datacenter/ucp/2.0/access-ucp/ title: Web-based access - path: /datacenter/ucp/2.0/access-ucp/cli-based-access/ title: CLI-based access - sectiontitle: Configuration section: - - path: /datacenter/ucp/2.0/configuration/use-externally-signed-certs/ + - path: /datacenter/ucp/2.0/configuration/ title: Use externally-signed certificates - path: /datacenter/ucp/2.0/configuration/configure-logs/ title: Configure UCP logging @@ -703,7 +703,7 @@ toc: title: Route hostnames to services - sectiontitle: Monitor and troubleshoot section: - - path: /datacenter/ucp/2.0/monitor/monitor-ucp/ + - path: /datacenter/ucp/2.0/monitor/ title: Monitor your cluster - path: /datacenter/ucp/2.0/monitor/troubleshoot-ucp/ title: Troubleshoot your cluster @@ -711,13 +711,13 @@ toc: title: Troubleshoot cluster configurations - sectiontitle: High-availability section: - - path: /datacenter/ucp/2.0/high-availability/set-up-high-availability/ + - path: /datacenter/ucp/2.0/high-availability/ title: Set up high availability - path: /datacenter/ucp/2.0/high-availability/backups-and-disaster-recovery/ title: Backups and disaster recovery - sectiontitle: User management section: - - path: /datacenter/ucp/2.0/user-management/authentication-and-authorization/ + - path: /datacenter/ucp/2.0/user-management/ title: Authentication and authorization - path: /datacenter/ucp/2.0/user-management/create-and-manage-users/ title: Create and manage users @@ -727,10 +727,16 @@ toc: title: Permission levels - sectiontitle: Applications section: - - path: /datacenter/ucp/2.0/applications/deploy-app-ui/ + - path: /datacenter/ucp/2.0/applications/ title: Deploy an app from the UI - path: /datacenter/ucp/2.0/applications/deploy-app-cli/ title: Deploy an app from the CLI + - sectiontitle: Content trust + section: + - path: /datacenter/ucp/2.0/content-trust/ + title: Run only images you trust + - path: /datacenter/ucp/2.0/content-trust/manage-trusted-repositories/ + title: Manage trusted repositories - path: /datacenter/ucp/2.0/support/ title: Get support - path: /datacenter/ucp/2.0/release-notes/ @@ -747,7 +753,7 @@ toc: title: System requirements - path: /datacenter/dtr/2.1/install/ title: Install Docker Trusted Registry - - path: /datacenter/dtr/2.1/install/install-dtr-offline/ + - path: /datacenter/dtr/2.1/install/install-offline/ title: Install offline - path: /datacenter/dtr/2.1/install/license/ title: License your deployment @@ -781,7 +787,7 @@ toc: section: - path: /datacenter/dtr/2.1/configure/ title: Use your own certificates - - path: /datacenter/dtr/2.1/configure/storage-configuration/ + - path: /datacenter/dtr/2.1/configure/configure-storage/ title: Storage configuration - sectiontitle: Monitor and troubleshoot section: diff --git a/datacenter/dtr/2.1/assets/gc1.png b/datacenter/dtr/2.1/assets/gc1.png deleted file mode 100644 index 2db3446ceb289e99a96adb0efee68c406d03ec53..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25447 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 diff --git a/datacenter/dtr/2.1/assets/gc3.png b/datacenter/dtr/2.1/assets/gc3.png deleted file mode 100644 index 1832e7f667bdd0a11e2079a68b170228d662ce70..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 30138 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 Q;D6+#l;2iJy!-tB06Se;q5uE@ diff --git a/datacenter/dtr/2.1/configure/storage-configuration.md b/datacenter/dtr/2.1/configure/configure-storage.md similarity index 100% rename from datacenter/dtr/2.1/configure/storage-configuration.md rename to datacenter/dtr/2.1/configure/configure-storage.md diff --git a/datacenter/dtr/2.1/install/install-dtr-offline.md b/datacenter/dtr/2.1/install/install-offline.md similarity index 100% rename from datacenter/dtr/2.1/install/install-dtr-offline.md rename to datacenter/dtr/2.1/install/install-offline.md diff --git a/datacenter/ucp/2.0/access-ucp/index.md b/datacenter/ucp/2.0/access-ucp/index.md index 4ff580e267..90665b797f 100644 --- a/datacenter/ucp/2.0/access-ucp/index.md +++ b/datacenter/ucp/2.0/access-ucp/index.md @@ -1,12 +1,24 @@ --- -title: Access UCP -description: Learn how to access Docker Universal Control Plane from the web and the - CLI. +title: Web-based access +description: Learn how to access Docker Universal Control Plane from the web browser. keywords: -- docker, ucp, cli +- docker, ucp, web, administration --- -This section includes the following topics: +Docker Universal Control Plane allows you to manage your cluster in a visual +way, from your browser. -* [Web-based access](web-based-access.md) -* [CLI-based access](cli-based-access.md) +![](../images/overview-1.png) + + +Docker UCP secures your cluster with role-based access control. From the +browser, Administrators can: + +* Manage cluster configurations, +* Manage the permissions of users and teams, +* See all images, networks, volumes, and containers. + +![](../images/overview-3.png) + +Non-admin users can only see and change the images, networks, volumes, and +containers, they are granted access. diff --git a/datacenter/ucp/2.0/access-ucp/web-based-access.md b/datacenter/ucp/2.0/access-ucp/web-based-access.md deleted file mode 100644 index 90665b797f..0000000000 --- a/datacenter/ucp/2.0/access-ucp/web-based-access.md +++ /dev/null @@ -1,24 +0,0 @@ ---- -title: Web-based access -description: Learn how to access Docker Universal Control Plane from the web browser. -keywords: -- docker, ucp, web, administration ---- - -Docker Universal Control Plane allows you to manage your cluster in a visual -way, from your browser. - -![](../images/overview-1.png) - - -Docker UCP secures your cluster with role-based access control. From the -browser, Administrators can: - -* Manage cluster configurations, -* Manage the permissions of users and teams, -* See all images, networks, volumes, and containers. - -![](../images/overview-3.png) - -Non-admin users can only see and change the images, networks, volumes, and -containers, they are granted access. diff --git a/datacenter/ucp/2.0/applications/deploy-app-ui.md b/datacenter/ucp/2.0/applications/deploy-app-ui.md deleted file mode 100644 index a0bc820d2f..0000000000 --- a/datacenter/ucp/2.0/applications/deploy-app-ui.md +++ /dev/null @@ -1,88 +0,0 @@ ---- -title: Deploy an app from the UI -description: Learn how to deploy containerized applications on a cluster, with Docker - Universal Control Plane. -keywords: -- ucp, deploy, application ---- - -With Docker Universal Control Plane you can deploy applications from the -UI. You can define your application on the UI, or import an existing -docker-compose.yml file. - -In this example, we're going to deploy a WordPress application. - -## Deploy WordPress - -On your browser, **log in** to UCP, and navigate to the **Applications** page. -There, click the **Compose Application** button, to deploy a new application. - -![](../images/deploy-app-ui-1.png) - -The WordPress application we're going to deploy is composed of two services: - -* wordpress: The container that runs Apache, PHP, and WordPress. -* db: A MariaDB database used for data persistence. - - - -```yml -wordpress: - image: wordpress - links: - - db:mysql - ports: - - 8080:80 - -db: - image: mariadb - environment: - MYSQL_ROOT_PASSWORD: example -``` - -Copy-paste the application definition to UCP, and name it 'wordpress'. -You can also upload a docker-compose.yml file from your machine, by clicking on -the 'Upload an existing docker-compose.yml' link. - -![](../images/deploy-app-ui-2.png) - -Click the **Create** button, to create the WordPress application. - -Once UCP deploys the WordPress application, you can -**click on the wordpress_wordpress_1** container, to see its details. - -![](../images/deploy-app-ui-3.png) - -In the container details page, search for the **Ports** the container is -exposing. - -![](../images/deploy-app-ui-4.png) - -In this example, WordPress can be accessed at `192.168.99.106:8080`. -Navigate to this address in your browser, to start using the WordPress app you -just deployed. - -![](../images/deploy-app-ui-5.png) - - -## Limitations - -There are some limitations when deploying application on the UI. You can't -reference any external files, so the following Docker Compose keywords are not -supported: - -* build -* dockerfile -* env_file - -![](../images/deploy-app-ui-6.png) - -To overcome these limitations, you can -[deploy your apps from the CLI](deploy-app-cli.md). - -Also, UCP doesn't store the compose file used to deploy the application. You can -use your version control system to persist that file. - -## Where to go next - -* [Deploy an app from the CLI](deploy-app-cli.md) diff --git a/datacenter/ucp/2.0/applications/index.md b/datacenter/ucp/2.0/applications/index.md index 6969a60ba4..a0bc820d2f 100644 --- a/datacenter/ucp/2.0/applications/index.md +++ b/datacenter/ucp/2.0/applications/index.md @@ -1,11 +1,88 @@ --- -title: UCP applications -description: Learn how to manage applications on Docker Universal Control Plane. +title: Deploy an app from the UI +description: Learn how to deploy containerized applications on a cluster, with Docker + Universal Control Plane. keywords: -- docker, ucp, apps, management +- ucp, deploy, application --- -This section includes the following topics: +With Docker Universal Control Plane you can deploy applications from the +UI. You can define your application on the UI, or import an existing +docker-compose.yml file. + +In this example, we're going to deploy a WordPress application. + +## Deploy WordPress + +On your browser, **log in** to UCP, and navigate to the **Applications** page. +There, click the **Compose Application** button, to deploy a new application. + +![](../images/deploy-app-ui-1.png) + +The WordPress application we're going to deploy is composed of two services: + +* wordpress: The container that runs Apache, PHP, and WordPress. +* db: A MariaDB database used for data persistence. + + + +```yml +wordpress: + image: wordpress + links: + - db:mysql + ports: + - 8080:80 + +db: + image: mariadb + environment: + MYSQL_ROOT_PASSWORD: example +``` + +Copy-paste the application definition to UCP, and name it 'wordpress'. +You can also upload a docker-compose.yml file from your machine, by clicking on +the 'Upload an existing docker-compose.yml' link. + +![](../images/deploy-app-ui-2.png) + +Click the **Create** button, to create the WordPress application. + +Once UCP deploys the WordPress application, you can +**click on the wordpress_wordpress_1** container, to see its details. + +![](../images/deploy-app-ui-3.png) + +In the container details page, search for the **Ports** the container is +exposing. + +![](../images/deploy-app-ui-4.png) + +In this example, WordPress can be accessed at `192.168.99.106:8080`. +Navigate to this address in your browser, to start using the WordPress app you +just deployed. + +![](../images/deploy-app-ui-5.png) + + +## Limitations + +There are some limitations when deploying application on the UI. You can't +reference any external files, so the following Docker Compose keywords are not +supported: + +* build +* dockerfile +* env_file + +![](../images/deploy-app-ui-6.png) + +To overcome these limitations, you can +[deploy your apps from the CLI](deploy-app-cli.md). + +Also, UCP doesn't store the compose file used to deploy the application. You can +use your version control system to persist that file. + +## Where to go next -* [Deploy an app from the UI](deploy-app-ui.md) * [Deploy an app from the CLI](deploy-app-cli.md) diff --git a/datacenter/ucp/2.0/configuration/index.md b/datacenter/ucp/2.0/configuration/index.md index 3dd688793e..734b6d4ca9 100644 --- a/datacenter/ucp/2.0/configuration/index.md +++ b/datacenter/ucp/2.0/configuration/index.md @@ -1,12 +1,47 @@ --- -title: UCP configuration -description: Learn how to configure Docker Universal Control Plane on production. +title: Use externally-signed certificates +description: Learn how to configure Docker Universal Control Plane to use your own + certificates. keywords: -- docker, ucp, install, configuration +- Universal Control Plane, UCP, certificate, authentiation, tls --- -This section includes the following topics: +By default the UCP web UI is exposed using HTTPS, to ensure all +communications between clients and the cluster are encrypted. Since UCP +controllers use self-signed certificates for this, when a client accesses +UCP their browsers won't trust this certificate, so the browser displays a +warning message. -* [Integrate with Docker Trusted Registry](dtr-integration.md) -* [Configure UCP logging](configure-logs.md) -* [Route hostnames to services](route-hostnames.md) +You can configure UCP to use your own certificates, so that it is automatically +trusted by your users' browser and client tools. + +To ensure minimal impact to your business, you should plan for this change to +happen outside business peak hours. Your applications will continue +running normally, but UCP will be unresponsive while the controller containers +are restarted. + +## Replace the server certificates + +To configure UCP to use your own certificates and keys, go to the +**UCP web UI**, navigate to the **Admin Settings** page, +and click **Certificates**. + +![](../images/use-externally-signed-certs-1.png) + +Upload your certificates and keys: + +* A ca.pem file with the root CA public certificate. +* A cert.pem file with the server certificate and any intermediate CA public +certificates. This certificate should also have SANs for all addresses used to +reach the UCP controller, including load balancers. +* A key.pem file with server private key. + +Finally, click **Update** for the changes to take effect. + +After replacing the certificates your users won't be able to authenticate +with their old client certificate bundles. Ask your users to go to the UCP +web UI and [get new client certificate bundles](../access-ucp/cli-based-access.md). + +## Where to go next + +* [Access UCP from the CLI](../access-ucp/cli-based-access.md) diff --git a/datacenter/ucp/2.0/configuration/use-externally-signed-certs.md b/datacenter/ucp/2.0/configuration/use-externally-signed-certs.md deleted file mode 100644 index 734b6d4ca9..0000000000 --- a/datacenter/ucp/2.0/configuration/use-externally-signed-certs.md +++ /dev/null @@ -1,47 +0,0 @@ ---- -title: Use externally-signed certificates -description: Learn how to configure Docker Universal Control Plane to use your own - certificates. -keywords: -- Universal Control Plane, UCP, certificate, authentiation, tls ---- - -By default the UCP web UI is exposed using HTTPS, to ensure all -communications between clients and the cluster are encrypted. Since UCP -controllers use self-signed certificates for this, when a client accesses -UCP their browsers won't trust this certificate, so the browser displays a -warning message. - -You can configure UCP to use your own certificates, so that it is automatically -trusted by your users' browser and client tools. - -To ensure minimal impact to your business, you should plan for this change to -happen outside business peak hours. Your applications will continue -running normally, but UCP will be unresponsive while the controller containers -are restarted. - -## Replace the server certificates - -To configure UCP to use your own certificates and keys, go to the -**UCP web UI**, navigate to the **Admin Settings** page, -and click **Certificates**. - -![](../images/use-externally-signed-certs-1.png) - -Upload your certificates and keys: - -* A ca.pem file with the root CA public certificate. -* A cert.pem file with the server certificate and any intermediate CA public -certificates. This certificate should also have SANs for all addresses used to -reach the UCP controller, including load balancers. -* A key.pem file with server private key. - -Finally, click **Update** for the changes to take effect. - -After replacing the certificates your users won't be able to authenticate -with their old client certificate bundles. Ask your users to go to the UCP -web UI and [get new client certificate bundles](../access-ucp/cli-based-access.md). - -## Where to go next - -* [Access UCP from the CLI](../access-ucp/cli-based-access.md) diff --git a/datacenter/ucp/2.0/high-availability/index.md b/datacenter/ucp/2.0/high-availability/index.md index 5afe173938..83f2786119 100644 --- a/datacenter/ucp/2.0/high-availability/index.md +++ b/datacenter/ucp/2.0/high-availability/index.md @@ -1,11 +1,61 @@ --- -title: Configure UCP for high availability -description: Learn how to set up Docker Universal Control Plane for high availability. +title: Set up high availability +description: Docker Universal Control plane has support for high availability. Learn + how to set up your installation to ensure it tolerates failures. keywords: -- docker, ucp, high-availability, backup, recovery +- docker, ucp, high-availability, replica --- -This section includes the following topics: +Docker Universal Control Plane is designed for high availability (HA). You can +join multiple manager nodes to the cluster, so that if one manager node fails, +another can automatically take its place without impact to the cluster. -* [Set up high availability](set-up-high-availability.md) -* [Backups and disaster recovery](backups-and-disaster-recovery.md) +Having multiple manager nodes in your cluster, allows you to: + +* Handle manager node failures, +* Load-balance user requests across all manager nodes. + +## Size your deployment + +To make the cluster tolerant to more failures, add additional replica nodes to +your cluster. + +| Manager nodes | Failures tolerated | +|:-------------:|:------------------:| +| 1 | 0 | +| 3 | 1 | +| 5 | 2 | +| 7 | 3 | + + +For production-grade deployments, follow these rules of thumb: + +* When a manager node fails, the number of failures tolerated by your cluster +decreases. Don't leave that node offline for too long. +* You should distribute your manager nodes across different availability zones. +This way your cluster can continue working even if an entire availability zone +goes down. +* Adding many manager nodes to the cluster might lead to performance +degradation, as changes to configurations need to be replicated across all +manager nodes. The maximum advisable is having 7 manager nodes. + +After provisioning the new nodes, you can +[add them to the cluster](../installation/scale-your-cluster.md). + +## Load-balancing on UCP + +Docker UCP does not include a load balancer. You can configure your own +load balancer to balance user requests across all manager nodes. +[Learn more about the UCP reference architecture](https://www.docker.com/sites/default/files/RA_UCP%20Load%20Balancing-Feb%202016_0.pdf). + +Since Docker UCP uses mutual TLS, make sure you configure your load balancer to: + +* Load-balance TCP traffic on port 443, +* Not terminate HTTPS connections, +* Use the `/_ping` endpoint on each manager node, to check if the node +is healthy and if it should remain on the load balancing pool or not. + +## Where to go next + +* [UCP architecture](../architecture.md) +* [Scale your cluster](../installation/scale-your-cluster.md) diff --git a/datacenter/ucp/2.0/high-availability/set-up-high-availability.md b/datacenter/ucp/2.0/high-availability/set-up-high-availability.md deleted file mode 100644 index 83f2786119..0000000000 --- a/datacenter/ucp/2.0/high-availability/set-up-high-availability.md +++ /dev/null @@ -1,61 +0,0 @@ ---- -title: Set up high availability -description: Docker Universal Control plane has support for high availability. Learn - how to set up your installation to ensure it tolerates failures. -keywords: -- docker, ucp, high-availability, replica ---- - -Docker Universal Control Plane is designed for high availability (HA). You can -join multiple manager nodes to the cluster, so that if one manager node fails, -another can automatically take its place without impact to the cluster. - -Having multiple manager nodes in your cluster, allows you to: - -* Handle manager node failures, -* Load-balance user requests across all manager nodes. - -## Size your deployment - -To make the cluster tolerant to more failures, add additional replica nodes to -your cluster. - -| Manager nodes | Failures tolerated | -|:-------------:|:------------------:| -| 1 | 0 | -| 3 | 1 | -| 5 | 2 | -| 7 | 3 | - - -For production-grade deployments, follow these rules of thumb: - -* When a manager node fails, the number of failures tolerated by your cluster -decreases. Don't leave that node offline for too long. -* You should distribute your manager nodes across different availability zones. -This way your cluster can continue working even if an entire availability zone -goes down. -* Adding many manager nodes to the cluster might lead to performance -degradation, as changes to configurations need to be replicated across all -manager nodes. The maximum advisable is having 7 manager nodes. - -After provisioning the new nodes, you can -[add them to the cluster](../installation/scale-your-cluster.md). - -## Load-balancing on UCP - -Docker UCP does not include a load balancer. You can configure your own -load balancer to balance user requests across all manager nodes. -[Learn more about the UCP reference architecture](https://www.docker.com/sites/default/files/RA_UCP%20Load%20Balancing-Feb%202016_0.pdf). - -Since Docker UCP uses mutual TLS, make sure you configure your load balancer to: - -* Load-balance TCP traffic on port 443, -* Not terminate HTTPS connections, -* Use the `/_ping` endpoint on each manager node, to check if the node -is healthy and if it should remain on the load balancing pool or not. - -## Where to go next - -* [UCP architecture](../architecture.md) -* [Scale your cluster](../installation/scale-your-cluster.md) diff --git a/datacenter/ucp/2.0/index.md b/datacenter/ucp/2.0/index.md index 597a4780d1..1a559e39d4 100644 --- a/datacenter/ucp/2.0/index.md +++ b/datacenter/ucp/2.0/index.md @@ -1,23 +1,68 @@ --- -title: Docker Universal Control Plane -description: Docker Universal Control Plane +title: Universal Control Plane overview +description: Learn about Docker Universal Control Plane, the enterprise-grade cluster + management solution from Docker. keywords: -- universal, control, plane, ucp +- docker, ucp, overview, orchestration, clustering --- Docker Universal Control Plane (UCP) is the enterprise-grade cluster management solution from Docker. You install it behind your firewall, and it helps you manage your whole cluster from a single place. -The UCP documentation includes the following topics: +![](images/overview-1.png) -* [Universal Control Plane overview](overview.md) -* [Architecture](architecture.md) -* [Installation](installation/system-requirements.md) -* [Access UCP](access-ucp/web-based-access.md) -* [Configuration](configuration/dtr-integration.md) -* [Monitor and troubleshoot](monitor/monitor-ucp.md) -* [High availability](high-availability/set-up-high-availability.md) -* [User management](user-management/authentication-and-authorization.md) -* [Applications](applications/deploy-app-ui.md) -* [Release notes](release-notes.md) +## Centralized cluster management + +Docker UCP can be installed on-premises, or on a virtual private cloud. +And with it, you can manage thousands of nodes as if they were a single one. +You can monitor and manage your cluster using a graphical UI. + +![](images/overview-2.png) + +Since UCP exposes the standard Docker API, you can continue using the tools +you already know, to manage a whole cluster. + +As an example, you can use the `docker info` command to check the +status of the cluster: + +```bash +$ docker info + +Containers: 30 +Images: 24 +Server Version: swarm/1.1.3 +Role: primary +Strategy: spread +Filters: health, port, dependency, affinity, constraint +Nodes: 2 + ucp: 192.168.99.103:12376 + └ Status: Healthy + └ Containers: 20 + ucp-replica: 192.168.99.102:12376 + └ Status: Healthy + └ Containers: 10 +``` + +## Deploy, manage, and monitor + +With Docker UCP you can manage the nodes of your infrastructure. You can also +manage apps, containers, networks, images, and volumes, in a transparent way. + +## Built-in security and access control + +Docker UCP has its own built-in authentication mechanism, and supports LDAP +and Active Directory. It also supports Role Based Access Control (RBAC). +This ensures that only authorized users can access and make changes to cluster. + +![](images/overview-3.png) + +Docker UCP also integrates with Docker Trusted Registry and Docker Content +Trust. This allows you to keep your images stored behind your firewall, +where they are safe. It also allows you to sign those images to ensure that +the images you deploy have not been altered in any way. + +## Where to go next + +* [UCP architecture](architecture.md) +* [Install UCP](installation/install-production.md) diff --git a/datacenter/ucp/2.0/installation/index.md b/datacenter/ucp/2.0/installation/index.md index 37ec1b6e5a..3e06f07a19 100644 --- a/datacenter/ucp/2.0/installation/index.md +++ b/datacenter/ucp/2.0/installation/index.md @@ -1,16 +1,60 @@ --- -title: Install UCP -description: Learn the requirements and procedure to install Docker Universal Control Plane on production. +title: UCP System requirements +description: Learn about the system requirements for installing Docker Universal Control + Plane. keywords: -- docker, ucp, install, requirements +- docker, ucp, architecture, requirements --- -This section includes the following topics: +Docker Universal Control Plane can be installed on-premises or on the cloud. +Before installing, be sure your infrastructure has these requirements. -* [System requirements](system-requirements.md) +## Hardware and software requirements + +You can install UCP on-premises or on a cloud provider. To install UCP, +all nodes must have: + +* Linux kernel version 3.10 or higher +* CS Docker Engine version 1.12.1 or higher +* 2.00 GB of RAM +* 3.00 GB of available disk space +* A static IP address + +For highly-available installations, you also need a way to transfer files +between hosts. + +## Ports used + +When installing UCP on a host, make sure the following ports are open: + +| Hosts | Direction | Port | Purpose | +|:------------------|:---------:|:------------------------|:----------------------------------------------------------------------------------| +| managers, workers | in | TCP 443 (configurable) | Port for the UCP web UI and API | +| managers | in | TCP 2376 (configurable) | Port for the Docker Swarm manager. Used for backwards compatibility | +| managers, workers | in | TCP 2377 (configurable) | Port for communication between swarm nodes | +| managers, workers | in, out | TCP, UDP 4789 | Port for overlay networking | +| managers, workers | in, out | TCP, UDP 7946 | Port for overlay networking | +| managers, workers | in | TCP 12376 | Port for a TLS proxy that provides access to UCP, Docker Engine, and Docker Swarm | +| managers | in | TCP 12379 | Port for internal node configuration, cluster configuration, and HA | +| managers | in | TCP 12380 | Port for internal node configuration, cluster configuration, and HA | +| managers | in | TCP 12381 | Port for the certificate authority | +| managers | in | TCP 12382 | Port for the UCP certificate authority | +| managers | in | TCP 12383 | Port for the authentication storage backend | +| managers | in | TCP 12384 | Port for the authentication storage backend for replication across managers | +| managers | in | TCP 12385 | Port for the authentication service API | +| managers | in | TCP 12386 | Port for the authentication worker | + +## Compatibility and maintenance lifecycle + +Docker Datacenter is a software subscription that includes 3 products: + +* CS Docker Engine, +* Docker Trusted Registry, +* Docker Universal Control Plane. + +[Learn more about the maintenance lifecycle for these products](http://success.docker.com/Get_Help/Compatibility_Matrix_and_Maintenance_Lifecycle). + +## Where to go next + +* [UCP architecture](../architecture.md) * [Plan a production installation](plan-production-install.md) -* [Install UCP for production](install-production.md) -* [Install offline](install-offline.md) -* [License UCP](license.md) -* [Upgrade to UCP 2.0](upgrade.md) -* [Uninstall UCP](uninstall.md) diff --git a/datacenter/ucp/2.0/installation/system-requirements.md b/datacenter/ucp/2.0/installation/system-requirements.md deleted file mode 100644 index 3e06f07a19..0000000000 --- a/datacenter/ucp/2.0/installation/system-requirements.md +++ /dev/null @@ -1,60 +0,0 @@ ---- -title: UCP System requirements -description: Learn about the system requirements for installing Docker Universal Control - Plane. -keywords: -- docker, ucp, architecture, requirements ---- - -Docker Universal Control Plane can be installed on-premises or on the cloud. -Before installing, be sure your infrastructure has these requirements. - -## Hardware and software requirements - -You can install UCP on-premises or on a cloud provider. To install UCP, -all nodes must have: - -* Linux kernel version 3.10 or higher -* CS Docker Engine version 1.12.1 or higher -* 2.00 GB of RAM -* 3.00 GB of available disk space -* A static IP address - -For highly-available installations, you also need a way to transfer files -between hosts. - -## Ports used - -When installing UCP on a host, make sure the following ports are open: - -| Hosts | Direction | Port | Purpose | -|:------------------|:---------:|:------------------------|:----------------------------------------------------------------------------------| -| managers, workers | in | TCP 443 (configurable) | Port for the UCP web UI and API | -| managers | in | TCP 2376 (configurable) | Port for the Docker Swarm manager. Used for backwards compatibility | -| managers, workers | in | TCP 2377 (configurable) | Port for communication between swarm nodes | -| managers, workers | in, out | TCP, UDP 4789 | Port for overlay networking | -| managers, workers | in, out | TCP, UDP 7946 | Port for overlay networking | -| managers, workers | in | TCP 12376 | Port for a TLS proxy that provides access to UCP, Docker Engine, and Docker Swarm | -| managers | in | TCP 12379 | Port for internal node configuration, cluster configuration, and HA | -| managers | in | TCP 12380 | Port for internal node configuration, cluster configuration, and HA | -| managers | in | TCP 12381 | Port for the certificate authority | -| managers | in | TCP 12382 | Port for the UCP certificate authority | -| managers | in | TCP 12383 | Port for the authentication storage backend | -| managers | in | TCP 12384 | Port for the authentication storage backend for replication across managers | -| managers | in | TCP 12385 | Port for the authentication service API | -| managers | in | TCP 12386 | Port for the authentication worker | - -## Compatibility and maintenance lifecycle - -Docker Datacenter is a software subscription that includes 3 products: - -* CS Docker Engine, -* Docker Trusted Registry, -* Docker Universal Control Plane. - -[Learn more about the maintenance lifecycle for these products](http://success.docker.com/Get_Help/Compatibility_Matrix_and_Maintenance_Lifecycle). - -## Where to go next - -* [UCP architecture](../architecture.md) -* [Plan a production installation](plan-production-install.md) diff --git a/datacenter/ucp/2.0/monitor/index.md b/datacenter/ucp/2.0/monitor/index.md index 24ed94cc66..b6dd24f830 100644 --- a/datacenter/ucp/2.0/monitor/index.md +++ b/datacenter/ucp/2.0/monitor/index.md @@ -1,12 +1,85 @@ --- -title: Monitor and troubleshoot UCP -description: Manage, monitor, troubleshoot +title: Monitor your cluster +description: Monitor your Docker Universal Control Plane installation, and learn how + to troubleshoot it. keywords: -- manage, monitor, troubleshoot +- Docker, UCP, troubleshoot --- -This section includes the following topics: +This article gives you an overview of how to monitor your Docker UCP +cluster. Here you'll also find the information you need to troubleshoot +if something goes wrong. + + +## Check the cluster status from the UI + +To monitor your UCP cluster, the first thing to check is the **Nodes** +screen on the UCP web app. + +![UCP dashboard](../images/monitor-ucp-1.png) + +In the nodes screen you can see if all the nodes in the cluster are healthy, or +if there is any problem. + +You can also check the state of individual UCP containers by navigating to the +**Containers** page. By default the Containers screen doesn't display system +containers. On the filter dropdown choose **Show all containers** to see all +the UCP components. + +![UCP dashboard](../images/monitor-ucp-2.png) + +You can click on a container to see more details like configurations and logs. + + +## Check the cluster status from the CLI + +You can also monitor the status of a UCP cluster, using the Docker CLI client. + +1. Get a client certificate bundle. + + When using the Docker CLI client you need to authenticate using client + certificates. + [Learn how to use client certificates](../access-ucp/cli-based-access.md). + + If your client certificate bundle is for a non-admin user, you won't have + permissions to execute all docker commands, or see all information about + the cluster. + +2. Use the `docker info` command to check the cluster status. + + ```bash + $ docker info + + Containers: 11 + Nodes: 2 + ucp: 192.168.99.100:12376 + └ Status: Healthy + ucp-node: 192.168.99.101:12376 + └ Status: Healthy + Cluster Managers: 1 + 192.168.99.104: Healthy + └ Orca Controller: https://192.168.99.100:443 + └ Swarm Manager: tcp://192.168.99.100:3376 + └ KV: etcd://192.168.99.100:12379 + ``` + +3. Check the container logs + + With an admin user certificate bundle, you can run docker commands directly + on the Docker Engine or Swarm Manager of a node. In this example, we are + connecting directly to the Docker Engine running on the UCP controller, and + requesting the logs of the ucp-kv container. + + ```bash + $ docker -H tcp://192.168.99.101:12376 logs ucp-kv + + 2016-04-18 22:40:51.553912 I | etcdserver: start to snapshot (applied: 40004, lastsnap: 30003) + 2016-04-18 22:40:51.561682 I | etcdserver: saved snapshot at index 40004 + 2016-04-18 22:40:51.561927 I | etcdserver: compacted raft log at 35004 + ``` + + +## Where to go next -* [Monitor your cluster](monitor-ucp.md) * [Troubleshoot your cluster](troubleshoot-ucp.md) -* [Troubleshoot cluster configurations](troubleshoot-configurations.md) +* [Get support](../support.md) diff --git a/datacenter/ucp/2.0/monitor/monitor-ucp.md b/datacenter/ucp/2.0/monitor/monitor-ucp.md deleted file mode 100644 index b6dd24f830..0000000000 --- a/datacenter/ucp/2.0/monitor/monitor-ucp.md +++ /dev/null @@ -1,85 +0,0 @@ ---- -title: Monitor your cluster -description: Monitor your Docker Universal Control Plane installation, and learn how - to troubleshoot it. -keywords: -- Docker, UCP, troubleshoot ---- - -This article gives you an overview of how to monitor your Docker UCP -cluster. Here you'll also find the information you need to troubleshoot -if something goes wrong. - - -## Check the cluster status from the UI - -To monitor your UCP cluster, the first thing to check is the **Nodes** -screen on the UCP web app. - -![UCP dashboard](../images/monitor-ucp-1.png) - -In the nodes screen you can see if all the nodes in the cluster are healthy, or -if there is any problem. - -You can also check the state of individual UCP containers by navigating to the -**Containers** page. By default the Containers screen doesn't display system -containers. On the filter dropdown choose **Show all containers** to see all -the UCP components. - -![UCP dashboard](../images/monitor-ucp-2.png) - -You can click on a container to see more details like configurations and logs. - - -## Check the cluster status from the CLI - -You can also monitor the status of a UCP cluster, using the Docker CLI client. - -1. Get a client certificate bundle. - - When using the Docker CLI client you need to authenticate using client - certificates. - [Learn how to use client certificates](../access-ucp/cli-based-access.md). - - If your client certificate bundle is for a non-admin user, you won't have - permissions to execute all docker commands, or see all information about - the cluster. - -2. Use the `docker info` command to check the cluster status. - - ```bash - $ docker info - - Containers: 11 - Nodes: 2 - ucp: 192.168.99.100:12376 - └ Status: Healthy - ucp-node: 192.168.99.101:12376 - └ Status: Healthy - Cluster Managers: 1 - 192.168.99.104: Healthy - └ Orca Controller: https://192.168.99.100:443 - └ Swarm Manager: tcp://192.168.99.100:3376 - └ KV: etcd://192.168.99.100:12379 - ``` - -3. Check the container logs - - With an admin user certificate bundle, you can run docker commands directly - on the Docker Engine or Swarm Manager of a node. In this example, we are - connecting directly to the Docker Engine running on the UCP controller, and - requesting the logs of the ucp-kv container. - - ```bash - $ docker -H tcp://192.168.99.101:12376 logs ucp-kv - - 2016-04-18 22:40:51.553912 I | etcdserver: start to snapshot (applied: 40004, lastsnap: 30003) - 2016-04-18 22:40:51.561682 I | etcdserver: saved snapshot at index 40004 - 2016-04-18 22:40:51.561927 I | etcdserver: compacted raft log at 35004 - ``` - - -## Where to go next - -* [Troubleshoot your cluster](troubleshoot-ucp.md) -* [Get support](../support.md) diff --git a/datacenter/ucp/2.0/overview.md b/datacenter/ucp/2.0/overview.md deleted file mode 100644 index 1a559e39d4..0000000000 --- a/datacenter/ucp/2.0/overview.md +++ /dev/null @@ -1,68 +0,0 @@ ---- -title: Universal Control Plane overview -description: Learn about Docker Universal Control Plane, the enterprise-grade cluster - management solution from Docker. -keywords: -- docker, ucp, overview, orchestration, clustering ---- - -Docker Universal Control Plane (UCP) is the enterprise-grade cluster management -solution from Docker. You install it behind your firewall, and it helps you -manage your whole cluster from a single place. - -![](images/overview-1.png) - -## Centralized cluster management - -Docker UCP can be installed on-premises, or on a virtual private cloud. -And with it, you can manage thousands of nodes as if they were a single one. -You can monitor and manage your cluster using a graphical UI. - -![](images/overview-2.png) - -Since UCP exposes the standard Docker API, you can continue using the tools -you already know, to manage a whole cluster. - -As an example, you can use the `docker info` command to check the -status of the cluster: - -```bash -$ docker info - -Containers: 30 -Images: 24 -Server Version: swarm/1.1.3 -Role: primary -Strategy: spread -Filters: health, port, dependency, affinity, constraint -Nodes: 2 - ucp: 192.168.99.103:12376 - └ Status: Healthy - └ Containers: 20 - ucp-replica: 192.168.99.102:12376 - └ Status: Healthy - └ Containers: 10 -``` - -## Deploy, manage, and monitor - -With Docker UCP you can manage the nodes of your infrastructure. You can also -manage apps, containers, networks, images, and volumes, in a transparent way. - -## Built-in security and access control - -Docker UCP has its own built-in authentication mechanism, and supports LDAP -and Active Directory. It also supports Role Based Access Control (RBAC). -This ensures that only authorized users can access and make changes to cluster. - -![](images/overview-3.png) - -Docker UCP also integrates with Docker Trusted Registry and Docker Content -Trust. This allows you to keep your images stored behind your firewall, -where they are safe. It also allows you to sign those images to ensure that -the images you deploy have not been altered in any way. - -## Where to go next - -* [UCP architecture](architecture.md) -* [Install UCP](installation/install-production.md) diff --git a/datacenter/ucp/2.0/user-management/index.md b/datacenter/ucp/2.0/user-management/index.md deleted file mode 100644 index d5145bcc64..0000000000 --- a/datacenter/ucp/2.0/user-management/index.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: Manage users in UCP -description: Learn how to manage user permissions on Docker Universal Control Plane. -keywords: -- docker, ucp, management, security, users ---- - -This section includes the following topics: - -* [Authentication and authorization](authentication-and-authorization.md) -* [Create and manage users](create-and-manage-users.md) -* [Create and manage teams](create-and-manage-teams.md) -* [Permission levels](permission-levels.md)