Plan Your Kubernetes Installation or Upgrade
You use the XL CLI's xl kube command to install or upgrade Digital.ai Deploy. For more information, see XL Kube Command Reference.
It is highly recommended to review the xl kube workshop for a comprehensive understanding of installing or upgrading Digital.ai Deploy on a Kubernetes cluster and its benefits.
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 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.
Supported Cloud Platforms to Install Digital.ai Deploy
You can install Digital.ai Deploy on the following platforms:
-
Plain Multi-node Kubernetes Cluster On-premise versions 1.35
noteYou can install Deploy in both online and air-gapped modes. See Install Deploy or Release—On-premise Kubernetes for more information.
-
OpenShift on AWS
-
OpenShiftCertified
-
Amazon EKS
-
Google GKE
-
Azure AKS
noteDeploy installation is supported on any flavor of Openshift that meets the following criteria:
- Kubernetes server versions 1.35
- Storage class supports RWO mode.
Docker Image Tags for Deploy
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 . However, here are the Docker Hub links to verify all the available image tags.
- Digital.ai Deploy Operator Image
- Digital.ai Deploy Image
- Digital.ai Deploy Task Engine Image
- Digital.ai Deploy Central Configuration Image
- For third-party images, such as those from Bitnami for Ingress, PostgreSQL, or RabbitMQ, you may use the latest supported versions instead of the default ones, as they may have fewer vulnerabilities. However, it is recommended to use the default image tags suggested during installation. Using the default image versions for each installation ensures compatibility and helps prevent issues during upgrades.
- The PostgreSQL database provided with the Bitnami Helm chart is upgraded to version 17.6.
- Deprecation Notice: Starting with Deploy 25.3, Bitnami Helm charts are deprecated and will be completely removed from installation options in later versions. This affects Kubernetes Operator installations that rely on Bitnami-provided PostgreSQL and other services. All installations that depend on the Bitnami Helm charts will remain available through Deploy 25.3, but without image patch upgrades. It is recommended to plan for the migration to external databases or alternative deployment methods for production environments before upgrading. See Bitnami Secure Images Breaking Changes for Kubernetes Operator.
Image Registry Configuration
During installation, it is critical to provide accurate image registry details. Default values in the installation manifests may not always be correct or accessible in your environment.
Multi-Registry Requirements
Required images for Digital.ai Deploy are distributed across multiple container registries:
gcr.io- Google Container Registry (kube-rbac-proxy and other Kubernetes components)docker.io- Docker Hub (Deploy images and various third-party images)quay.io- Red Hat Quay (operator images)
Ensure your environment has access to all required registries, or configure a local mirror/proxy registry.
Prerequisites for Registry Access
Before installation, verify:
- Network access to all required registries
- Authentication credentials (if using private registries)
- Image pull secrets configured in your cluster (if required)
- Firewall rules allow access to external registries
Configuring Custom Registry Images
If you need to use a private or mirror registry, you configure the image registry through the Custom Resource (CR) during installation using the xl kube install command. The installer will prompt you to select the type of image registry and provide the necessary details.
For detailed instructions on setting up and using a custom image registry, see Setup Custom Image Registry.
Creating Image Pull Secrets
If your registry requires authentication, create an image pull secret:
kubectl create secret docker-registry regcred \
--docker-server=my-registry.example.com \
--docker-username=myuser \
--docker-password=mypassword \
--docker-email=myemail@example.com \
--namespace=digitalai
For air-gapped or restricted environments, see Install or Upgrade Deploy on an Air-gapped Environment for more information.
Deploy and Server Replicas
- For Deploy, you must estimate the number of master and worker 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:
Kubernetes Namespace
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, on.
- By default, Digital.ai Deploy, are installed in the default namespace —
digitalai. - However, you can choose to create and install Deploy, 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:
- ingress-nginx-controller [Ingress NGINX controller (experimental/non-production)]. See Experimental Support for External Operators.
- nginx [NGINX Ingress Bitnami Helm Chart (deprecated)].
- haproxy [HAProxy Helm Chart (deprecated)].
- 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 UI.
- Create a domain name and keep it handy for use during the Digital.ai Deploy installation or upgrade.