Skip to main content
Skip table of contents

Installation and setup for Kubernetes

Before getting started, Delphix recommends that you engage your Kubernetes Admin for deployment guidance on available Kubernetes deployment platforms (AKS, EKS, etc.), node sizing, and persistent volume settings.

Hardware requirements

The hardware requirements for Data Control Tower (DCT) on Kubernetes are listed below. In addition to these requirements, inbound port 443 must be open for API clients, and outbound port 443 to engines. This is the minimum total resource request for the Kubernetes deployment of DCT. Individual service-level resource requests are contained in values.yaml file and can be overridden during deployment.

  • CPU: 4-Core

  • CPU Architecture: x86_64

  • Memory: 16GB

  • Storage: 50GB

  • Port: 443

The recommended minimum 50 GB of storage is shared across the Kubernetes cluster (i.e. hosts).  All pods and/or services use this storage for mounted volumes and other utilities including image storage.  In a single node cluster, if shared volumes are not externalized the host requires the full 50 GB.  If the persistent volume is mounted externally, the host requires 39 GB of storage, since the default storage required by the database (10 GB) and gateway (1 GB) draws from the external storage. The default storage configuration for the database and gateway can be modified in values.yaml.

Kubernetes Overview

Data Control Tower can be deployed in a manner of minutes once a Kubernetes cluster has been identified and deployment details have been aligned with your Kubernetes administrator. The installation consists of three components:

  • Kubernetes Cluster - the identified infrastructure to which you will deploy DCT.

  • HELM - This deploys DCT as a Kubernetes application by referencing helm charts (.yaml files) that make up the DCT install either by an external helm repository https://dlpx-helm-dct.s3.amazonaws.com (Note: this is the quickest path to installing DCT as it largely automated) or via local install (this is accomplished by downloading the helm charts directly via the DCT .tar file on http://download.delphix.com )

  • kubectl - is a command line tool that enables administrative communication with the deployed pods (most useful post-deployment or after an upgrade)

Installation requirements (Kubernetes)

DCT requires a running Kubernetes cluster; This could be an on-premises cluster, Azure AKS or AWS EKS cluster. DCT also requires a kubectl command line tool to interact with Kubernetes cluster and HELM for deployment on to the cluster.

Requirement

DCT Recommended Version

Comments

Kubernetes Cluster

1.25 or above

HELM

3.9.0 or above

If an intermediate (local) HELM repository is to be used instead of the default Delphix HELM repository, then the repository URL, username, and password to access this repository needs to be configured in the values.yaml file under imageCredentials section.

Install HELM as the package manager using the HELM installation article.

kubectl

1.25.0 or above

HELM will internally refer to the kubeconfig file to connect to the Kubernetes cluster. The default kubeconfig file is present at location: ~/.kube/config

If the kubeconfig file needs to be overridden while running HELM commands, set the KUBECONFIG environment variable to the location of the kubeconfig file.

To install kubectl follow the instructions at https://kubernetes.io/docs/tasks/tools/ .

Installing DCT

Add the HELM charts with the following command.

CODE
$ helm repo add dct-services https://dlpx-helm-dct.s3.amazonaws.com 

This command will link the DCT HELM repository to the local client HELM repository.

CODE
$ helm repo update

This command will update the local HELM charts metadata (index.yaml).

CODE
$ helm pull dct-services/delphix-dct --version x.0.0

Extract the downloaded .tgz and update following values in values.yaml.

To generate the bootstrap APIKey, set apiKeyCreate: true.

password: <retrieved from download.delphix.com>.

For getting the temporary credentials, visit the Delphix DCT Download page and login with your customer login credentials. Once logged in, select the DCT Helm Repository link and accept the Terms and Conditions. Use password from the popup screen, as shown below.

OFFLINE MODE

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

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

  • RE-tag and upload Docker images in your local repository and update values.yaml accordingly.

  • Deploy.

Once accepted, login credentials will be presented. In version 8.0.0 and above, instead of username/password, an option is available to use credentials from a pre-existing Kubernetes Secret. To do so, instead of providing a username/password, users must create the Kubernetes Secret in the same namespace as the one used for DCT, and reference the registryKey like this:

NONE
imageCredentials:
  # registry to pull docker images from.
  registry: 762392488304.dkr.ecr.us-west-2.amazonaws.com/delphix-dct
  # username to login to docker registry. Do not set if registryKey is set.
  username:
  # password to login to docker registry. Do not set if registryKey is set.
  password:
  # Name of an existing docker registry key to use to pull images.
  registryKey: <insert-secret-name-here>

After extracting the chart, install it using the following command:

NONE
helm install dct-services delphix-dct

delphix-dct is the name of the folder which was extracted in the previous step. In the above directory structure, the values.yaml file contains all of the configurable properties with their default values. These default values can be overridden while deploying DCT, as per the requirements. If the values.yaml file needs to be overridden, create a copy of values.yaml and edit the required properties. While deploying DCT, values.yaml file can be overridden using the following command:

helm install dct-services -f <path to edited values.yaml> <directory path of the extracted chart>

Once deployment is complete, check the status of the deployment using the following command (where X.0.0 should be changed to the version of DCT being installed):

NONE
helm list
NAME              NAMESPACE    REVISION    UPDATED                                 STATUS      CHART                    APP VERSION
dct-services      default      1           2023-01-10 19:33:41.713202 -0900        deployed    delphix-dct-x.0.0        x.0.0

Assuming an ingress controller configuration on the Kubernetes cluster is present, when accessing DCT after the deployment, the ingress controller rule needs to be added for proxy service, along with port 443 (if SSL is enabled) and port 80 (if SSL is disabled).

JavaScript errors detected

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

If this problem persists, please contact our support.