Add end-to-end backup and upgrade of Docker EE (#4891)

* Add end-to-end backup of Docker EE

* Add end-to-end upgrade of Docker EE
This commit is contained in:
Joao Fernandes 2017-10-12 13:58:38 -07:00 committed by GitHub
parent 552e7df058
commit 6de9bb08e8
6 changed files with 149 additions and 0 deletions

View File

@ -1392,6 +1392,10 @@ manuals:
title: "17.06"
- path: /datacenter/install/linux/
title: Deploy Docker EE standard on Linux
- path: /enterprise/backup/
title: Backup Docker EE
- path: /enterprise/upgrade/
title: Upgrade Docker EE
- sectiontitle: Universal Control Plane
section:
- path: /datacenter/ucp/2.2/guides/

35
enterprise/backup.md Normal file
View File

@ -0,0 +1,35 @@
---
title: Backup Docker EE
description: Learn how to create a backup of your Docker Enterprise Edition, and
how to restore from a backup
keywords: enterprise, backup, restore
---
To backup Docker Enterprise Edition you need to create individual backups
for each of the following components:
1. Docker Engine. [Learn more](/engine/swarm/admin_guide/#back-up-the-swarm).
2. Universal Control Plane (UCP). [Learn more](/datacenter/ucp/2.2/guides/admin/backups-and-disaster-recovery/#backup-command).
3. Docker Trusted Registry (DTR). [Learn more](/datacenter/dtr/2.3/guides/admin/backups-and-disaster-recovery/#backup-dtr-data).
Before proceeding to backup the next component, you should test the backup you've
created to make sure it's not corrupt. One way to test your backups is to do
a fresh installation in a separate infrastructure and restore the new installation
using the backup you've created.
## Restore Docker Enterprise Edition
You should only restore from a backup as a last resort. If you're running Docker
Enterprise Edition in high-availability you can remove unhealthy nodes from the
swarm and join new ones to bring the swarm to an healthy state.
To restore Docker Enterprise Edition, you need to restore the individual
components one by one:
1. Docker Engine. [Learn more](/engine/swarm/admin_guide.md#recover-from-disaster).
2. Universal Control Plane (UCP). [Learn more](/datacenter/ucp/2.2/guides/admin/backups-and-disaster-recovery.md#restore-your-swarm).
3. Docker Trusted Registry (DTR). [Learn more](/datacenter/dtr/2.3/guides/admin/backups-and-disaster-recovery.md#restore-dtr-data).
## Where to go next
* [Upgrade Docker EE](upgrade.md)

Binary file not shown.

After

Width:  |  Height:  |  Size: 383 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 216 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 316 KiB

110
enterprise/upgrade.md Normal file
View File

@ -0,0 +1,110 @@
---
title: Upgrade Docker EE
description: Learn how to upgrade your Docker Enterprise Edition, to start using
the latest features and security patches.
keywords: enterprise, upgrade
---
To upgrade Docker Enterprise Edition you need to individually upgrade each of the
following components:
1. Docker Engine.
2. Universal Control Plane (UCP).
3. Docker Trusted Registry (DTR).
While upgrading, some of these components will become temporarily unavailable.
So you should schedule your upgrades to take place outside business peak hours
to make sure there's no impact to your business.
## Create a backup
Before upgrading Docker EE, you should make sure you [create a backup](backup.md).
This will make it possible to recover if anything goes wrong during the upgrade.
## Check the compatibility matrix
You should also check the [compatibility matrix](https://success.docker.com/Policies/Compatibility_Matrix),
to make sure all Docker EE components are certified to work with one another.
You may also want to check the
[Docker EE maintenance lifecycle](https://success.docker.com/Policies/Maintenance_Lifecycle),
to understand until when your version will be supported.
## Upgrade Docker Engine
To avoid application downtime, you should be running Docker in Swarm mode and
deploying your workloads as Docker services. That way you'll be able to
drain the nodes of any workloads before starting the upgrade.
If you have workloads running as containers as opposed to swarm services,
make sure they are configured with a [restart policy](/engine/admin/start-containers-automatically/).
This will make sure your containers are started automatically after the upgrade.
To ensure that workloads running as Swarm services have no downtime, you need to:
1. Drain the node you want to upgrade so that services get scheduled in another node.
2. Upgrade the Docker Engine on that node.
3. Make the node available again.
If you do this sequentially for every node, you'll be able to upgrade with no
application downtime.
When upgrading manager nodes, make sure the upgrade of a node finishes before
you start upgrading the next node. Upgrading multiple manager nodes at the same
time can lead to a loss of quorum, and possible data loss.
### Drain the node
Start by draining the node so that services get scheduled in another node and
continue running without downtime.
For that, run this command on a manager node:
```
docker node update --availability drain <node>
```
### Perform the upgrade
Upgrade the Docker Engine on the node by following the instructions for your
specific distribution:
* [Windows Server](/engine/installation/windows/docker-ee.md#update-docker-ee)
* [Ubuntu](/engine/installation/linux/docker-ee/ubuntu.md#upgrade-docker-ee)
* [RHEL](/engine/installation/linux/docker-ee/rhel.md#upgrade-docker-ee)
* [CentOS](/engine/installation/linux/docker-ee/centos.md#upgrade-docker-ee)
* [Oracle Linux](/engine/installation/linux/docker-ee/oracle.md#upgrade-docker-ee)
* [SLES](/engine/installation/linux/docker-ee/suse.md#upgrade-docker-ee)
### Make the node active
Once you finish upgrading the node, make it available to run workloads. For
this, run:
```
docker node update --availability active <node>
```
## Upgrade UCP
Once you've upgraded the Docker Engine running on all the nodes, upgrade UCP.
You can do this from the UCP web UI.
![](images/upgrade-1.png){: .with-border}
Click on the banner, and choose the version you want to upgrade to.
![](images/upgrade-2.png){: .with-border}
Once you click **Upgrade UCP**, the upgrade starts. If you want you can upgrade
UCP from the CLI instead. [Learn more](/datacenter/ucp/2.2/guides/admin/install/upgrade.md).
## Upgrade DTR
Log in into the DTR web UI to check if there's a new version available.
![](images/upgrade-3.png){: .with-border}
Then follow these [instructions to upgrade DTR](/datacenter/dtr/2.3/guides/admin/upgrade.md).
When this is finished, your Docker EE has been upgraded.
## Where to go next
* [Backup Docker EE](backup.md)