mirror of https://github.com/docker/docs.git
Product/image rename
This revamps the product and image names. After merging this change, the bootstrapper image will be known as "dockerorca/ucp" since it is the primary image customers interact with. The controller will be known as "dockerorca/ucp-controller" and the corresponding container names are "ucp" and "ucp-controller". Once we get closer to GA, we'll move the images under the "docker" org, so the product name will flow nicely from that "docker/ucp" for the bootstrapping tool, and "docker/ucp-controller" for the server image.
This commit is contained in:
parent
7b1888c219
commit
4a02cc19c8
|
@ -1,7 +1,7 @@
|
|||
# Orca High Availability
|
||||
# UCP High Availability
|
||||
|
||||
This document outlines how Orca high availability works, and general
|
||||
guidelines for deploying a highly available Orca in production.
|
||||
This document outlines how UCP high availability works, and general
|
||||
guidelines for deploying a highly available UCP in production.
|
||||
When adding nodes to your cluster, you decide which nodes you want to
|
||||
be replicas, and which nodes are simply additional engines for extra
|
||||
capacity. If you are planning an HA deployment, you should have a
|
||||
|
@ -15,34 +15,34 @@ the first replica, if an error occurrs, the cluster will be come unusable.
|
|||
## Architecture
|
||||
|
||||
* **Primary Controller** This is the first node you run the `install` against. It runs the following containers/services:
|
||||
* **orca-kv** This etcd container runs the replicated KV store
|
||||
* **orca-swarm-manger** This Swarm Manager uses the replicated KV store for leader election and cluster membership tracking
|
||||
* **orca-controller** This container runs the Orca server, using the replicated KV store for configuration state
|
||||
* **orca-swarm-join** Runs the swarm join command to periodically publish this nodes existence to the KV store. If the node goes down, this publishing stops, and the registration times out, and the node is automatically dropped from the cluster
|
||||
* **orca-proxy** Runs a local TLS proxy for the docker socket to enable secure access of the local docker daemon
|
||||
* **orca-swarm-ca[-proxy]** These **unreplicated** containers run the Swarm CA used for admin certificate bundles, and adding new nodes
|
||||
* **orca-ca[-proxy]** These **unreplicated** containers run the (optional) Orca CA used for signing user bundles.
|
||||
* **ucp-kv** This etcd container runs the replicated KV store
|
||||
* **ucp-swarm-manger** This Swarm Manager uses the replicated KV store for leader election and cluster membership tracking
|
||||
* **ucp-controller** This container runs the UCP server, using the replicated KV store for configuration state
|
||||
* **ucp-swarm-join** Runs the swarm join command to periodically publish this nodes existence to the KV store. If the node goes down, this publishing stops, and the registration times out, and the node is automatically dropped from the cluster
|
||||
* **ucp-proxy** Runs a local TLS proxy for the docker socket to enable secure access of the local docker daemon
|
||||
* **ucp-swarm-ca[-proxy]** These **unreplicated** containers run the Swarm CA used for admin certificate bundles, and adding new nodes
|
||||
* **ucp-ca[-proxy]** These **unreplicated** containers run the (optional) UCP CA used for signing user bundles.
|
||||
* **Replica Node** This is a node you `join` to the primary using the `--replica` flag and it contributes to the availability of the cluster
|
||||
* **orca-kv** This etcd container runs the replicated KV store
|
||||
* **orca-swarm-manger** This Swarm Manager uses the replicated KV store for leader election and cluster membership tracking
|
||||
* **orca-controller** This container runs the Orca server, using the replicated KV store for configuration state
|
||||
* **orca-swarm-join** Runs the swarm join command to periodically publish this nodes existence to the KV store. If the node goes down, this publishing stops, and the registration times out, and the node is automatically dropped from the cluster
|
||||
* **orca-proxy** Runs a local TLS proxy for the docker socket to enable secure access of the local docker daemon
|
||||
* **Non-Replica Node** These nodes provide additional capacity, but do not enhance the availability of the Orca/Swarm infrastructure
|
||||
* **orca-swarm-join** Runs the swarm join command to periodically publish this nodes existence to the KV store. If the node goes down, this publishing stops, and the registration times out, and the node is automatically dropped from the cluster
|
||||
* **orca-proxy** Runs a local TLS proxy for the docker socket to enable secure access of the local docker daemon
|
||||
* **ucp-kv** This etcd container runs the replicated KV store
|
||||
* **ucp-swarm-manger** This Swarm Manager uses the replicated KV store for leader election and cluster membership tracking
|
||||
* **ucp-controller** This container runs the UCP server, using the replicated KV store for configuration state
|
||||
* **ucp-swarm-join** Runs the swarm join command to periodically publish this nodes existence to the KV store. If the node goes down, this publishing stops, and the registration times out, and the node is automatically dropped from the cluster
|
||||
* **ucp-proxy** Runs a local TLS proxy for the docker socket to enable secure access of the local docker daemon
|
||||
* **Non-Replica Node** These nodes provide additional capacity, but do not enhance the availability of the UCP/Swarm infrastructure
|
||||
* **ucp-swarm-join** Runs the swarm join command to periodically publish this nodes existence to the KV store. If the node goes down, this publishing stops, and the registration times out, and the node is automatically dropped from the cluster
|
||||
* **ucp-proxy** Runs a local TLS proxy for the docker socket to enable secure access of the local docker daemon
|
||||
|
||||
Notes:
|
||||
* At present, Orca does not include a load-balancer. Users may provide one exernally and load balance between the primary and replica nodes on port 443 for web access to the system via a single IP/hostname if desired. If no external load balancer is used, admins should note the IP/hostname of the primary and all replicas so they can access them when needed.
|
||||
* At present, UCP does not include a load-balancer. Users may provide one exernally and load balance between the primary and replica nodes on port 443 for web access to the system via a single IP/hostname if desired. If no external load balancer is used, admins should note the IP/hostname of the primary and all replicas so they can access them when needed.
|
||||
* Backups:
|
||||
* Users should always back up their volumes (see the other guides for a complete list of named volumes)
|
||||
* The CAs (swarm and orca) are not currently replicated.
|
||||
* The CAs (swarm and UCP) are not currently replicated.
|
||||
* Swarm CA:
|
||||
* Used for admin cert bundle generation
|
||||
* Used for adding hosts to the cluster
|
||||
* During an outage, no new admin cert bundles can be downloaded, but existing ones will still work.
|
||||
* During an outage, no new nodes can be added to the cluster, but existing nodes will continue to operate
|
||||
* Orca CA:
|
||||
* UCP CA:
|
||||
* Used for user bundle generation
|
||||
* Used to sign certs for new replica nodes
|
||||
* During an outage, no new user cert bundles can be downloaded, but existing ones will still work
|
||||
|
|
164
install-beta.md
164
install-beta.md
|
@ -1,15 +1,15 @@
|
|||
# Docker Orca Quickstart Guide
|
||||
# Docker UCP Quickstart Guide
|
||||
|
||||
These instructions explain how to install Orca. An Orca installation consists of an Orca server and one or more nodes. The same machine can serve as both the server and the node. These instructions show you how to install both a host and a node. It contains the following sections:
|
||||
These instructions explain how to install UCP. A UCP installation consists of an UCP server and one or more nodes. The same machine can serve as both the server and the node. These instructions show you how to install both a host and a node. It contains the following sections:
|
||||
|
||||
- [Plan your installation](#plan-your-installation)
|
||||
- [Step 1: Verify you have the prerequisites](#step-1-verify-you-have-the-prerequisites)
|
||||
- [Step 2: Configure your network for Orca](#step-2-configure-your-network-for-orca)
|
||||
- [Step 2: Configure your network for UCP](#step-2-configure-your-network-for-ucp)
|
||||
- [Step 3: Install Docker Engine v1.9](#step-3-install-docker-engine-v19)
|
||||
- [Step 4: (optional) Create user-named volumes](#step-4-optional-create-user-named-volumes)
|
||||
- [Step 5: Install the Orca server](#step-5-install-the-orca-server)
|
||||
- [Step 5: Install the UCP server](#step-5-install-the-ucp-server)
|
||||
- [Step 6: Set up certs for the Docker CLI](#step-6-set-up-certs-for-the-docker-cli)
|
||||
- [Step 7: Add a Node to the Orca cluster](#step-7-add-a-node-to-the-orca-cluster)
|
||||
- [Step 7: Add a Node to the UCP cluster](#step-7-add-a-node-to-the-ucp-cluster)
|
||||
- [Uninstall](#uninstall)
|
||||
- [Block Mixpanel analytics](#block-mixpanel-analytics)
|
||||
- [Installing with your own certificates](#installing-with-your-own-certificates)
|
||||
|
@ -17,9 +17,9 @@ These instructions explain how to install Orca. An Orca installation consists of
|
|||
|
||||
## Plan your installation
|
||||
|
||||
The Orca installation consists of running the `orca-bootstrap` image using the
|
||||
The UCP installation consists of running the `ucp` image using the
|
||||
Docker Engine CLI. The image launches an interactive script that automates the
|
||||
Orca setup using a default configurations for both data volumes and certificate
|
||||
UCP setup using a default configurations for both data volumes and certificate
|
||||
authority (CA).
|
||||
|
||||
The first time you install, you should install in a sandbox environment where
|
||||
|
@ -36,35 +36,35 @@ customization steps. Customize steps are identified with the keyword
|
|||
(optional). Make sure you skip these steps when doing the default installation
|
||||
in your sandbox.
|
||||
|
||||
The Orca BETA program makes use of Mixpanel to collect analytics. This feature collects data on your usage of Orca and returns it to Docker. The information is entirely anonymous and does not identify your Company or users. Currently, you cannot turn the collection off but you can block the outgoing messaging. Later in this documentation [Block Mixpanel analytics](#block-mixpanel-analytics) explains how.
|
||||
The UCP BETA program makes use of Mixpanel to collect analytics. This feature collects data on your usage of UCP and returns it to Docker. The information is entirely anonymous and does not identify your Company or users. Currently, you cannot turn the collection off but you can block the outgoing messaging. Later in this documentation [Block Mixpanel analytics](#block-mixpanel-analytics) explains how.
|
||||
|
||||
## Step 1: Verify you have the prerequisites
|
||||
|
||||
You can install Orca on your network or on a cloud provider such AWS or Digital Ocean. To install, the server and the nodes can run any of these supported operating systems:
|
||||
You can install UCP on your network or on a cloud provider such AWS or Digital Ocean. To install, the server and the nodes can run any of these supported operating systems:
|
||||
|
||||
* RHEL 7.0, 7.1
|
||||
* Ubuntu 14.04 LTS
|
||||
* CentOS 7.1
|
||||
|
||||
Installing Docker Orca requires that you first install the testing Docker Engine v1.9 on both the server and the nodes. The Docker Engine can be local or remote. These instructions assume you are installing both Orca and Docker Engine locally.
|
||||
Installing Docker UCP requires that you first install the testing Docker Engine v1.9 on both the server and the nodes. The Docker Engine can be local or remote. These instructions assume you are installing both UCP and Docker Engine locally.
|
||||
|
||||
Finally, installing Orca requires you to pull an image from the Docker Hub. If you don't already have a Docker Hub account, make sure you [create an account](https://hub.docker.com/). Once you have a Hub account, send an email to <mailto:support@docker.com> with your account name and request access to the Orca BETA image.
|
||||
Finally, installing UCP requires you to pull an image from the Docker Hub. If you don't already have a Docker Hub account, make sure you [create an account](https://hub.docker.com/). Once you have a Hub account, send an email to <mailto:support@docker.com> with your account name and request access to the UCP BETA image.
|
||||
|
||||
|
||||
## Step 2: Configure your network for Orca
|
||||
## Step 2: Configure your network for UCP
|
||||
|
||||
Orca includes Docker Swarm as part of its installation. So, you don't need to install Docker Swarm. You do need to ensure that the Orca server and nodes can communicate across your network. Configure your network making sure to open the following ports:
|
||||
UCP includes Docker Swarm as part of its installation. So, you don't need to install Docker Swarm. You do need to ensure that the UCP server and nodes can communicate across your network. Configure your network making sure to open the following ports:
|
||||
|
||||
| Port | Description |
|
||||
|------------------|-----------------|
|
||||
| `443` | Orca server |
|
||||
| `443` | UCP server |
|
||||
| `2376` | Swarm manager |
|
||||
| `12376` | Engine proxy |
|
||||
| `12379`, `12380` | Key Value store |
|
||||
| `12381` | Swarm CA service|
|
||||
| `12382` | Orca CA service |
|
||||
| `12382` | UCP CA service |
|
||||
|
||||
The communication between the server, nodes, and key value store is all protected by mutual TLS. The Orca installation of Swarm provides TLS for you automatically.
|
||||
The communication between the server, nodes, and key value store is all protected by mutual TLS. The UCP installation of Swarm provides TLS for you automatically.
|
||||
|
||||
Finally, you can specify a different port for the Swarm manager if you need to. These instructions assume you are using the default `2376` port.
|
||||
|
||||
|
@ -120,43 +120,43 @@ EOF
|
|||
|
||||
## Step 4: (optional) Create user-named volumes
|
||||
|
||||
Orca uses named volumes for persistence of user data. By default, the
|
||||
`orca-bootstrap` installer creates for you. It uses the default volume driver and flags. The first time you install, we recommend you skip this step and try it later, on another install. Later, try an install where your try the option to use custom volume driver and create your own volumes.
|
||||
UCP uses named volumes for persistence of user data. By default, the
|
||||
`ucp` installer creates for you. It uses the default volume driver and flags. The first time you install, we recommend you skip this step and try it later, on another install. Later, try an install where your try the option to use custom volume driver and create your own volumes.
|
||||
|
||||
If you choose this option, create your volumes prior to installing Orca. The volumes Oraca requires are:
|
||||
If you choose this option, create your volumes prior to installing UCP. The volumes Oraca requires are:
|
||||
|
||||
| Volume name | Data |
|
||||
|-------------------------|--------------------------------------------------------------------------------------|
|
||||
| `orca-root-ca` | The certificate and key for the Orca root CA. Do not create this volume if you are using your own certificates. |
|
||||
| `orca-swarm-root-ca` | The certificate and key for the Swarm root CA. |
|
||||
| `orca-server-certs` | The server certificates for the Orca web server. |
|
||||
| `orca-swarm-node-certs` | The Swarm certificates for the current node (repeated on every node in the cluster). |
|
||||
| `orca-swarm-kv-certs` | The Swarm KV client certificates for the current node (repeated on every node in the cluster). |
|
||||
| `orca-swarm-controller-certs` | The Orca Controller Swarm client certificates for the current node. |
|
||||
| `orca-kv` | Key value store persistence. |
|
||||
| `ucp-root-ca` | The certificate and key for the UCP root CA. Do not create this volume if you are using your own certificates. |
|
||||
| `ucp-swarm-root-ca` | The certificate and key for the Swarm root CA. |
|
||||
| `ucp-server-certs` | The server certificates for the UCP web server. |
|
||||
| `ucp-swarm-node-certs` | The Swarm certificates for the current node (repeated on every node in the cluster). |
|
||||
| `ucp-swarm-kv-certs` | The Swarm KV client certificates for the current node (repeated on every node in the cluster). |
|
||||
| `ucp-swarm-controller-certs` | The UCP Controller Swarm client certificates for the current node. |
|
||||
| `ucp-kv` | Key value store persistence. |
|
||||
|
||||
|
||||
## Step 5: Install the Orca server
|
||||
## Step 5: Install the UCP server
|
||||
|
||||
In this step you install the Orca server. The server includes a running Swarm manager and node as well. To review the installation options before you install, use the following command:
|
||||
In this step you install the UCP server. The server includes a running Swarm manager and node as well. To review the installation options before you install, use the following command:
|
||||
|
||||
```bash
|
||||
docker run --rm -it dockerorca/orca-bootstrap install --help
|
||||
docker run --rm -it dockerorca/ucp install --help
|
||||
```
|
||||
|
||||
When you install, the script prompts you for the following information:
|
||||
|
||||
* a password to use for the Orca `admin` account
|
||||
* a password to use for the UCP `admin` account
|
||||
* your Docker Hub username/password/email
|
||||
* an alias which is the actual external, publically-accessible IP address or name for the Orca server
|
||||
* an alias which is the actual external, publically-accessible IP address or name for the UCP server
|
||||
|
||||
When you have the information you'll be prompted for, do the following to install:
|
||||
|
||||
1. Log into the system where you mean to install the Orca server.
|
||||
1. Log into the system where you mean to install the UCP server.
|
||||
|
||||
2. Use the CLI to log into Docker Hub .
|
||||
|
||||
Make sure you use the account which has permissions to the Orca images.
|
||||
Make sure you use the account which has permissions to the UCP images.
|
||||
|
||||
$ sudo docker login
|
||||
Username: moxiegirl
|
||||
|
@ -165,19 +165,19 @@ When you have the information you'll be prompted for, do the following to instal
|
|||
WARNING: login credentials saved in /home/ubuntu/.docker/config.json
|
||||
Login Succeeded
|
||||
|
||||
3. Run the `orca-bootstrap` installer.
|
||||
3. Run the `ucp` installer.
|
||||
|
||||
$ docker run --rm -it \
|
||||
-v /var/run/docker.sock:/var/run/docker.sock \
|
||||
--name orca-bootstrap \
|
||||
dockerorca/orca-bootstrap \
|
||||
--name ucp \
|
||||
dockerorca/ucp \
|
||||
install -i
|
||||
|
||||
The installer pulls several images and prompts you for the installation values it needs. When it completes, the installer prompts you to login into the Orca GUI.
|
||||
The installer pulls several images and prompts you for the installation values it needs. When it completes, the installer prompts you to login into the UCP GUI.
|
||||
|
||||
INFO[0053] Login to Orca at https://10.0.0.32:443
|
||||
INFO[0053] Login to UCP at https://10.0.0.32:443
|
||||
|
||||
4. Enter the address into your browser to view the Orca login screen.
|
||||
4. Enter the address into your browser to view the UCP login screen.
|
||||
|
||||
The login screen displays.
|
||||
|
||||
|
@ -186,26 +186,26 @@ When you have the information you'll be prompted for, do the following to instal
|
|||
5. Enter `admin` for the username along with the password you provided to the installer.
|
||||
|
||||
If you didn't enter an admin password, the default password is `orca`
|
||||
After you enter the correct credentials, the Orca dashboard displays.
|
||||
After you enter the correct credentials, the UCP dashboard displays.
|
||||
|
||||

|
||||
|
||||
|
||||
## Step 6: Set up certs for the Docker CLI
|
||||
|
||||
The first thing you probably want to do is download a client bundle. The bundle contains the certificates user needs to run the `docker` clients against the Orca server and nodes.
|
||||
The first thing you probably want to do is download a client bundle. The bundle contains the certificates user needs to run the `docker` clients against the UCP server and nodes.
|
||||
|
||||
1. If you haven't already done so, log into Orca.
|
||||
1. If you haven't already done so, log into UCP.
|
||||
|
||||
2. Choose **ADMIN > Client bundle** from the menu.
|
||||
|
||||
The browser downloads the `orca-bundle.zip` file.
|
||||
The browser downloads the `ucp-bundle.zip` file.
|
||||
|
||||
3. Open the folder containing the download file.
|
||||
|
||||
4. Unzip the file to reveal its contents.
|
||||
|
||||
orca-bundle
|
||||
ucp-bundle
|
||||
├── ca.pem
|
||||
├── cert.pem
|
||||
├── cert.pub
|
||||
|
@ -239,20 +239,20 @@ The first thing you probably want to do is download a client bundle. The bundle
|
|||
swarm_master=tcp://10.0.0.32:2376
|
||||
|
||||
|
||||
## Step 7: Add a Node to the Orca cluster
|
||||
## Step 7: Add a Node to the UCP cluster
|
||||
|
||||
In this step you install an Orca nodes using the `orca-bootstrap join` subcommand. Repeat the instal for each node you want to add. To review join options before installing the node use the following:
|
||||
In this step you install an UCP nodes using the `ucp join` subcommand. Repeat the instal for each node you want to add. To review join options before installing the node use the following:
|
||||
|
||||
```bash
|
||||
docker run --rm -it dockerorca/orca-bootstrap join --help
|
||||
docker run --rm -it dockerorca/ucp join --help
|
||||
```
|
||||
|
||||
The installer prompts you for the following information:
|
||||
|
||||
* the URL of the Orca server
|
||||
* the username/password of an Orca administrator account
|
||||
* the URL of the UCP server
|
||||
* the username/password of an UCP administrator account
|
||||
* your Docker Hub username/password/email
|
||||
* an alias which is the actual external, publically-accessible IP address or name for the Orca node
|
||||
* an alias which is the actual external, publically-accessible IP address or name for the UCP node
|
||||
|
||||
When you have the information you'll be prompted for, do the following to install:
|
||||
|
||||
|
@ -269,21 +269,21 @@ When you have the information you'll be prompted for, do the following to instal
|
|||
WARNING: login credentials saved in /home/ubuntu/.docker/config.json
|
||||
Login Succeeded
|
||||
|
||||
3. Run the `orca-bootstrap` installer.
|
||||
3. Run the `ucp` installer.
|
||||
|
||||
$ docker run --rm -it \
|
||||
-v /var/run/docker.sock:/var/run/docker.sock \
|
||||
--name orca-bootstrap \
|
||||
dockerorca/orca-bootstrap \
|
||||
--name ucp \
|
||||
dockerorca/ucp \
|
||||
join -i
|
||||
|
||||
The installer pulls several images and prompts you for the installation values it needs. When it completes, the installer notifies you that it is starting swarm.
|
||||
|
||||
INFO[0005] Verifying your system is compatible with Orca
|
||||
INFO[0011] Sending add host request to Orca server
|
||||
INFO[0005] Verifying your system is compatible with UCP
|
||||
INFO[0011] Sending add host request to UCP server
|
||||
INFO[0011] Starting local swarm containers
|
||||
|
||||
4. Login into Orca with your browser and go to the **NODES** page.
|
||||
4. Login into UCP with your browser and go to the **NODES** page.
|
||||
|
||||
The display should include your new node.
|
||||
|
||||
|
@ -292,22 +292,22 @@ When you have the information you'll be prompted for, do the following to instal
|
|||
|
||||
## Uninstall
|
||||
|
||||
The installer can also uninstall Orca from the server and the nodes. To see the uninstall options before you uninstall, use the following:
|
||||
The installer can also uninstall UCP from the server and the nodes. To see the uninstall options before you uninstall, use the following:
|
||||
|
||||
```bash
|
||||
docker run --rm -it dockerorca/orca-bootstrap uninstall --help
|
||||
docker run --rm -it dockerorca/ucp uninstall --help
|
||||
```
|
||||
|
||||
To uninstall, do the following:
|
||||
|
||||
1. Log into the node you want to remove Orca from.
|
||||
1. Log into the node you want to remove UCP from.
|
||||
|
||||
2. Enter the following command to uninstall:
|
||||
|
||||
$ docker run --rm -it \
|
||||
-v /var/run/docker.sock:/var/run/docker.sock \
|
||||
--name orca-bootstrap \
|
||||
dockerorca/orca-bootstrap \
|
||||
--name ucp \
|
||||
dockerorca/ucp \
|
||||
uninstall
|
||||
|
||||
3. Repeat the uninstall on each node making sure to save the server till last.
|
||||
|
@ -316,7 +316,7 @@ To uninstall, do the following:
|
|||
|
||||
To block the outflow of Mixplanel analytic data to Docker, do the following:
|
||||
|
||||
1. Log into the system running the Orca server.
|
||||
1. Log into the system running the UCP server.
|
||||
|
||||
2. Add a rule to drop the forward to port 80.
|
||||
|
||||
|
@ -326,20 +326,20 @@ Reboots unset this iptables chain, so it is a good idea to add this command to t
|
|||
|
||||
## Installing with your own certificates
|
||||
|
||||
Orca uses two separate root CAs for access control - one for Swarm, and one for
|
||||
the Orca server itself. The dual root certificates supply differentiation
|
||||
between the Docker remote API access to Orca vs. Swarm. Unlike Docker Engine or
|
||||
Docker Swarm, Orca implements ACL and audit logging on a per-user basis. Swarm
|
||||
and the Engine proxies trust only the Swarm Root CA, while the Orca server
|
||||
trusts both Root CAs. Admins can access Orca, Swarm and the engines while
|
||||
normal users are only granted access to Orca.
|
||||
UCP uses two separate root CAs for access control - one for Swarm, and one for
|
||||
the UCP server itself. The dual root certificates supply differentiation
|
||||
between the Docker remote API access to UCP vs. Swarm. Unlike Docker Engine or
|
||||
Docker Swarm, UCP implements ACL and audit logging on a per-user basis. Swarm
|
||||
and the Engine proxies trust only the Swarm Root CA, while the UCP server
|
||||
trusts both Root CAs. Admins can access UCP, Swarm and the engines while
|
||||
normal users are only granted access to UCP.
|
||||
|
||||
Orca v1.0 supports user provided externally signed certificates
|
||||
for the Orca server. This cert is used by Orca's main management web UI
|
||||
and the Docker remote API. The remote API is visible to the Docker CLI. In this release, the Swarm Root CA is always managed by Orca.
|
||||
UCP v1.0 supports user provided externally signed certificates
|
||||
for the UCP server. This cert is used by UCP's main management web UI
|
||||
and the Docker remote API. The remote API is visible to the Docker CLI. In this release, the Swarm Root CA is always managed by UCP.
|
||||
|
||||
The external Orca Root CA model supports customers managing their own CA, or
|
||||
purchasing certs from a commercial CA. When operating in this mode, Orca can
|
||||
The external UCP Root CA model supports customers managing their own CA, or
|
||||
purchasing certs from a commercial CA. When operating in this mode, UCP can
|
||||
not generate regular user certificates, as those must be managed and signed
|
||||
externally, however admin account certs can be generated as they are signed by
|
||||
the internal Swarm Root CA. Normal user accounts should be signed by the same
|
||||
|
@ -350,13 +350,13 @@ The first time you install, we recommend you skip user-supplied certs and use th
|
|||
|
||||
### Configure user-supplied Certificates
|
||||
|
||||
To install Orca with your own external root CA, you create a named volume called
|
||||
**orca-server-certs** on the same system where you plan to install the Orca
|
||||
To install UCP with your own external root CA, you create a named volume called
|
||||
**ucp-server-certs** on the same system where you plan to install the UCP
|
||||
server.
|
||||
|
||||
1. Log into the machine where you intend to install Orca.
|
||||
1. Log into the machine where you intend to install UCP.
|
||||
|
||||
2. If you haven't already done so, create a named volume called **orca-server-certs**.
|
||||
2. If you haven't already done so, create a named volume called **ucp-server-certs**.
|
||||
|
||||
3. Ensure the volume's top-level directory contains these files:
|
||||
|
||||
|
@ -371,20 +371,20 @@ server.
|
|||
</tr>
|
||||
<tr>
|
||||
<td><code>cert.pem</code></td>
|
||||
<td>Your signed Orca server cert.</td>
|
||||
<td>Your signed UCP server cert.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>key.pem</code></td>
|
||||
<td>Your Orca server private key.</td>
|
||||
<td>Your UCP server private key.</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
4. Follow "Step 5" above to install Orca but pass in an additional `--external-orca-ca` option to the installer, for example:
|
||||
4. Follow "Step 5" above to install UCP but pass in an additional `--external-ucp-ca` option to the installer, for example:
|
||||
|
||||
docker run --rm -it \
|
||||
-v /var/run/docker.sock:/var/run/docker.sock \
|
||||
...snip...
|
||||
install -i --external-orca-ca
|
||||
install -i --external-ucp-ca
|
||||
|
||||
|
||||
## Where to go next
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
# Key/Value Store
|
||||
|
||||
In this release, Orca leverages the
|
||||
In this release, UCP leverages the
|
||||
[etcd](https://github.com/coreos/etcd/) KV store.
|
||||
|
||||
Under normal circumstances, you should not have to access the KV store
|
||||
|
@ -9,7 +9,7 @@ you may be required by Docker support or your SE to change configuration
|
|||
values or data in the store.
|
||||
|
||||
The following example demonstrates basic `curl` usage assuming you
|
||||
have set up your environment with the downloaded orca bundle.
|
||||
have set up your environment with the downloaded ucp bundle.
|
||||
|
||||
The example below uses the [jq](https://stedolan.github.io/jq/) tool to
|
||||
pretty print the resulting json. This can be omitted for raw json output.
|
||||
|
@ -26,7 +26,7 @@ curl -s \
|
|||
```
|
||||
|
||||
|
||||
You can browse the Orca keys under `/v2/keys/orca/` and swarm under
|
||||
You can browse the UCP keys under `/v2/keys/ucp/` and swarm under
|
||||
`/v2/keys/swarm` as well as modify by `POST`ing updated values to
|
||||
workaround problems. Further documentation for the etcd API is available
|
||||
at https://github.com/coreos/etcd/blob/master/Documentation/api.md
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
# Cross-Host Networking
|
||||
|
||||
For the Orca beta, enabling cross-host networking requires a manual step.
|
||||
This document explains how to enable this feature after Orca has been
|
||||
For the UCP beta, enabling cross-host networking requires a manual step.
|
||||
This document explains how to enable this feature after UCP has been
|
||||
installed.
|
||||
|
||||
|
||||
|
@ -13,33 +13,33 @@ officially supported as of Docker 1.9 (it is no longer an
|
|||
feature). However, in 1.9, enabling this feature requires modifying
|
||||
command line arguments for the Docker daemon.
|
||||
|
||||
The Key/Value store used by Orca, Swarm, and libnetwork is protected
|
||||
by the Swarm TLS certificate chain managed by Orca. This will prevent
|
||||
The Key/Value store used by UCP, Swarm, and libnetwork is protected
|
||||
by the Swarm TLS certificate chain managed by UCP. This will prevent
|
||||
unathorized access to the clusters configuration, and requires all
|
||||
clients use a certificate signed by the Orca Swarm Root CA. Admin users
|
||||
clients use a certificate signed by the UCP Swarm Root CA. Admin users
|
||||
certificate bundles, and the internal systems are signed by this CA.
|
||||
|
||||
During the install of Orca, TLS certificate files are placed on the
|
||||
During the install of UCP, TLS certificate files are placed on the
|
||||
host filesystem of each engine in `/var/lib/docker/discovery_certs/`
|
||||
to aid in the manual setup steps outlined below.
|
||||
|
||||
|
||||
## Instructions
|
||||
|
||||
### 0) Install Orca
|
||||
### 0) Install UCP
|
||||
|
||||
Install your controller, and join additional nodes as desired.
|
||||
You can add additional nodes after enbabling cross-host networking,
|
||||
however the manual steps described below must be performed **after**
|
||||
the orca-bootstrap container has run `install` or `join` on the node.
|
||||
the bootstrap container has run `install` or `join` on the node.
|
||||
The steps below must be performed on **every** node in your cluster.
|
||||
|
||||
### 1) Determine Orca IP
|
||||
### 1) Determine UCP IP
|
||||
|
||||
Before configuring each engine, determine the public facing IP address
|
||||
(or hostname) of the primary orca system. One example approach to
|
||||
(or hostname) of the primary ucp system. One example approach to
|
||||
determine this address is by running the following on the host system
|
||||
where the Orca controller is running:
|
||||
where the UCP controller is running:
|
||||
|
||||
```bash
|
||||
ORCA_PUBLIC_IP=$(ip -o -4 route get 8.8.8.8 | cut -f8 -d' ')
|
||||
|
@ -62,7 +62,7 @@ for configuring the Docker daemon. The following lists a few examples:
|
|||
|
||||
### 3) Add cluster flags to Docker Daemon
|
||||
|
||||
For each docker engine in your Orca/Swarm cluster **including the system running orca-controller**, you will have to update the docker daemon command line flags.
|
||||
For each docker engine in your UCP/Swarm cluster **including the system running ucp-controller**, you will have to update the docker daemon command line flags.
|
||||
|
||||
First determine the local engine's public IP:
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
# Profiling Orca
|
||||
# Profiling UCP
|
||||
|
||||
If you run the Orca server with the debug flag set, not only will you get more logging output, but we enable
|
||||
If you run the UCP server with the debug flag set, not only will you get more logging output, but we enable
|
||||
remote pprof access.
|
||||
|
||||
Links:
|
||||
|
@ -14,9 +14,9 @@ Links:
|
|||
* If you're using TLS (e.g., with bootstrap install) you'll need to add the certs to the local system's trusted certs (unfortunately pprof doesn't have an "--insecure" flag)
|
||||
```bash
|
||||
sudo bash -c "docker run --rm -it \
|
||||
--name orca-bootstrap \
|
||||
--name ucp \
|
||||
-v /var/run/docker.sock:/var/run/docker.sock \
|
||||
dockerorca/orca-bootstrap \
|
||||
dockerorca/ucp \
|
||||
dump-certs > /usr/local/share/ca-certificates/orca.crt"
|
||||
sudo update-ca-certificates
|
||||
```
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# Orca Quick Start Guide
|
||||
# UCP Quick Start Guide
|
||||
|
||||
For all the gory details about how our installer works, check out
|
||||
[install spec](install_upgrade_spec.md) but you came here to get up and
|
||||
|
@ -10,9 +10,9 @@ running quickly, so lets dive right in!
|
|||
* [https://hub.docker.com/r/dockerorca/orca-bootstrap/](https://hub.docker.com/r/dockerorca/orca-bootstrap/)
|
||||
* You'll need at leasts one docker engine (local or remote should work)
|
||||
* If you want to build a multi-node deployment, **all** the nodes must be able to see eachother, so make sure if you're using remote engines, they're all on the same remote network.
|
||||
* Orca installs its own Swarm, so don't set up Swarm first, just install Orca directly on your engine(s)
|
||||
* UCP installs its own Swarm, so don't set up Swarm first, just install UCP directly on your engine(s)
|
||||
* Ports - If you have firewalls configured, please make sure each node can access the following ports on the other nodes in the cluster.
|
||||
* Orca Server: 443
|
||||
* UCP Server: 443
|
||||
* Swarm Manager: 2376 (user configurable) - Protected via mutual TLS
|
||||
* Engine Proxy: 12376 - Protected via mutual TLS
|
||||
* KV Store: 12379, 12380 - Protected by mutual TLS
|
||||
|
@ -24,12 +24,12 @@ running quickly, so lets dive right in!
|
|||
```bash
|
||||
docker run --rm -it \
|
||||
-v /var/run/docker.sock:/var/run/docker.sock \
|
||||
--name orca-bootstrap \
|
||||
dockerorca/orca-bootstrap \
|
||||
--name ucp \
|
||||
dockerorca/ucp \
|
||||
install --swarm-port 3376 -i
|
||||
```
|
||||
|
||||
The above command will prompt you for some basic information to get Orca
|
||||
The above command will prompt you for some basic information to get UCP
|
||||
stood up. You can use "install --help" as the last line above to get
|
||||
information about various options to the installer.
|
||||
|
||||
|
@ -38,80 +38,80 @@ Important notes for first time users:
|
|||
* The last line of the installer output tells you where to go log in.
|
||||
* If you didn't enter an admin password, the default login is "admin/orca"
|
||||
* The first thing you probably want to do is download a cert bundle (upper right corner of UI, but subject to change)
|
||||
* With this, you can run docker CLI commands against Orca (and/or the swarm/engines if you're account is an admin account)
|
||||
* With this, you can run docker CLI commands against UCP (and/or the swarm/engines if you're account is an admin account)
|
||||
* Take a look at the env.sh within the zip file for instructions (should be familiar if you've used machine)
|
||||
|
||||
|
||||
## Data Persistence
|
||||
|
||||
Orca uses named volumes for persistence of user data. By default,
|
||||
UCP uses named volumes for persistence of user data. By default,
|
||||
the bootstrapper will create these using the default volume driver and
|
||||
flags if they are not detected. If you use a custom volume driver, you
|
||||
can pre-create volumes prior to installing Orca.
|
||||
can pre-create volumes prior to installing UCP.
|
||||
|
||||
* **orca-root-ca** - The certificate and key for the Orca Root CA
|
||||
* **orca-root-ca** - The certificate and key for the UCP Root CA
|
||||
* **orca-swarm-root-ca** - The certificate and key for the Swarm Root CA
|
||||
* **orca-server-certs** - The server certificates for the Orca web server
|
||||
* **orca-server-certs** - The server certificates for the UCP web server
|
||||
* **orca-swarm-node-certs** - The swarm certificates for the current node (repeated on every node in the cluster)
|
||||
* **orca-swarm-kv-certs** The Swarm KV client certificates for the current node (repeated on every node in the cluster)
|
||||
* **orca-swarm-controller-certs** The Orca Controller Swarm client certificates for the current node
|
||||
* **orca-swarm-controller-certs** The UCP Controller Swarm client certificates for the current node
|
||||
* **orca-kv** - KV store persistence
|
||||
|
||||
|
||||
## User Supplied Certificates
|
||||
|
||||
Orca uses two separate root CAs for access control - one for Swarm,
|
||||
and one for the Orca server itself. The motivation for the dual root
|
||||
certificates is to differentiate Docker remote API access to Orca
|
||||
vs. Swarm. Orca implements ACL and audit logging on a per-users basis
|
||||
UCP uses two separate root CAs for access control - one for Swarm,
|
||||
and one for the UCP server itself. The motivation for the dual root
|
||||
certificates is to differentiate Docker remote API access to UCP
|
||||
vs. Swarm. UCP implements ACL and audit logging on a per-users basis
|
||||
which are not offered in Swarm or the engines. Swarm and the engine
|
||||
proxies trust only the Swarm Root CA, while the Orca server trusts both
|
||||
Root CAs. Admins can access Orca, Swarm and the engines while normal
|
||||
users are only granted access to Orca.
|
||||
proxies trust only the Swarm Root CA, while the UCP server trusts both
|
||||
Root CAs. Admins can access UCP, Swarm and the engines while normal
|
||||
users are only granted access to UCP.
|
||||
|
||||
In Orca v1.0 we support user provided externally signed certificates
|
||||
for the Orca server. This cert is used by the main management web UI
|
||||
In UCP v1.0 we support user provided externally signed certificates
|
||||
for the UCP server. This cert is used by the main management web UI
|
||||
(visible to your browser when you connect) as well as the Docker remote
|
||||
API (visible to the Docker CLI and friends.) The Swarm Root CA is
|
||||
always manged by Orca itself in this release. This external Orca Root
|
||||
always manged by UCP itself in this release. This external UCP Root
|
||||
CA model supports customers managing their own CA, or purchasing certs
|
||||
from a commercial CA. When operating in this mode, Orca can not generate
|
||||
from a commercial CA. When operating in this mode, UCP can not generate
|
||||
regular user certificates, as those must be managed and signed externally,
|
||||
however admin account certs can be generated as they are signed by the
|
||||
internal Swarm Root CA. Normal user accounts should be signed by the
|
||||
same external Root CA (or a trusted intermediary), and the public keys
|
||||
manually added through the UI.
|
||||
|
||||
To install Orca with an external Root CA, create a named volume called **orca-server-certs**
|
||||
on the engine host where you will install Orca **before** running the install, and ensure the following
|
||||
To install UCP with an external Root CA, create a named volume called **orca-server-certs**
|
||||
on the engine host where you will install UCP **before** running the install, and ensure the following
|
||||
files are present in the top-level directory of this volume:
|
||||
|
||||
* **ca.pem** - Your Root CA Certificate chain (including any intermediaries)
|
||||
* **cert.pem** - Your signed Orca server cert
|
||||
* **key.pem** - Your Orca server private key
|
||||
* **cert.pem** - Your signed UCP server cert
|
||||
* **key.pem** - Your UCP server private key
|
||||
|
||||
After setting up these files on the host, you can install with the "--external-orca-ca" flag.
|
||||
|
||||
If you are creating your own storage volumes (for example, to take
|
||||
advantage of a 3rd party storage driver) you can omit the **orca-root-ca**
|
||||
volume as it will not be used when using an external Orca Root CA.
|
||||
volume as it will not be used when using an external UCP Root CA.
|
||||
|
||||
```bash
|
||||
docker run --rm -it \
|
||||
-v /var/run/docker.sock:/var/run/docker.sock \
|
||||
--name orca-bootstrap \
|
||||
dockerorca/orca-bootstrap \
|
||||
--name ucp \
|
||||
dockerorca/ucp \
|
||||
install --swarm-port 3376 -i --external-orca-ca
|
||||
```
|
||||
|
||||
|
||||
# Adding Nodes to the Cluster
|
||||
To add capacity to your cluster, run the following on the engine you want to add (**not** the engine where you installed Orca above)
|
||||
To add capacity to your cluster, run the following on the engine you want to add (**not** the engine where you installed UCP above)
|
||||
```bash
|
||||
docker run --rm -it \
|
||||
-v /var/run/docker.sock:/var/run/docker.sock \
|
||||
--name orca-bootstrap \
|
||||
dockerorca/orca-bootstrap \
|
||||
--name ucp \
|
||||
dockerorca/ucp \
|
||||
join -i
|
||||
```
|
||||
|
||||
|
@ -124,15 +124,15 @@ See [networking.md](networking.md) for more details on the steps required
|
|||
to enable cross-host networking
|
||||
|
||||
# Uninstalling
|
||||
The installer can also uninstall the Orca software on either the primary
|
||||
Orca node, as well as the secondary Orca nodes. Run the following directly
|
||||
against the engine you want to uninstall (**not** against Orca itself)
|
||||
The installer can also uninstall the UCP software on either the primary
|
||||
UCP node, as well as the secondary UCP nodes. Run the following directly
|
||||
against the engine you want to uninstall (**not** against UCP itself)
|
||||
|
||||
```bash
|
||||
docker run --rm -it \
|
||||
-v /var/run/docker.sock:/var/run/docker.sock \
|
||||
--name orca-bootstrap \
|
||||
dockerorca/orca-bootstrap \
|
||||
--name ucp \
|
||||
dockerorca/ucp \
|
||||
uninstall
|
||||
```
|
||||
|
||||
|
|
20
support.md
20
support.md
|
@ -1,11 +1,11 @@
|
|||
# Orca Support Dumps
|
||||
# UCP Support Dumps
|
||||
|
||||
Orca supports generating support dumps across the entire swarm cluster, leveraging the
|
||||
UCP supports generating support dumps across the entire swarm cluster, leveraging the
|
||||
dsinfo container developed by Docker Support.
|
||||
|
||||
In this version of Orca, support dumps are only exposed via API, but this can be fairly
|
||||
In this version of UCP, support dumps are only exposed via API, but this can be fairly
|
||||
easily accessed with curl. The following example shows how to download a support bundle from your
|
||||
Orca server.
|
||||
UCP server.
|
||||
|
||||
This example leverages curl, which most customers should have, as well
|
||||
as a handy utility called [jq](https://stedolan.github.io/jq/). If the
|
||||
|
@ -14,7 +14,7 @@ cut-and-paste the token output from the login command below.
|
|||
|
||||
|
||||
```bash
|
||||
# Replace with your Orca server IP or hostname
|
||||
# Replace with your UCP server IP or hostname
|
||||
ORCA=https://192.68.1.2
|
||||
echo -n "Please enter your admin password"
|
||||
read -s PASSWORD
|
||||
|
@ -26,20 +26,20 @@ curl --insecure -s -H "X-Access-Token:admin:${TOKEN}" -X POST "${ORCA}/api/suppo
|
|||
Hints:
|
||||
* The orca server doesn't like extra slashes at the beginning, so if you set your ORCA variable with a trailing slash, then you'll get a 301 (redirect)
|
||||
* The token often has special characters in it, so if the user cuts and pastes, they may run into problems with the shell interpreting things like $
|
||||
* If you want to avoid the --insecure, you'll have to install the Orca server's cert locally. See below...
|
||||
* If you want to avoid the --insecure, you'll have to install the UCP server's cert locally. See below...
|
||||
|
||||
|
||||
## Trusting the Orca server
|
||||
## Trusting the UCP server
|
||||
|
||||
If you want to trust the orca servers certificates on the local system, you can use the following technique. Note that the paths are somewhat system specific and may vary from linux distro to distro.
|
||||
|
||||
Run the following when pointed at the machine the Orca server is running on (either locally, or via DOCKER\_HOST
|
||||
Run the following when pointed at the machine the UCP server is running on (either locally, or via DOCKER\_HOST
|
||||
|
||||
```bash
|
||||
sudo bash -c "docker run --rm -it \
|
||||
--name orca-bootstrap \
|
||||
--name ucp \
|
||||
-v /var/run/docker.sock:/var/run/docker.sock \
|
||||
dockerorca/orca-bootstrap \
|
||||
dockerorca/ucp \
|
||||
dump-certs > /usr/local/share/ca-certificates/orca.crt"
|
||||
sudo update-ca-certificates
|
||||
```
|
||||
|
|
Loading…
Reference in New Issue