System Requirements
Hardware and software requirements for a self-managed Ververica Platform installation on Kubernetes, for the 2.x and 3.x lines.
On this page
This page lists what your environment needs before you install self-managed Ververica Platform on Kubernetes. Check it before you size a cluster or start an install. Requirements differ between the 2.x and 3.x lines, so each section states which line it applies to.
Hardware Requirements
Ververica Platform needs the following capacity available in your Kubernetes cluster. The minimum figures run the platform; the recommended figures give it room to work under sustained load.
The minimum figures come from installing and testing Ververica Platform. The recommended figures add the results of data plane load testing.
These figures cover the platform itself. The Flink jobs you run on it are sized separately, for each deployment. See Resource Sizing Guidance for JobManager and TaskManager sizing, slot density, and how to adjust from observed load. That guidance applies to both the 2.x and 3.x lines.
Software Requirements
Ververica Platform 3.x
- Kubernetes: version 1.24 to 1.34.
- Helm: version 3, with 3.8 or later recommended because the charts are published as OCI artifacts.
- Metadata database: MySQL (8.x) or MariaDB (10.x) with
lower_case_table_names=1set. Ververica Platform 3.1 and later also supports PostgreSQL (15.x). See PostgreSQL as Metadata Store for configuration details. - Blob storage: An S3-compatible object store such as AWS S3 or MinIO, or Azure Blob Storage.
- Default StorageClass: Required if you rely on dynamic Persistent Volume provisioning.
- RBAC: RBAC-enabled clusters are required. The chart creates the necessary roles by default (
rbac.create: true).
Ververica Platform 2.x
- Kubernetes: version 1.11 or later for 2.14 and 2.15. On OpenShift Container Platform, 3.11 or 4.1 and later.
- Helm: version 3.
- Metadata database: Ververica Platform stores its metadata over JDBC. The simplest setup uses
vvp.persistence.type: local, which keeps a SQLite database on a Kubernetes Persistent Volume Claim. For production, use a remote relational database: MariaDB or MySQL, PostgreSQL, Microsoft SQL Server, or Oracle Database. Remote database persistence requires Stream Edition or above. - Durable storage: Apache Flink writes periodic state snapshots to durable storage for fault tolerance and upgrades. Supported backends include NFS and the blob storage services of the major public cloud providers.
Do not put the SQLite database on a network-backed filesystem. A network partition might corrupt it. Use a dedicated remote relational database for production workloads.
Verify Your Environment
Before you install, confirm that your tooling reaches the cluster:
1kubectl get pods
2helm version
3helm listAll three commands should complete without an error.
Next Steps
Once your environment meets these requirements, follow Getting Started: Self-managed v3.x to install Ververica Platform 3.x with Helm. For the 2.x line, follow the Installation and Upgrades guide for your version.