Plan Your Installation or Upgrade
You use the XL CLI's xl kube
command to install or upgrade Digital.ai Deploy or Release, or Release Runner. For more information, see XL Kube Command Reference.
Important: We highly recommend you to go through the xl kube workshop to gain a comprehensive understanding on how to install or upgrade Digital.ai Deploy, or Release, or Release Runner on a kubernetes cluster and how it can benefit you.
The xl kube
command acts as an installation options reference, prompting you for values that it cannot determine on its own and providing reasonable default values for the remaining parameters. In other words, installing Digital.ai Deploy, or Release, or Release Runner can be as simple as running the xl kube install
or xl kube upgrade
commands and answering a set of questions asked by the installation options reference along the way.
However, you must gather and keep certain information handy to answer the questions in the installation options reference.
In addition, you must set up your Kubernetes cluster, install and configure the required Kubernetes CLI tools such as the kubectl, AWS CLI, Openshift CLI, gCloud CLI, and Azure CLI depending on the cloud platform you use.
You must also factor in things like using existing PostgreSQL and RabbitMQ servers—and if yes—gather and keep all the required information handy before you start installing or upgrading Digital.ai Deploy or Release.
Supported Cloud Platforms to Install Digital.ai Deploy, or Release, or Release Runner
You can install Digital.ai Deploy and Release on the following platforms:
- Plain Multi-node Kubernetes Cluster On-premise versions 1.20-1.31 (1.31 is included from version 24.1.11)
Note: You can install Deploy and Release in both online and airgapped modes. See Install—Deploy or Release—On-premise Kubernetes for more information. - OpenShift on AWS
- Amazon EKS
- Google GKE
- Azure AKS
Note: We support Deploy installation on any flavor of Openshift that meets the below criteria:
- Kubernetes server versions 1.20-1.31 (1.31 is included from version 24.1.11).
- Has storage class that supports RWO (for Deploy) and RWX (for Release) modes.
Docker Image Tags for Deploy, Release, and Release Runner
The xl kube install
and xl kube upgrade
options reference let you go with the default (latest) docker image tags available when you install or upgrade Digital.ai Deploy or Release. However, here are the Docker Hub links to verify all the available image tags.
- Digital.ai Deploy Operator Image
- Digital.al Release Operator Image
- Digital.ai Deploy Image
- Digital.ai Release Image
- Digital.ai Release Runner Image
- Digital.ai Deploy Task Engine Image
- Digital.ai Deploy Central Configuration Image
Deploy and Release Server Replicas
- For Deploy, you must estimate the number of master and worker replicas required.
- For Release, you must estimate the number of Release server replicas required.
The Kubernetes Cluster
The process of setting up a Kubernetes cluster and the tools required for the same varies from one platform to the other. However, there are certain things that you must think through before setting up a Kubernetes cluster in general.
Let us discuss some of those common aspects of setting up your Kubernetes cluster.
Nodes and Pods in the Kubernetes Cluster
You must plan and estimate the number of nodes in the cluster, and the number of pods and services you may want to run. You must plan the sizing of the pods resources, for the Deploy and Release:
Kubernetes Namespace
Important: For operator installation on various Kubernetes platforms, there is a limitation regarding the length of the namespace (or project). This limitation is based on the fact that custom namespaces play a crucial role in naming all resources created within the cluster. To ensure uniqueness across cluster resources generated by the operator, a maximum namespace length of 13 characters is supported. However, for OpenShift installations, the maximum namespace length is 9 characters.
- You need a namespace to install Digital.ai Deploy, or Release, or Release Runner on.
- By default, Digital.ai Deploy, or Release, or Release Runner are installed in the default namespace —
digitalai
. - However, you can choose to create and install Deploy, or Release, or Release Runner in a custom namespace.
Ingress Controller
- The Ingress Controller to use for generic cloud providers such as Amazon EKS, Azure AKS, and Google GKE.
- The following ingress controllers are supported:
- nginx
- HAProxy
- You can also choose to use an external ingress controller at the time of installation or upgrade.
Domain Name
- You need a registered domain name (a fully qualified domain name (FQDN)) to access the Digital.ai Deploy or Release UI.
- Create a domain name and keep it handy for use during the Digital.ai Deploy or Release installation or upgrade.
Digital.ai Deploy or Release License
- You must procure and keep a valid license for Digital.ai Deploy or Release handy for use during the Digital.ai Deploy or Release installation or upgrade.
- The license file can be in plain text format or base64 encoded format.
Java Keystore
- You can choose to generate a new Java keystore when you install or upgrade Digital.ai Deploy or Release.
- You must have the Keytool utility installed on your computer (Keytool is installed by default on Linux and MacOS)
- However, you can also use an existing keystore.
- Note that you must also create a Keystore passphrase, which must be no less than six characters.
TLS/SSL Configuration
Do you want to enable TLS/SSL protocols in your cluster?
If yes, you must create a namespace and have the TLS certificate and key created in the namespace as a secret in your cluster before you start the Digital.ai Deploy or Release installation or upgrade.
For more information about creating the TLS cert and keys, see:
PostgreSQL Database Server
Do you want to use an existing (external) PostgreSQL database server?
The default installation option is to create a new PostgreSQL database server in your cluster. However, you can choose to use an existing PostgreSQL database server if required.
In this case, you must gather and keep the following information about the external PostgreSQL server handy for the installation or upgrade of Deploy or Release.
For Digital.ai Release:
main:
url: jdbc:postgresql://<xlr-db-host>:5432/<xlr-database-name>
username: <xlr-username>
password: |-
<xlr-password>
maxPoolSize: 10
report:
url: jdbc:postgresql://<xlr-report-db-host>:5432/<xlr-report-database-name>
username: <xlr-report-username>
password: |-
<xlr-report-password>
maxPoolSize: 10
For Digital.ai Deploy:
main:
url: jdbc:postgresql://<xld-db-host>:5432/<xld-database-name>
username: <xld-username>
password: |-
<xld-password>
maxPoolSize: 10
report:
url: jdbc:postgresql://<xld-report-db-host>:5432/<xld-report-database-name>
username: <xld-report-username>
password: |-
<xld-report-password>
maxPoolSize: 10
RabbitMQ Server
Do you want to use an existing (external) RabbitMQ server?
The default installation option is to create a new RabbitMQ server in your cluster. However, you can choose to use an existing RabbitMQ server if required.
In this case, you must gather and keep the following information about the external RabbitMQ server handy for the installation or upgrade of Deploy or Release.
For Digital.ai Release:
url: <queue-url>
queueName: <queue-name>
username: <username>
password: |-
<password>
For Digital.ai Deploy:
url: <queue-url>
queueName: <queue-name>
username: <username>
password: |-
<password>
driverClassName: <driver-class-name>
OIDC Configuration
Configuring OIDC is one of the steps in installing or upgrading Digital.ai Deploy or Release using the Operator-based installer.
Here's the available OIDC configuration options when you install or upgrade Digital.ai Deploy or Release.
- Use an existing OIDC authentication server such as Keycloak, Okta, Azure Active Directory (Office 365), and so on, if you have one.
- Integrate with the Digital.ai Platform's identity service.
- Use no OIDC authentication in favor of Digital.ai Deploy's or Release's native database-based local user authentication.
For more information, see:
- for Deploy: Select the Type of OIDC Configuration.
- for Release: Select the Type of OIDC Configuration.
PVC Size
Estimate the Persistent volume claim (PVC) size for Deploy, Release, PostgreSQL, and RabbitMQ. Check recommended sizing here:
Storage Class
- Selecting the storage class for Deploy, Release, Release Runner, PostgreSQL, and RabbitMQ servers is one of the steps in installing or upgrading Digital.ai Deploy or Release or Release Runner.
- Default storage classes are created in Kubernetes clusters that run Kubernetes version 1.22 or later.
- However, you can create your own storage classes that suit the quality-of-service or backup policies required for your site.