Amazon has made the Kubernetes distribution underlying EKS available to run in other environments outside EKS. Because of this, it's now possible to run an application in an identical Kubernetes environment, regardless of whether or not it is hosted within AWS. Starting with release 2.4.2, WKP supports creating clusters running EKS-D.
The current EKS-D support in WKP is considered experimental and is thus hidden behind an experimental feature flag. In order to enable the feature, you need to set the corresponding flag to 'true'. If there is no
experimentalFeatures section yet in your
setup/config.yaml file, add it below the
Once the feature is enabled, you need to specify threee other things in
- kubernetes version 1.18.9 (the only version currently supported for EKS-d)
- the cni (EKS-D expects to run with cilium, while WKP defaults to weave)
- the "flavor" (which variety of Kubernetes to run in the cluster)
cni field, if present, should contain a bash script that will install the specified CNI (cilium, for EKS-D).
flavor field contains two values:
- the flavor name (currently, the only supported flavor is 'eks-d')
- the URL of the manifest that describes the flavor artifacts. This manifest follows the schema that Amazon uses to describe the eks-d distribution. The CRD defining the schema can be found here: https://distro.eks.amazonaws.com/releases/v1-18-eks-1/.
With the snippet above added to your
config.yaml, you can create clusters running EKS-D.
There are two limitations on our initial WKP EKS-D support, both derived from EKS-D limitations:
- EKS-D is only supported for Kubernetes 1.18.9 at the moment (at the present time, amazon only provides 1.18.9)
- EKS-D clusters cannot currently be upgraded (a result of the first limitation)
- The operating system kernel for the machines in the cluster must be >= 4.10 (this means that CentOS 7 will not work)