Upgrade Management Environment on Cloud Instance¶
This guide will walk you through upgrading your management environment, assuming it lives in an AWS EC2 instance.
Overview
What You’ll Need¶
- A configured management environment for Arrikto EKF 1.5.3 or later.
Procedure¶
Connect to your instance:
- Open the Amazon EC2 console.
- Locate your instance and click on it.
- Click on Connect.
- Switch to the SSH client tab and follow the instructions.
List your containers (running and stopped) and filter them by name:
user@bastion:~$ docker ps -a --filter name=rok-tools --format="table {{.ID}}\t{{.Image}}" CONTAINER ID IMAGE c83c922d9dac gcr.io/arrikto/rok-tools:release-1.5-l0-release-1.5.3Identify 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 oldrok-tools
management environment, for example:user@bastion:~$ export OLD_ROK_TOOLS_ID=c83c922d9dacDelete the old container:
user@bastion:~$ docker stop ${OLD_ROK_TOOLS_ID?}user@bastion:~$ docker rm ${OLD_ROK_TOOLS_ID?}Specify the
rok-tools
image to use:user@bastion:~$ export IMAGE=gcr.io/arrikto/rok-tools:release-2.0-l0-release-2.0.2Air Gapped
Use the mirrored
rok-tools
image from your internal registry. For example:user@bastion:~$ export IMAGE=${INTERNAL_REGISTRY?}/gcr.io/arrikto/rok-tools:release-2.0-l0-release-2.0.2Optional
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.
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"Optional
Use host networking:
user@bastion:~$ export EXTRA_OPTIONS="--network=host"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¶
Ensure that your management environment has the latest version of
rok-deploy
:root@rok-tools:~# rok-deploy --version Rok rok-deploy Build ID Rok 2.0.2 "Aurora" (release - release-2.0) (iliastsi@rok-dev) (GCC 6.3.0) 2023-03-31T13:49:56Z
What’s Next¶
The next step is to switch your release channel to the release-2.0
release
channel for EKF.