Upgrade Management Environment on Cloud Instance

This guide will walk you through upgrading your management environment, assuming it lives in an AWS EC2 instance.

What You’ll Need

  • A configured management environment for Arrikto EKF 1.4.

Procedure

  1. Connect to your instance:

    1. Open the Amazon EC2 console.
    2. Locate your instance and click on it.
    3. Click on Connect.
    4. Switch to the SSH client tab and follow the instructions.
  2. List your containers (running and stopped):

    user@bastion:~$ docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 2a5e11d45ca2 aa01cba230d7 "/bin/bash -c 'exec …" 23 hours ago Up 23 hours c83c922d9dac gcr.io/arrikto/rok-tools:release-1.4-l0-release-1.4 "/bin/bash" 2 days ago Up 2 hours rok-tools
  3. Identify your old rok-tools container in the above list and export its ID to a variable:

    user@bastion:~$ export OLD_ROK_TOOLS_ID=<ID>

    Replace <ID> with the ID of your old rok-tools management environment, for example:

    user@bastion:~$ export OLD_ROK_TOOLS_ID=c83c922d9dac
  4. Delete the old container:

    user@bastion:~$ docker stop ${OLD_ROK_TOOLS_ID?}
    user@bastion:~$ docker rm ${OLD_ROK_TOOLS_ID?}
  5. Specify the rok-tools image to use:

    user@bastion:~$ export IMAGE=gcr.io/arrikto/rok-tools:release-1.5-l0-release-1.5.1
  6. Optional

    Specify the trusted CA bundle you want to use. Assuming your host is properly configured, bind mount the systemwide trusted CA bundle inside rok-tools based on your OS.

    user@bastion:~$ export EXTRA_VOLUME="-v /etc/ssl/certs/ca-bundle.crt:/etc/ssl/certs/ca-certicates.crt:ro"

    This section is a work in progress.

  7. Optional

    Configure AWS SDK inside rok-tools to use your trusted CA bundle:

    user@bastion:~$ export EXTRA_ENV="-e AWS_CA_BUNDLE=/etc/ssl/certs/ca-certificates.crt"
  8. Optional

    Use host networking:

    user@bastion:~$ export EXTRA_OPTIONS="--network=host"
  9. Create a new rok-tools with the new Arrikto image, attach your old data, and start it:

    user@bastion:~$ docker run \ > -ti \ > --name rok-tools \ > --hostname rok-tools \ > -p 8080:8080 \ > --entrypoint /bin/bash \ > -v $(pwd)/rok-tools-data:/root \ > -v /var/run/docker.sock:/var/run/docker.sock \ > -w /root \ > ${EXTRA_VOLUME} \ > ${EXTRA_ENV} \ > ${EXTRA_OPTIONS} \ > ${IMAGE?}

Verify

  1. Ensure that your management environment has the latest version of rok-deploy:

    root@rok-tools:~# rok-deploy --version Rok rok-deploy Build ID Rok 1.5.1 "Ultramarine" (release - release-1.5) (iliastsi@rok-dev) (GCC 6.3.0) 2022-06-02T11:31:29Z

Summary

You have successfully upgraded your management environment.

What’s Next

The next step is to switch your release channel to the release-1.5 release channel for EKF.