Installation and setup for Kubernetes
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
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.
Installation requirements (Kubernetes)
DCT requires a running Kubernetes cluster to run, 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 | HELM installation should support HELM v3. More information on HELM can be found at https://helm.sh/docs/ . To install HELM, follow the installation instructions at https://helm.sh/docs/intro/install/ . |
kubectl | 1.25.0 or above | To install kubectl follow the instructions at https://kubernetes.io/docs/tasks/tools/ . |
If an intermediate 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.
Installing DCT
The latest version of the chart can be pulled locally with the following command:
curl -XGET https://dlpx-helm-dct.s3.amazonaws.com/delphix-dct-7.0.0.tgz -o delphix-dct-7.0.0.tgz
This command will download a file with the name delphix-dct-7.0.0.tgz in the current working directory. The downloaded file can be extracted using the following command:
tar -xvf delphix-dct-7.0.0.tgz
This will extract into the following directory structure:
delphix-dct
|- values.yaml
|- README.md
|- Chart.yaml
|- templates
|-<all templates files>
For pulling the Docker images from the registry, temporary credentials would need to be configured/overridden in the values.yaml file. 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. Once accepted, login credentials will be presented. Note them down and edit the imageCredentials.username
and imageCredentials.password
properties in the values.yaml file as shown below:
# Credentials to fetch Docker images from Delphix internal repository
imageCredentials:
# Username to login to docker registry
username: <username>
# Password to login to docker registry
password: <password>
imageCredentials:
username: <username>
password: <password>
After extracting the chart, install it using the following command:
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:
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-7.0.0 7.0.0
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.
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).