Adeptia Connect 5.X Deployment Guide
Pre-requisite
Kubernetes service is already installed in the Azure environment.
Backend and Log databases must be setup.
Get the Database User ID and Password from the Infrastructure Administrator (MST).
Require a VPN Connection to access the Azure cluster from your local laptop.
Require Admin permission of local machine to install Azure CLI, Helm & Kubectl (Provided by IT Team).
Require Azure AKS access credential from the IT administrator (Setup for individual users by Infrastructure Administrator - (MST).
Azure AKS access credentials
Below are the credentials that you will get from the infrastructure team.
Azure Credentials
Portal Login to : https://portal.azure.com/
Login through Jumphost Credentials: Open remote desktop connection
Jumphost Credentials
Log in with your Credentials.
Sample:
Username - adeptiaac5
Password - Welcome@12345
Remote Desktop IP - 68.154.19.39
Install Required Applications
If you have admin rights on your laptop, continue running the installations below.
In case you don't have Admin rights, then raise a support ticket to Adeptia support mentioning the installation of Azure CLI, Kubectl CLI, and HELM. The support team will assist with the installation by entering the admin password wherever prompted during installation.
Purpose:
The Azure Command-Line Interface (CLI) is a set of commands used to manage Azure resources. It allows you to create, configure, and manage Azure services from the command line, making it easier to script and automate Azure tasks.
kubectl is the command-line tool for interacting with Kubernetes clusters. It allows you to deploy and manage containerized applications, inspect resources, and troubleshoot issues in Kubernetes.
Helm is a package manager for Kubernetes. It simplifies the deployment of applications and services by managing Kubernetes manifests (YAML configuration files) through "charts." A Helm chart is a pre-configured template that can be deployed with Helm commands.
Below are the steps to access the AKS environment Kubernetes cluster:
Install AZURE CLI
Install Azure CLI on Windows (Need admin rights)
Go to the link below to download the Azure CLI client: https://docs.microsoft.com/en-us/cli/azure/install-azure-cli-windows?tabs=azure-cli
Download the package mentioned in the below screenshot and install it to your local machine.
Download the package, Screenshot below.
Extract the downloaded package and run the exe file, The Screenshot below
Run the below command to verify the installation:
az --version
Screenshot below :
Install the Azure CLI, in case Linux:
Go to this link below and follow the instructions.
https://docs.microsoft.com/en-us/cli/azure/install-azure-cli-linux?pivots=apt
Screenshot below.
Run the below command to complete the installation:
curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash
Screenshot below:-
Run the below command to verify the installation:
az --version
Screenshot below :
Install Azure CLI, If in case macOS
Install kubectl CLI .
Follow the below steps:
Install and Setup kubectl on Windows using Chocolatey or Scoop
Run the below command.
choco install kubernetes-cli
Accept the license agreement by entering A.
Test to ensure the installation is completed, Run the below
kubectl version —-client
Follow the below steps in case “ choco is not recognized” :
Open Windows Powershell or Command prompt as administrator.
Run the below command to install Chocolatey:
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
This above command will Bypass the security and install Chocolatey in Windows and you will be able to execute choco commands.
Note- Most of the time this step is not required as Chocolatey is already installed with the operating system.
Install with macOS
Install Helm CLI
For Windows
Open the link below URL in a browser to ensure that the site is accessible. This will be used by Chocolaty to download the Helm client
https://helm.sh/docs/intro/install/
Windows
Open the command prompt as Administrator and run the below command:
choco install kubernetes-helm
Enter A to continue the installation when prompted
Screenshot below:
For Mac OS
Create Namespace :
Run the below command to create Namespace in AKS.
Following the rules to create Namespace.
Namespace doesn't contain any special characters
Namespace doesn’t contain underscore _
Namespace should only be in lowercase.
Kubectl create ns <<namespace name>>
E.g. Kubectl create ns AC5TMT
Check/Show Already Available Namespaces :
After completing the installation of Azure CLI, Kubectl CLI, & Helm CLI follow the below steps :
Run the below command to ensure the namespace is created.
Kubectl get ns
- It returns the available Namespaces.
Refer to the Screenshot below :
If your namespace is already created, you will find the namespace in the list. e.g.
Download Artifacts
Download and Installation artifacts:
Currently, the AC Express Artifact is not available at Artifact Hub. So using the Artifacts taken from the Product team.
Below are the artifacts copied from the TMT folder in C: Drive
Database Configuration
Database Setup:
Create the connection from the workbench. From the root user create databases, and user and grant permissions.
create database tmtacexpress_prod_backend;
create database tmtacexpress_prod_log;
create user 'tmtacexpressproductionuser'@'%' IDENTIFIED BY 'Oy4d-hNAnASDR5mX7dOcFlpi-9nPmuFd';
GRANT ALL PRIVILEGES ON tmtacexpress_prod_backend.* TO 'tmtacexpressproductionuser'@'%' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON tmtacexpress_prod_log.* TO 'tmtacexpressproductionuser'@'%' WITH GRANT OPTION;
Values.YAML Configuration
Steps to Configure:
Open Adeptia folder > open values.yaml file in notepad++
Update the YAML File by changing the Env secret to update the database and AIMap Backend update
Refer in the Yaml file
#----------------------------------------------------------------------------------------
envSecret:
BACKEND_DB_USERNAME: ac5tmt
BACKEND_DB_PASSWORD: password
LOG_DB_USERNAME: ac5tmt
LOG_DB_PASSWORD: password
LOG_ARCHIVE_DB_USERNAME: ac5tmt
LOG_ARCHIVE_DB_PASSWORD: password
QUARTZ_DB_USERNAME: ac5tmt
QUARTZ_DB_PASSWORD: password
#----------------------------------------------------------------------------------------
Update Environment Variable section - backend and log details and set Execution, Static,& Migration cleanup job to “True”
EnvironmentVariables:
DISPLAY_NAME: Adeptia-Connect
BACKEND_DB_URL:
Refer in the Yaml file
#----------------------------------------------------------------------------------------
jdbc:mysql://mysql-ad-poc-ac5-eus2-01.mysql.database.azure.com:3306/ac5tmtbknd?useSSL=false
LOG_DB_URL: jdbc:mysql://mysql-ad-poc-ac5-eus2-01.mysql.database.azure.com:3306/ac5tmtlg?useSSL=false
LOG_ARCHIVE_DB_URL: jdbc:mysql://mysql-ad-poc-ac5-eus2-01.mysql.database.azure.com:3306/ac5tmtlg?useSSL=false
QUARTZ_DB_URL: jdbc:mysql://mysql-ad-poc-ac5-eus2-01.mysql.database.azure.com:3306/ac5tmtbknd?useSSL=false
AIMAP_BACKEND_URL: mysql+mysqlconnector://mysql-ad-poc-ac5-eus2-01.mysql.database.azure.com:3306/ac5tmtbknd
Set Execution Values to True
Refer in the Yaml file
EXECUTE_CLEANUP_JOB: true
EXECUTE_STATIC_JOB: true
EXECUTE_MIGRATION_JOB: true
#----------------------------------------------------------------------------------------
Install Adeptia Connect:
Install Adeptia Connect using Helm and open cmd from the Adeptia folder (Follow Adeptia documentation) :
helm install <<release name>> <<adeptia connect helmcharts path>>/ --timeout 10m --debug -n <<namespace>>
Example:
helm install ac5tmt adeptia/ --timeout 10m --debug -n ac5tmt
Run the below command to see the live status of the installation:
kubectl get pods -n ac5tmt -w
Run the below command to get pods details :
kubectl get pods -n ac5tmt
Refer to the Screenshot below :
Please make sure the service status is RUNNING for all the pods.
Setting up Ingress
Ingress exposes HTTP and HTTPS routes from outside the cluster to services within the cluster.
Follow the given steps to Deploy [ingress-nginx]:
Open ingress folder
Open the ingress yaml file and change
namespace: ac5tmt
secretName: acexpresssecret
secretName: acexpresssecret
Refer to the below Screenshot:
Run CMD from the ingress folder path and apply secret and ingress yaml
kubectl create secret tls acexpresssecret --key="tls.key" --cert="tls.crt" --namespace ac5tmt
This will create a secret in the namespace
kubectl apply -f ingress.yaml
This will apply ingress.
Screenshot for reference
Go to services, Ingress, and get the external IP
Bind the IP with DNS ac4tmt.adeptia.com
Example: https://acexpress-ist-poc.adeptia.com/Portal2/#/home
The MST team will add this in the cloud file and share the URL to access the AC5