Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Rancher is an an open-source multi-cluster orchestration platform that makes it easy for you to deploy and manage an application on Kubernetes cluster. Adeptia packages Rancher and Security focused Kubernetes (RKE2) along with Adeptia Connect application and other components in Ansible Playbook. You need to download, extract,and run this package that deploys the followings in the same order.

  • RKE2 – Security focused Kubernetes

  • Rancher UI – UI to centrally manage a multi-cluster Kubernetes environment

  • Longhorn – Cloud native distributed block storage for Kubernetes

  • Prometheus including Grafana – For centralized monitoring

  • Elasticsearch, Fluentd, and Kibana (EFK) – For centralized logging

  • Kubernetes Event Driven Autoscaler (KEDA) – For pods autoscaling

  • Adeptia Connect application (can be deployed in HA mode with each microservice running 2 replicas)

Prerequisites and configurations for Playbook execution

Before you begin to run Ansible Playbook, ensure that you have,

  • At least three Linux VMs, each with the following minimum configuration:

    • RAM – 32 GB

    • Processor cores – 8

    • Hard disk – 250 GB

  • One Jumpbox with internet access and SSH connectivity with the above 3 Linux VM machines.

  • Ansible 2.5 (or higher) installed on Jumpbox.
    You can install Ansible on Ubuntu OS by running the following command:

    Code Block
    languagepowershell
    $ sudo apt install ansible
  • Load Balancer on top of 3 Linux VM nodes.

  • Administrative privileges on Jumpbox and each Linux VM node.

  • SSH Private key in PEM (Privacy Enhanced Mail) format for communication between the VMs.

Info

You can use the PEM file with or without passphrase protection.

  • The following inbound ports opened on Load Balancer and 3 Linux VM:

    • 9345 - required for RKE2 nodes clustering

    • 6443 - required for Kubernetes API

  • DNS domain for accessing Rancher UI.

  • DNS domain for accessing Adeptia Connect portal.

=================================================================================

DNS

We need 2 different DNS (pointing to Load Balancer) for Ingress traffic routing to different components:

1st DNS for:

  • managing the RKE2 cluster

  • routing traffic to the Rancher GUI portal

2nd DNS for routing traffic to:

  • AC Portal

  • AC API Gateway (for REST and SOAP API calls)

  • Kibana dashboard for logging

  • Grafana dashboard for monitoring

==============================================================================================Rancher is an an open-source multi-cluster orchestration platform that makes it easy for you to deploy and manage an application on Kubernetes cluster.

Adeptia packages Rancher and Security focused Kubernetes (RKE2) along with Adeptia Connect application and other components in Ansible Playbook. You need to download, extract,and run this package that deploys the followings in the same order.

  • RKE2 – Security focused Kubernetes

  • Rancher UI – UI to centrally manage a multi-cluster Kubernetes environment

  • Longhorn – Cloud native distributed block storage for Kubernetes

  • Prometheus including Grafana – For centralized monitoring

  • Elasticsearch, Fluentd, and Kibana (EFK) – For centralized logging

  • Kubernetes Event Driven Autoscaler (KEDA) – For pods autoscaling

  • Adeptia Connect application (can be deployed in HA mode with each microservice running 2 replicas)

Prerequisites and configurations for Playbook execution

Before you begin to run Ansible Playbook, ensure that you have,

  • At least three Linux VMs, each with the following minimum configuration:

    • RAM – 32 GB

    • Processor cores – 8

    • Hard disk – 250 GB

  • One Jumpbox with internet access and SSH connectivity with the above 3 Linux VM machines.

  • Ansible 2.5 (or higher) installed on Jumpbox.
    You can install Ansible on Ubuntu OS by running the following command:

    Code Block
    languagepowershell
    $ sudo apt install ansible
  • Load Balancer on top of 3 Linux VM nodes.

  • Administrative privileges on Jumpbox and each Linux VM node.

  • SSH Private key in PEM (Privacy Enhanced Mail) format for communication between the VMs.

Info

