Deploy to EKS on AWS

Shepherd generated Helm charts can easily be deployed on EKS. To use some features of Kubernetes your cluster must comply with a few requirements.

Features

External and Internal Ingress

Externally facing ingress on EKS requires that the AWS Load Balancer Controller is installed on your cluster. If your cluster is already serving external traffic, it's possible that this controller is already installed. You can check by visiting the Pods tab of your EKS cluster dashboard and looking inside the kube-system namespace for the relevant pods.

EKS cluster with the AWS Load Balancer Controller installed.

Installing the Load Balancer Controller

If the cluster does not have the AWS Load Balancer Controller installed, follow the installation guide to provision the required resources.

Certificates for External Ingress

Shepherd Helm charts can automatically set up externally facing ingress with signed certificates on your domain. To set this up, add your certificate to the AWS Certificate Manager service. Once the certificate is added in AWS Certificate Manager, you can simply refer to the domain in the ingress.external.host field in your values-override.yaml file.

Persistent Volumes

To use persistent volumes, EKS needs to have a storage provisioner installed. Shepherd currently supports the EBS Container Storage Interface Driver, which allows pods to use Elastic Block Storage.

To use this feature, the EBS Container Storage Driver must be installed on your cluster. You can check whether the driver is installed by visiting the Pods tab of your EKS cluster and looking inside the kube-system namespace for the relevant pods.

EKS cluster with the EBS Container Storage Driver installed.

Installing the Driver

The easiest way to is to install the driver via the EKS web dashboard. Visit the add-ons page from your cluster dashboard. Follow the AWS provided installation guide to add this driver to your cluster.

Last updated