Skip to main content
Version: 2.13

Kubernetes Operator Guide

A Kubernetes Operator is a Kubernetes native application controller that extends the Kubernetes API to manage and automate the deployment, configuration, and management of complex, stateful applications or services. The Kubernetes documentation provides a good overview of Operators.

Ververica Platform has introduced a custom Kuberbetes Operator that provides a Kubernetes native way of managing Deployments in Ververica Platform. The Operator is included in the Ververica Platform image and can be enabled as part of Platform configuration during installation or upgrade. A Ververica Platform instance can include one Operator.

Instead of managing Deployments through the Web UI and Ververica Platform API, the Ververica Platform Operator provides Kubernetes native management of Deployments.

It enables:

  • Managing Flink with kubectl and Helm.
  • Automating the CI / CD workflow.
  • Multi version support for easier upgrades.
  • Mirroring Job / Deployment events to Kubernetes, so they can be easily sent to monitoring platforms.

The Ververica Platform Kubernetes Operator is defined by the following resources:

  • Custom Resource Definition (CRD) -- A Kubernetes YAML manifest file, defines the Operator behaviour.
  • Custom Resource (CR) -- A resource that manages a Deployment in VVP.

The CRD ships with the Platform. The CR customises the configuration for a Platform instance.

You can think of the CRD as being like a class definition and the CR instance as being like an object that instantiates the class.

The following topic walks through the configuration details.