Skip to main content
Version: Deploy 23.3

Plan Your Installation or Upgrade

You use the XL CLI's xl kube command to install or upgrade Digital.ai Deploy or Release or Remote 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 Remote 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 Remote 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 Remote Runner

You can install Digital.ai Deploy and Release on the following platforms:

  • Plain Multi-node Kubernetes Cluster On-premise versions 1.20-1.29 (1.29 is included from version 23.3.4)
    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.29 (1.29 is included from version 23.3.4)
    • Has storage class that supports RWO (for Deploy) and RWX (for Release) modes.

Docker Image Tags for Deploy, Release, and Remote 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.

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 Remote Runner on.
  • By default, Digital.ai Deploy, or Release, or Remote Runner are installed in the default namespace — digitalai.
  • However, you can choose to create and install Deploy or Release or Remote 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:

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, Remote Runner, PostgreSQL, and RabbitMQ servers is one of the steps in installing or upgrading Digital.ai Deploy or Release or Remote 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.