You can use the PEM file with or without passphrase protection.

  • The following inbound ports opened on Load Balancer and 3 Linux VM:

    • 9345 - required for RKE2 nodes clustering

    • 6443 - required for Kubernetes API

  • DNS domain for accessing Rancher UI.

  • DNS domain for accessing Adeptia Connect portal.

Once you have met the prerequisites, update the following files containing the details of VMs, Load Balancer, ports, DNS, SSH connectivity, and other configuration details required for Adeptia Connect installation. These files are available in Ansible Playbook package that you have downloaded and extracted.

...

Steps to update inventory file

  1. Open the inventory file.

  2. Add the domain name or IP address of the three VMs under the [servers] group as shown in the example code snippet below.

...

Property

Description

ssh_key_path

Name of SSH private key (pem) file.

rancher_lb_domain

Domain name of Rancher

app_lb_domain

Domain name of Adeptia Connect application

rke2_token

Secret token for node registration.

execute_static_job

AC installation mode.

Set the value for this property to true for fresh installation and false in case you are upgrading from a lower AC v4.x environment.

ac_ha_mode

Enable/Disable High Availability (HA) mode.

Possible values are:

  • true

  • false

backend_db_type

Backend database type.

Possible values are:

  • MySQL

  • SQL-Server

  • Oracle

backend_db_url

Value for Azure SQL Database

  • jdbc:sqlserver://<DB Hostname>:<Port Number>;database=<Backend Database Name>

Value for Oracle Database

  • jdbc:oracle:thin:@<hostName>:<portNumber>:<S ID/ServiceName>

Value for Azure MySQL Database

  • jdbc:mysql://<hostName>:<portNumber>/<DBName>?useSSL=true

log_db_type

Log database type.

Possible values are:

  • MySQL

  • SQL-Server

  • Oracle

log_db_url

Value for Azure SQL Database

jdbc:sqlserver://<DB Hostname>:<Port Number>;database=<Log Database Name>

Value for Oracle Database

jdbc:oracle:thin:@<hostName>:<portNumber>:<S ID/ServiceName>

Value for Azure MySQL Database

jdbc:mysql://<hostName>:<portNumber>/<DBName>?useSSL=true

tlsCrt

TLS signed certificate in base64 encoding (for Ingress)

tlsKey

TLS private key of certificate in base64 encoding (for ingress)

Steps to update vault-config.yaml

...

Property

Value

vault_ansible_sudo_pass

<User defined password for >

vault_rancher_gui_password

<User defined password for rancher GUI>

vault_rke2_token

<User defined RKE2 token>

vault_backend_db_username

<User defined Backend DB username>

vault_backend_db_password

<User defined Backend DB password>

vault_log_db_username

<User defined Log DB username>

vault_log_db_password

<User defined Log DB password>

vault_quartz_db_username

<User defined Quartz DB username (if Quartz and Backend DB are separate)>

vault_quartz_db_password

<User defined Quartz DB password (if Quartz and Backend DB are separate)>

vault_log_archive_db_username

<User defined Log archive DB username (if Log and Log archive DB are separate)>

vault_log_archive_db_password

<User defined Log archive DB password (if Log and Log archive DB are separate)>

Encrypting/Decrypting vault-config.yaml

...

Here are the steps to uninstall all the components including RKE2, Rancher, Longhorn, Prometheus, EFK, KEDA, and Adeptia Connect.

  1. Log in to the Jumpbox.

  2. Run the following command to set Read/Write permission on the SSH private key file (PEM):

    Code Block
    $ chmod 0600 <pem file>
  3. Run the following command to set executable permission on the adeptia-connect.sh shell file:

    Code Block
    $ chmod +x adeptia-connect.sh
  4. Run the following command to execute the shell file, adeptia-connect.sh, available in the Ansible Playbook:

    Code Block
    $ ./adeptia-connect.sh --tag=uninstall-all

...

Tip

To run multiple tags, provide comma separated values as shown below:

$ ./adeptia-connect.sh --tag=uninstall-basic,uninstall-ac

Panel
bgColor#FFFAE6

Important!

If you are using encrypted vault-config.yaml file, you need to pass the argument --ask-vault-pass while executing the shell file (during install or uninstall) as shown in the example below:

$ ./adeptia-connect.sh --ask-vault-pass

...