Update Interlock services

Estimated reading time: 1 minute

There are two parts to the update process:

  1. Update the Interlock configuration to specify the new extension and/or proxy image versions.
  2. Update the Interlock service to use the new configuration and image.

Update the Interlock configuration

Create the new configuration:

$> docker config create service.interlock.conf.v2 <path-to-new-config>

Update the Interlock service

Remove the old configuration and specify the new configuration:

$> docker service update --config-rm service.interlock.conf ucp-interlock
$> docker service update --config-add source=service.interlock.conf.v2,target=/config.toml ucp-interlock

Next, update the Interlock service to use the new image. To pull the latest version of UCP, run the following:

$> docker pull docker/ucp:latest

Example output

latest: Pulling from docker/ucp
cd784148e348: Already exists 
3871e7d70c20: Already exists 
cad04e4a4815: Pull complete 
Digest: sha256:63ca6d3a6c7e94aca60e604b98fccd1295bffd1f69f3d6210031b72fc2467444
Status: Downloaded newer image for docker/ucp:latest
docker.io/docker/ucp:latest

Next, list all the latest UCP images. To learn more about docker/ucp images and available options, see the reference page.

$> docker run --rm docker/ucp images --list

Example output

docker/ucp-agent:3.2.0
docker/ucp-auth-store:3.2.0
docker/ucp-auth:3.2.0
docker/ucp-azure-ip-allocator:3.2.0
docker/ucp-calico-cni:3.2.0
docker/ucp-calico-kube-controllers:3.2.0
docker/ucp-calico-node:3.2.0
docker/ucp-cfssl:3.2.0
docker/ucp-compose:3.2.0
docker/ucp-controller:3.2.0
docker/ucp-dsinfo:3.2.0
docker/ucp-etcd:3.2.0
docker/ucp-hyperkube:3.2.0
docker/ucp-interlock-extension:3.2.0
docker/ucp-interlock-proxy:3.2.0
docker/ucp-interlock:3.2.0
docker/ucp-kube-compose-api:3.2.0
docker/ucp-kube-compose:3.2.0
docker/ucp-kube-dns-dnsmasq-nanny:3.2.0
docker/ucp-kube-dns-sidecar:3.2.0
docker/ucp-kube-dns:3.2.0
docker/ucp-metrics:3.2.0
docker/ucp-pause:3.2.0
docker/ucp-swarm:3.2.0
docker/ucp:3.2.0

Interlock starts and checks the config object, which has the new extension version, and performs a rolling deploy to update all extensions.

$> docker service update \
    --image docker/ucp-interlock:3.2.0 \
    ucp-interlock
routing, proxy, interlock