Tech Tip

Running UrbanCode Deploy as a Container with Kubernetes

Print

Overview

Starting with version 6.2.7.1.ifix2, UrbanCode Deploy may be run as a container using Kubernetes. A container image and helm chart are provided to assist with installation. Check the helm chart’s README for the latest information regarding installation.

Managing Containers with UrbanCode Deploy

This document describes running UrbanCode Deploy as a container. For information on using UrbanCode Deploy to manage container deployments, click here.

Platforms

UrbanCode Deploy may be run on Kubernetes and Kubernetes based platforms. For details on specific platforms, click the links below.

Working with the Image and Helm Chart

If you have purchased UrbanCode Deploy through IBM, unfortunately the only way to acquire the UrbanCode Deploy image and Helm chart at this time is through Passport Advantage. You will download an archive from Passport Advantage (look for IBM UrbanCode Deploy Server [version ] Container [platform]) which contains the UrbanCode Deploy image, Helm chart, and some manifest files that will be used if loading the image and chart to IBM Cloud Private. For information on loading the archive to IBM Cloud Private, click here.

You may still use the UrbanCode Deploy image and Helm chart with other platforms besides IBM Cloud Private. For example, you may use the image and Helm chart to run UrbanCode Deploy in OpenShift.

To use the UrbanCode Deploy image:

  1. Download the archive from Passport Advantage
  2. Extract the archive with tar -xzf [archive]
  3. In the images folder, load the image archive to docker with docker image load -i [image archive]
  4. The image may now tagged and pushed to the Docker registry of your choice.

To use the UrbanCode Deploy Helm chart:

  1. Extract the archive with tar -xzf [archive] if you have not done so already.
  2. In the charts folder, extract the chart archive with tar -xzf [chart archive]
  3. The chart may be found in the ibm-ucd-prod directory. Edit the chart’s values.yaml file as needed (see the README.md file for more details).
  4. Deploy an instance of UrbanCode Deploy with the helm install command.

A video demonstrating how to install UrbanCode into OpenShift may be viewed here.

Upgrading UrbanCode Deploy Server

Prepare a backup

Follow these general backup steps:

  • Cancel or wait for all running deployment processes to complete, then scale the UrbanCode Deploy server statefulset to 0.
  • Back up the database. For example, export the schema to a file.
  • Back up the appdata persistent volume.
  • Scale the UrbanCode Deploy server statefulset to 1.

Upgrade

  • Perform a helm upgrade on the UrbanCode Deploy server.
  • Verify that your deployment processes operate correctly after the upgrade. If any problems are encountered with the new version, roll back to the previous version.

Roll back the upgrade

Follow these general steps to roll back the upgrade:

  • Cancel or wait for all running deployment processes to complete, then scale the UrbanCode Deploy server statefulset to 0.
  • Restore the database. For example, drop the schema and import the schema from the backup file.
  • Restore the appdata directory backup to the persistent volume.
  • Perform a helm rollback to the previous revision of the UrbanCode Deploy server.
  • Scale the UrbanCode Deploy server to 1 and verify that your deployment processes operate correctly after the rollback.

Upgrading UrbanCode Deploy Agent

Prepare a backup

Follow these general backup steps:

  • Cancel or wait for all running deployment processes to complete, then scale the UrbanCode Deploy agent statefulset to 0.
  • Back up the conf persistent volume.
  • Scale the UrbanCode Deploy agent statefulset to 1.

Upgrade

  • Perform a helm upgrade on the UrbanCode Deploy agent.
  • Verify that your deployment processes operate correctly after the upgrade. If any problems are encountered with the new version, roll back to the previous version.

Roll back the upgrade

Follow these general steps to roll back the upgrade:

  • Cancel or wait for all running deployment processes to complete, then scale the UrbanCode Deploy agent statefulset to 0.
  • Restore the conf directory backup to the persistent volume.
  • Perform a helm rollback to the previous revision of the UrbanCode Deploy agent.
  • Scale the UrbanCode Deploy agent to 1 and verify that your deployment processes operate correctly after the rollback.

Upgrading UrbanCode Deploy Agent Relay

Prepare a backup

Follow these general backup steps:

  • Cancel or wait for all running deployment processes to complete, then scale the UrbanCode Deploy agent relay statefulset to 0.
  • Back up the conf persistent volume.
  • Scale the UrbanCode Deploy agent relay statefulset to 1.

Upgrade

  • Perform a helm upgrade on the UrbanCode Deploy agent relay.
  • Verify that your deployment processes operate correctly after the upgrade. If any problems are encountered with the new version, roll back to the previous version.

Roll back the upgrade

Follow these general steps to roll back the upgrade:

  • Cancel or wait for all running deployment processes to complete, then scale the UrbanCode Deploy agent relay statefulset to 0.
  • Restore the conf directory backup to the persistent volume.
  • Perform a helm rollback to the previous revision of the UrbanCode Deploy agent relay.
  • Scale the UrbanCode Deploy agent relay to 1 and verify that your deployment processes operate correctly after the rollback.

Troubleshooting

Click here to view troubleshooting information.