Skip to main content
Skip table of contents

Deployment upgrade for Kubernetes

This page covers the upgrade process for DCT deployments on Kubernetes.

In DCT 12.0.0 and above, one new service (container) has been introduced named Masking.

The memory and CPU requirement for this newly added service (container) is 512Mi and 500m, respectively.

This container creates a new persistent volume of 1GB dynamically. If you are using pre-existing static persistent volumes for other existing pods (i.e. gateway and database), similarly to these pods, create a new persistent volume claim for the masking pod, then update the maskingPvcName property in the values.yaml with the name of static persistent volume claim.

For customizing the masking service resources (i.e. requests and limits) and properties, please refer to the values.yaml file in the Helm chart of the current release.

Starting from DCT 15.0.0 we have introduced one new service (container) named virtualization-app.

The memory and CPU requirement for this newly added service (container) is 512Mi and 600m, respectively.

This container creates a new persistent volume of 1GB dynamically. If you are using pre-existing static persistent volumes for other existing pods (i.e. gateway and database), similarly to these pods, create a new persistent volume claim for the virtualization-app pod, then update the virtualizationAppPvcName property in the values.yaml with the name of the static persistent volume claim.

For customizing virtualization-app service resources (i.e. request and limits) and properties, please refer values.yaml file in the Helm chart of thre current release.

Create a new folder called dct-x.0.0, where x.0.0 should be changed to the version of DCT being installed (e.g. if on 5.0.2, it would be 6.0.0).

NONE
mkdir dct-x.0.0

Update the added repos with the following, which will update the local HELM charts metadata (index.yaml).

CODE
helm repo update

Pull the HELM charts with the following:

This command will download a file named delphix-dct-x.0.0.tgz in the folder dct-x.0.0.

NONE
cd dct-x.0.0
helm pull dct-services/delphix-dct --version x.0.0

The downloaded file is then extracted using the following command (where x.0.0 should be changed to the version of DCT being installed):

NONE
tar -xvf delphix-dct-x.0.0.tgz

Which will extract into the following directory structure:

NONE
delphix-dct
	|- values.yaml
	|- README.md
	|- Chart.yaml
	|- templates
		|-<all templates files>

Create a new values.yaml inside to the dct-x.0.0 folder (e.g. parallel to delphix-dct folder), use sample values.yaml given below. Copy the configured properties from previous version to this newly created values.yaml.

This values.yaml file should only contain the modified values from the previous version of deployment and not the entire values.yaml file as it is.

Update the username and password in values.yaml. It can be obtained from https://download.delphix.com. Here are some notes in regards to this step in the process:

  • This username and password update in values.yaml is only required if the user using DCT provided a Docker Registry directly in the deployment (i.e. values.yaml).

OFFLINE MODE

Offline mode is supported for scenarios including:

  • Clusters that are air-gapped and cannot access the Delphix Docker registry.

  • Instances where Delphix Docker images must be pushed to an organization's internal registry for security scans or to comply with other security policies.

For these scenarios, a jumpbox machine with access to both the Delphix Docker registry or download site and the organization's internal registry is required. This jumpbox must also meet the installation prerequisites.

1. Get the Docker images

The two ways to get the Delphix Docker images are:

  • Pull the images from Delphix Docker registry.

  • Download and load the images from tarball.

2. Pull the images from Delphix Docker registry

  • Login into the jumpbox machine.

  • Pull the Docker images from the Delphix Docker registry.

    CODE
    $ docker pull dct.download.delphix.com/delphix-dct:nginx-x.0.0
    $ docker pull dct.download.delphix.com/delphix-dct:app-x.0.0
    $ docker pull dct.download.delphix.com/delphix-dct:data-bookmarks-x.0.0
    $ docker pull dct.download.delphix.com/delphix-dct:delphix-data-library-x.0.0
    $ docker pull dct.download.delphix.com/delphix-dct:graphql-x.0.0
    $ docker pull dct.download.delphix.com/delphix-dct:ui-x.0.0
    $ docker pull dct.download.delphix.com/delphix-dct:jobs-x.0.0
    $ docker pull dct.download.delphix.com/delphix-dct:postgres-x.0.0
    $ docker pull dct.download.delphix.com/delphix-dct:virtualization-x.0.0
    $ docker pull dct.download.delphix.com/delphix-dct:masking-x.0.0
    $ docker pull dct.download.delphix.com/delphix-dct:virtualization-app-x.0.0
  • Re-tag all above Docker images. Below is a sample re-tag example for one image:

    CODE
    $ docker tag dct.download.delphix.com/delphix-dct:nginx-x.0.0 <local registry url>:nginx-x.0.0

Note: Re-tag all remaining DCT images in the same format.

  • Push re-tagged images into the internal registry. Below is a sample push example for one image:

    CODE
    $ docker push <local registry url>:nginx-x.0.0

3. Download and load the images from tarball

If you do not have direct access to Delphix HELM and Docker repositories, download the HELM charts and Docker images packages as delphix-dct-x.0.0.tar.gz, which is uploaded on the download site.

  • Login into the jumpbox machine.

  • Download the HELM chart and Docker images packages as delphix-dct-x.0.0.tar.gz, which is uploaded on the download site.

  • Extract the downloaded .tar.gz file to get the HELM chart and Docker images.

  • Load extracted Docker images using following:

    CODE
    for image in *tar; do sudo docker load --input $image; done
  • Re-tag all above Docker images. Sample re-tag example for one image:

    CODE
    $ docker tag registry.delphix.com/delphix-dct:nginx-x.0.0 <local registry url>:nginx-x.0.0

Note: Re-tag all remaining DCT images in the same format.

  • Push re-tagged images into internal registry. Sample push example for one image:

    CODE
    $ docker push <local registry url>:nginx-x.0.0

4. Deploy

  • Update values.yaml for registry name and image credentials:

    1. registry: <local registry url>

    2. username: <local registry username>

    3. password: <local registry password>

  • Install.

    1. Follow the instructions below.

  • Run the HELM upgrade command:

NONE
helm upgrade -f values.yaml dct-services delphix-dct

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.