/
AC 5 Deployment

AC 5 Deployment

Table of Contents:

1. Credentials and Network Setup

  1. Get the azure login credentials from MST team

  2. Also, Get Jumphost credentials from MST team for remote access

Example: Jumpost credentials

Username - adeptiaacexpress5
Password - Welcome@1234576
IP - 68.154.19.39

Note: To deploy from your laptop, you must have administrative rights to install the Command Line Interface (CLI), Helm, and Chocolatey (choco).

Typically, the MST team will configure these tools and provide remote access for login and deployment. In this scenario, you will not need to configure the CLI, Helm, and Chocolatey yourself.

  1. Create Namespace

    1. Namespace should only be in lower case .

    2. Namespace does’t contain any special characters 

    3. Namespace does’t  contains underscore _ .

    Kubectl create ns <<namespace name>>

    E.g. Kubectl create ns deepak-kumar

 Kubectl get ns  - It returns the available Namespaces.


2. Setup

Please download and copy the setup file from Here and place it in the C: Drive under a new folder or in your preferred location for installation.


3. Database Configuration

  1. Database Setup:

    • Create the connection from the workbench.

    • Create a backend database and log database. Additionally, create user accounts and assign appropriate access permissions.

    • Example: Create the database and users.

      Copy code

      create user '<<customer_name>>productionuser'@'%' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON <<customer_name>>_backend.* TO '<<customer_name>>productionuser'@'%' WITH GRANT OPTION;

For Example:

  • acsSittrainingbackend and acsSittraininglogs are the two databases created.

  • acsSituser is the user created with full privileges over these two databases, and they can grant these privileges to others.

Using MySQL Workbench to create two databases and a user, along with granting that user privileges to the databases. Here's the breakdown:

  1. Database Creation:

    • acsSittrainingbackend: A database named acsSittrainingbackend is being created.

    • acsSittraininglogs: Another database named acsSittraininglogs is being created.

  2. User Creation:

    • A user named acsSituser is being created with the password 'password'. The SQL command for this is:

      create user 'acsSituser'@'%' IDENTIFIED BY 'password';

       

    The @'%' part indicates that this user can connect from any host (% is a wildcard for any IP).

  3. Granting Privileges:

    • The user acsSituser is being granted all privileges on the acsSittrainingbackend and acsSittraininglogs databases with the GRANT OPTION. This means the user can perform any action on these databases and also grant the same privileges to other users. The commands used are:

      GRANT ALL PRIVILEGES ON acsSittrainingbackend.* TO 'acsSituser'@'%' WITH GRANT OPTION; GRANT ALL PRIVILEGES ON acsSittraininglogs.* TO 'acsSituser'@'%' WITH GRANT OPTION;

       

    • These commands provide the user acsSituser full control over both databases, including the ability to read, write, update, delete data, and manage the structure.

Using MySQL Workbench to create two databases and a user, along with granting that user privileges to the databases. Here's the breakdown:

  1. Database Creation:

    • acsSittrainingbackend: A database named acsSittrainingbackend is being created.

    • acsSittraininglogs: Another database named acsSittraininglogs is being created.

  2. User Creation:

    • A user named acsSituser is being created with the password 'password'. The SQL command for this is:

      create user 'acsSituser'@'%' IDENTIFIED BY 'password';

       

    The @'%' part indicates that this user can connect from any host (% is a wildcard for any IP).

  3. Granting Privileges:

    • The user acsSituser is being granted all privileges on the acsSittrainingbackend and acsSittraininglogs databases with the GRANT OPTION. This means the user can perform any action on these databases and also grant the same privileges to other users. The commands used are:

       

    • These commands provide the user acsSituser full control over both databases, including the ability to read, write, update, delete data, and manage the structure.


4. YAML and Cluster Setup

  1. Prepare YAML Configuration:

    • Prepare the YAML file as per the client’s license and details provided via email.

    • How to access YAML file - Currently the YAML file is taken from product team and placed at shared location as shown in image below

Update YAML File by changing the Env screat to update database and AIMap Backend update

Update backend and log details and set static, migration cleanup job to “True”


5. Helm and Adeptia Connect Installation

5.1 Install Adeptia Connect:

  1. Open CMD from the Adeptia setup folder and run below command

  2. Install Adeptia Connect using Helm (Follow Adeptia documentation) :

    Copy code

    helm install <<release name>> <<adeptia connect helmcharts path>>/ --timeout 10m --debug -n <<namespace>>

Explanation:

