Quickstart: Amazon EKS

Amazon Elastic Container Service for Kubernetes (EKS) is Amazon Web Service’s hosted Kubernetes service.

An Amazon EKS cluster created using the official guide is suitable to run Ververica Platform, with a minor consideration regarding persistent volumes.

Persistent Volumes

For persistence on Amazon EKS, you must either create a default storage class to allocate EBS volumes or create your own PVCs for Ververica Platform and provide their names during installation.

To create a default storage class, follow the official documentation.

Quickstart

  1. First, follow the official guide until you have an EKS cluster and your worker nodes have joined the cluster.
  2. Create either a default storage class as detailed above or your own PVCs for use by Ververica Platform.
  3. Follow the Helm installation guide to finish installing Ververica Platform.

Best Practices

By default, Amazon EKS is launched with a custom Container Networking Plugin that pre-assigns secondary ip addresses to nodes for faster pod start-up time. The number of ip addresses pre-allocated per node, or warm ip addresses, depends on instance type. Users deploying large clusters, clusters comprised of large instance types, or clusters inside of shared VPC’s may notice an over-allocation of ip addresses. One common manifestation of this issue is Application Manager fails to deploy Flink jobs due to an insufficient number of ip addresses. If this becomes an issue you may consider reducing the number of warm ip addresses by setting WARM_IP_TARGET environment variable in your cluster configuration.

Amazon EKS CNI configurations can be edited by running:

$ kubectl edit ds/aws-node -n kube-system