Skip to end of metadata
Go to start of metadata

You are viewing an old version of this content. View the current version.

Compare with Current View Version History

Version 1 Next »

Adeptia Connect 5.X


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

  1. Below are the credentials that you will get from the infrastructure team.

Azure Credentials

Portal Login to : https://portal.azure.com/

Log in with your Credentials.

Sample:

Username - **********@adeptia.com

Password - AdeptiaDemo

  1. 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)

  1. 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

  2. Download the package mentioned in the below screenshot and install it to your local machine.

    1. Download the package, Screenshot below.

  1. 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: 

  1. Go to this link below and follow the instructions.

  2. https://docs.microsoft.com/en-us/cli/azure/install-azure-cli-linux?pivots=apt  

  3. 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 Azure CLI, If in case macOS
  1. Run the below  install command:

brew update && brew install azure-cli
  1. For any troubleshooting please go below link. https://docs.microsoft.com/en-us/cli/azure/install-azure-cli-macos  

  2. Run the below command to verify the installation: 

az --version

Screenshot below : 

Install kubectl CLI .

Follow the below steps: 

Install and Setup kubectl on Windows using Chocolatey or Scoop

  1. Run the below command.

choco install kubernetes-cli 
  1. Accept the license agreement by entering A.

  2. Test to ensure the installation is completed, Run the below command Run the below command to ensure successful installation.

kubectl version —-client

Follow the below steps in case “ choco is not recognized” : 

  1. Open Windows Powershell or Command prompt as administrator.

  2.  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 with macOS

Install with MacPorts on macOS

  1. Run the below installation command: 

sudo port selfupdate
sudo port install kubectl
  1. Test to ensure the version you installed is up-to-date:

kubectl version --client

Install and Set Up kubectl on Linux

Go through the link below : https://kubernetes.io/docs/tasks/tools/install-kubectl-linux/#install-kubectl-binary-with-curl-on-linux.n  

Install Helm CLI

For Windows

  1. 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/

  1. Windows

    1. 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

 In case it is Homebrew (macOS): 

Run the following command: 

brew install helm
 Apt (Debian/Ubuntu)

Run the below command.

curl https://baltocdn.com/helm/signing.asc | sudo apt-key add -
sudo apt-get install apt-transport-https --yes
echo "deb https://baltocdn.com/helm/stable/debian/ all main" | sudo tee /etc/apt/sources.list.d/helm-stable-debian.list
sudo apt-get update
sudo apt-get install helm

Create Namespace :

Run the below command to create Namespace in AKS.

Following the rules to create Namespace.

  1. Namespace doesn't contain any special characters 

  2. Namespace doesn’t contain underscore _

  3. 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.

  1. create database tmtacexpress_prod_backend;

  2. create database tmtacexpress_prod_log;

  3. create user 'tmtacexpressproductionuser'@'%' IDENTIFIED BY 'Oy4d-hNAnASDR5mX7dOcFlpi-9nPmuFd';

  4. GRANT ALL PRIVILEGES ON tmtacexpress_prod_backend.* TO 'tmtacexpressproductionuser'@'%' WITH GRANT OPTION;

  5. GRANT ALL PRIVILEGES ON tmtacexpress_prod_log.* TO 'tmtacexpressproductionuser'@'%' WITH GRANT OPTION;


Values.YAML Configuration

Steps to Configure:

  1. Open Adeptia folder > open values.yaml file in notepad++

  1. Update the YAML File by changing the  Env secret to update the database and  AIMap Backend update

Refer in the Yaml file

 #----------------------------------------------------------------------------------------

envSecret:

  1.     BACKEND_DB_USERNAME: ac5tmt

  2.     BACKEND_DB_PASSWORD: password

  3.     LOG_DB_USERNAME: ac5tmt

  4.     LOG_DB_PASSWORD: password

  5.     LOG_ARCHIVE_DB_USERNAME: ac5tmt

  6.     LOG_ARCHIVE_DB_PASSWORD: password

  7.     QUARTZ_DB_USERNAME: ac5tmt

  8.     QUARTZ_DB_PASSWORD: password

  #----------------------------------------------------------------------------------------

  1. 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

While installing you can see the status and watchlist (Needs to update your own namespace) This needs to be opened in a separate command prompt and executed.

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

  1. Open the ingress yaml file and change

    1. namespace: ac5tmt

    2. host: acexpress-tmt.adeptia.com

    3. host: acexpress-tmtapi.adeptia.com

    4. acexpress-tmt.adeptia.com

    5. secretName: acexpresssecret

    6. acexpress-tmtapi.adeptia.com

    7. secretName: acexpresssecret 

Refer to the below Screenshot:

  1. 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

MST team will add this in cloud flair and share the URL to access the AC5

  • No labels