Introduction

This section provides an introduction to Kubernetes Operator as a custom installer to deploy Digital.ai Deploy.

Operator — An Overview

The Kubernetes Operator allows you to deploy the Digital.ai Docker image on various platforms. Before discussing how to install Deploy using Kubernetes Operator, let us go through a brief overview about the Operator.

What is an Operator?

Operator is a method of packaging, deploying, and managing Kubernetes application. In other words, operators perform the role similar to human operators who manage services and applications. Operators are Kubernetes software extensions that monitor a custom Kubernetes resource and enhances its functionality to manage complex application instances. Kubernetes Operators help in packaging, deploying, and managing a Kubernetes application on behalf of the Kubernetes user. A Kubernetes Operator follows the basic Kubernetes and controller concepts, but uses the application-specific knowledge to automate the management of the complete life cycle of an application.

Why Do We Need Kubernetes Operators?

Managing application deployments with native Kubernetes objects can be difficult when handling complex applications with changing requirements. Kubernetes operators help in simplifying complex deployments by automating tasks that otherwise requires manual intervention or some form of automation.

The following are the key features of a Kubernetes Operator:

  • Repeatable installation and upgrade methods on Kubernetes platforms
  • Performs health checks of all the system components
  • Records and redistributes the knowledge of field engineers to the Kubernetes users

Operators Versus Helm Charts

Helm Charts are packaging formats that automates and simplifies deployment and management of Digital.ai Deploy on a Kubernetes cluster. They also provide some additional features necessary for the functioning of your container clusters. Kubernetes operators include complex configuration data within their packages in addition to packaging applications. Helm Charts is useful when your requirement is to automate the deployment with the default configuration settings. However, Kubernetes Operators provide custom configurations with your regular deployment.

How does an Operator Work?

Operator is an application that monitors the resource and interacts with Kubernetes API to create (or update) deployment with the specified number of pod replicas. An operator transforms the applications you deploy into intelligent Kubernetes objects, which contains the domain-specific schema. The controller is encoded with the operational intelligence or domain-specific knowledge to maintain the desired state of the object. Operators combine customer resource definitions (CRD) and custom controllers to eliminate the need for manual intervention when performing tasks like upgrade, failure recovery handling, and when scaling complex stateful applications.

Operator Illustration

Helm-based Operator

Helm is the package manager for Kubernetes, and Operator SDK is the framework used to create Kubernetes Operator. Helm Charts simplify and automate the installation and management of Deploy solution. The operator SDK uses Helm Chart as input to create custom resource definition (CRD) and custom resource (CR).

Operator-SDK creates a project with the required folder structure for monitoring Deploy resource. The SDK also generates Role-based Access Control (RBAC) rules in daideploy_cr.yaml file based on the resources deployed by Helm chart’s default manifest file when generating the API.

Installing Deploy 22.0

Note: From Deploy 22.0, Keycloak is the default authentication manager for Deploy. Before installing Deploy 22.0, you must configure Keycloak as the default authentication manager for Digital.ai Deploy by configuring the OIDC parameters. For more information, see Configuring Keycloak as the Default Authentication Manager for Deploy.

You can install Deploy 22.0 using the Kubernetes Operator on the following platforms:

  • Amazon EKS
  • Azure Kubernetes Service (AKS)
  • Kubernetes On-premise
  • OpenShift cluster on Amazon EKS
  • OpenShift cluster on VMWare vSphere
  • Google Cloud Platform (GCP)

Upgrading to Deploy 22.0

Depending on whether you have an existing Deploy solution that is Helm Charts-based or Operator-based (Kubernetes Operator 10.2), you must choose the Helm to Operator or Operator to Operator upgrade option when upgrading to Deploy 22.0. You can upgrade to Deploy 22.0 using the Kubernetes Operator on the following platforms:

  • Amazon Elastic Container Service for Kubernetes (EKS)
  • Azure Kubernetes Service (AKS)
  • Kubernetes On-premise
  • OpenShift cluster on Amazon EKS
  • OpenShift cluster on VMWare vSphere
  • Google Cloud Platform (GCP)

Note:

  • Kubernetes Operator-based installer starts the Central Configuration as a standalone service by default. For more information about Central Configuration as a Standalone Service, see Central Configuration as a Standalone Service.
  • The Operator can only be deployed in the default namespace.