Update Interlock services

This topic describes how to update Interlock services by first updating the Interlock configuration to specify the new extension or proxy image versions and then updating the Interlock services to use the new configuration and image.

To update Interlock services:

  1. Create the new Interlock configuration:

    docker config create service.interlock.conf.v2 <path-to-new-config>
    
  2. 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
    
  3. Update the Interlock service to use the new image, for example, to pull the latest version of MKE:

    docker pull v/ucp:latest
    

    Example output:

    latest: Pulling from mirantis/ucp
    cd784148e348: Already exists
    3871e7d70c20: Already exists
    cad04e4a4815: Pull complete
    Digest: sha256:63ca6d3a6c7e94aca60e604b98fccd1295bffd1f69f3d6210031b72fc2467444
    Status: Downloaded newer image for mirantis/ucp:latest
    docker.io/mirantis/ucp:latest
    
  4. List all of the latest MKE images:

    docker run --rm -v /var/run/docker.sock:/var/run/docker.sock \
    mirantis/ucp images --list
    

    Example output

    mirantis/ucp-agent:3.6.20
    mirantis/ucp-auth-store:3.6.20
    mirantis/ucp-auth:3.6.20
    mirantis/ucp-azure-ip-allocator:3.6.20
    mirantis/ucp-calico-cni:3.6.20
    mirantis/ucp-calico-kube-controllers:3.6.20
    mirantis/ucp-calico-node:3.6.20
    mirantis/ucp-cfssl:3.6.20
    mirantis/ucp-compose:3.6.20
    mirantis/ucp-controller:3.6.20
    mirantis/ucp-dsinfo:3.6.20
    mirantis/ucp-etcd:3.6.20
    mirantis/ucp-hyperkube:3.6.20
    mirantis/ucp-interlock-extension:3.6.20
    mirantis/ucp-interlock-proxy:3.6.20
    mirantis/ucp-interlock:3.6.20
    mirantis/ucp-kube-compose-api:3.6.20
    mirantis/ucp-kube-compose:3.6.20
    mirantis/ucp-kube-dns-dnsmasq-nanny:3.6.20
    mirantis/ucp-kube-dns-sidecar:3.6.20
    mirantis/ucp-kube-dns:3.6.20
    mirantis/ucp-metrics:3.6.20
    mirantis/ucp-pause:3.6.20
    mirantis/ucp-swarm:3.6.20
    mirantis/ucp:3.6.20
    
  5. Start Interlock to verify the configuration object, which has the new extension version, and deploy a rolling update on all extensions:

    docker service update \
    --image mirantis/ucp-interlock:3.6.20 \
    ucp-interlock