This command installs the Adeptia Connect Helm chart using Helm, a package manager for Kubernetes. Here's a breakdown of its components:

  • helm install: This is the basic Helm command to install a chart.

  • <<release name>>: This is the name you want to give to the installed chart instance. It's used to identify and manage the deployment.

  • <<adeptia connect helmcharts path>>/: This is the path to the Adeptia Connect Helm chart repository or directory. It specifies the location of the chart files.

  • --timeout 10m: This option sets a 10-minute timeout for the installation process. If the installation doesn't complete within 10 minutes, it will be considered a failure.

  • --debug: This flag enables debug mode, providing more detailed output and logs for troubleshooting purposes.

  • -n <<namespace>>: This specifies the Kubernetes namespace where the chart should be installed. The namespace helps organize and isolate different deployments within your cluster.

  • explain: This is an optional argument that can be used to print a detailed explanation of the chart's values and configuration before installation.

Example: helm install my-adeptia-connect ./adeptia-connect-charts/ --timeout 10m --debug -n my-namespace explain

 


6. NGINX and Ingress Setup

  1. Install NGINX:

    • Download NGINX v9.3.32 and apply the ingress rules:

      Copy code

      kubectl apply -f ingress.yaml


7. EAR Setup and License Deployment

Once a secret is created, update the ingress.yaml file to apply the ingress rules.

  1. Create EAR Folder:

    • Create an EAR folder in the shared path and place the EAR file.

  1. Deploy the Latest License:

    • Deploy the latest license provided by the support team and restart the license microservice. (Shared Drive)


8. Environment Configuration

  1. Configure Client Environment:

    • Log in to the environment and configure the following:

      • EAR Settings

      • SMTP Configuration

      • AI MAP Settings

      • Logging Level (Set to Error)

      • Application Password: Default password is changeit.


9. Monitoring and Backup Setup

  1. Install EFK:

    • Download and install the EFK stack:

      Copy code

      helm install efk efk-stack/ -n logs

    • After EFK installation is completed create the secret and apply the ingress rule

  1. Install Grafana:

    • Download and install Grafana using Helm:

    • Extract the zip file and run the below command from the following folder

      Copy code

      helm install grafana-prometheus kube-prometheus-stack -n monitoring

  • Once grafana is installed create the secret and apply the ingress rule

  • Apply the ingress yaml file with below changes 

  • Remove the s from the HTTP and provide the ingress release name


10. Velero Backup Configuration

  • Velero Backup Configuration:

    • Create a namespace velero and a container in Azure Blob Storage.

  • Install Velero using the command:

    Copy code

    velero install --provider azure --plugins velero/velero-plugin-for-microsoft-azure:v1.5.0 --bucket <<BLOB_CONTAINER>> --secret-file <<file path>>/credentials-velero.txt

  • Create credentials-velero.txt using below lines: (Note: you can get the details from MST Team)

  • Use the below command to install the velero 

OR


11. Generative AI Configuration

  1. Generative AI Configuration:

    • Go to Account > Settings > Microservice Settings > AIMap and configure AI settings.


Summary

he AC Express installation process involves several stages to ensure a smooth setup. First, you begin by verifying the Bastion credentials provided by Connectria and configuring network security to allow Adeptia's office IP in the virtual machine’s security group. Once this is set up, the required software is downloaded from Google Drive and installed on the Bastion, including installing the CLI for Windows using Chocolatey.

Next, the database is set up by creating the necessary databases and users with the appropriate privileges. After that, the YAML configuration is prepared based on client-specific details, and the Bastion IP is added to the AKS cluster network security. Once these steps are completed, Helm is installed on the Bastion, SSL settings on the database server are disabled, and Adeptia Connect is installed using Helm.

Following the Helm installation, NGINX v9.3.32 is installed, and ingress rules are applied. An EAR folder is created in the shared path, the EAR file is uploaded, and the latest license provided by the support team is deployed. The environment is then configured, which includes enabling EAR settings, setting up SMTP, enabling the AI MAP feature, and adjusting the logging level.

For monitoring and backup, the EFK stack is installed for log management, and Grafana is installed with Prometheus for monitoring. Additionally, Velero is set up for backup, using Azure Blob Storage as the storage location. Finally, the setup is completed by configuring the AI Map properties for generative AI functionality within the system, ensuring all components are properly integrated and configured. This process ensures a fully functional AC Express system, ready for use.

 

 

Related content

AC Cloud 5.x Infrastructure - Pre-Requisites, Deployment, Post Deployment Verification
AC Cloud 5.x Infrastructure - Pre-Requisites, Deployment, Post Deployment Verification
More like this
AC Express: Customer Onboarding Process
AC Express: Customer Onboarding Process
More like this
AC 5.X Marketplace Deployment
AC 5.X Marketplace Deployment
More like this