Install AGILITY on Kubernetes
Architecture
AGILITY components are divided into three groups:
agility-system
agility-services
agility
AGILITY Operator manages AGILITY components synchronizing with the AGILITY Central site.
Prerequisites
Before installing AGILITY, you must have these prerequisites:
Kubernetes:
Admin Permissions. You must have Kubernetes administrative permissions to perform the installation.
Dynamic Volume Provisioning. Dynamic volume provisioning for block storage is recommended. When using a cloud-managed cluster, CSI provisioners are most likely available. For on-premises deployments, a solution like rook-ceph might be an alternative. Otherwise, check Manually provision persistent volumes for manual provisioning.
Local CLI applications
B-Yond License. To install AGILITY, you will need the B-Yond license provided by B-Yond customer support.
Please ensure that you have fulfilled all these prerequisites before moving on to the next step.
Helm Charts Download
Contact customer support to determine the version of AGILITY to deploy.
mkdir -p agility-charts && cd agility-charts
export AGILITY_VERSION=3.90.7
Store the B-Yond License on a temporary directory
export BYOND_LICENSE_PATH="/tmp/license.token"
vi ${BYOND_LICENSE_PATH}
Verify curl
, jq
and helm
are available on your laptop (UNIX command)
red='\033[0;31m'
green='\033[0;32m'
clear='\033[0m'
if ! command -v curl 2>&1 > /dev/null; then echo -e "${red}curl...........................ERROR. Please install it before continuing${clear}"; else echo -e "${green}curl...........................OK${clear}"; fi; if ! command -v jq 2>&1 > /dev/null; then echo -e "${red}jq.............................ERROR. Please install it before continuing${clear}"; else echo -e "${green}jq.............................OK${clear}"; fi; if ! command -v helm 2>&1 > /dev/null; then echo -e "${red}helm...........................ERROR. Please install it before continuing${clear}"; else echo -e "${green}helm...........................OK${clear}"; fi
Ensure
curl
,jq
andhelm
binaries meet the required version.
Obtain a valid token from the B-Yond License:
From the TOKEN, obtain the necessary credentials
Pull the charts:
[Optional] Test environment
Before starting with the installation, you can test your environment by creating a Pod with a PersistentVolumeClaim
Create an ephemeral namespace
Create the
imagePullSecret
to pull images from the B-Yond Container registry:Create the PersistentVolumeClaim and Pod definitions
Ensure Pod and PVC are created successfully
Remove namespace
Deploy agility-system
These components deploy the Kubernetes operators that are required for AGILITY installation:
To deploy the agility-system
chart, follow these steps:
Create the
imagePullSecret
to pull images from the B-Yond Container registry:Run the Helm command to deploy agility-system:
Deploy agility-services
The agility-services
deployment includes the following components:
Database engine: PostgreSQL
Message bus: Kafka
Object storage: MinIO
Identity provider: Keycloak
AGILITY Operator
To deploy the agility-services
chart, follow these steps:
Create the target namespace (throughout this document is assumed to be
agility
)Create the
imagePullSecret
docker secret to pull images.Create the MinIO admin secret (ensure you backup this value):
ℹ️
root-password
must be at least 8 characters long.Create the Keycloak admin secret (ensure you backup this value):
Create the B-Yond license secret:
Create an overrides values file (options available in the agility-services chart):
ℹ️ Adjust volumes sizes and resource assignation. Default values are recommended for standard AGILITY usage.
Run the Helm command to deploy agility-services:
Wait until all Pods are in
Running
orCompleted
state and allRunning
items show all expected containers running underREADY
column.The following is an example:
Deploy AGILITY
To deploy the AGILITY application chart, follow these steps:
Create an override values file (options available in the AGILITY chart):
Run the Helm command to deploy AGILITY:
Wait until all Pods are in
Running
orCompleted
state and allRunning
items show all expected containers running underREADY
column.The following is an example:
Once AGILITY is deployed, you can connect to the UI using port-forwarding:
Access AGILITY in your browser at http://localhost:3000/cv/
username:
agility-admin@b-yond.com
password:
agility-admin@b-yond.com
ℹ️ The default password must be modified on first login.
To stop the port-forwarding process, press
Ctrl+C
in the terminal where you executed the command.
Expose AGILITY UI
To make AGILITY accessible from outside the cluster, various options can be used to expose the agility
ClusterIP Kubernetes service. You can leverage the following Kubernetes constructs that align with your predefined guidelines. This includes:
Ingress
LoadBalancer Service
NodePort
Consider your specific network infrastructure, cloud provider capabilities, and security requirements when choosing the appropriate method to expose AGILITY.
Next - Configuration
Uninstall
To uninstall the AGILITY deployment and associated resources:
Delete the Helm charts at the namespace level:
Remove namespace
Note: If you have no plans to install another instance of AGILITY, you can also remove the agility-system Helm release in the kube-system
namespace: