Install AWS EBS CSI Driver

This page explains steps by step instruction to install the AWS EBS CSI driver on AWS EKS cluster.

A CSI driver with snapshotting capability is a requirement for T4K to function properly. It has been discovered that in the Fall of 2022, the snapshot controller has been removed from the AWS EBS CSI driver install process. In addition, CSI is not installed by default with the creation of an EKS cluster so a customer will have to add this CSI support manually after the creation of an EKS cluster.

The instructions are validated for AWS EKS v 1.21, 1.22, and 1.23.

Getting Started with AWS CLI and EKS Cluster deployment:

  1. Once you have an existing EKS cluster user with eks-admin privileges then fetch the kubeconfig file of the cluster

    aws eks update-kubeconfig --region us-east-1 --name sa-eks-cluster-1

Add CSI driver:

  1. Install the AWS EBS CSI Driver through Amazon EKS Add-on. You can follow the below step-by-step instruction with commands:

  2. Get OIDC endpoint:

    aws eks describe-cluster \
      --name sa-eks-cluster-1 \
      --query "cluster.identity.oidc.issuer" \
      --output text
  3. The output will show the OIDC endpoint:

    sa-eks-cluster-1
    https://oidc.eks.us-east-1.amazonaws.com/id/A357D6680CACC3FE811997EAE0BEDDCD

To create an IAM OIDC identity provider for your cluster with the AWS Management Console

  1. In the left pane, select Clusters, and then select the name of your cluster on the Clusters page.

  2. In the Details section on the Overview tab, note the value of the OpenID Connect provider URL.

  3. Open the IAM console at https://console.aws.amazon.com/iam/

  4. In the left navigation pane, choose Identity Providers under Access management. If a Provider is listed that matches the URL for your cluster, then you already have a provider for your cluster. If a provider isn't listed that matches the URL for your cluster, then you must create one.

  5. To create a provider, choose Add provider.

  6. For Provider type, select OpenID Connect.

  7. For Provider URL, enter the OIDC provider URL for your cluster, and then choose Get thumbprint.

  8. For Audience, enter sts.amazonaws.com and choose Add provider.

Create role with policy:

  1. Get OIDC provider for cluster:

  2. The output will show the OIDC endpoint with region name:

  3. Create role JSON file to be applied with AWS CLI

  4. Change the AWS account number, OIDC provider URL and region code as per the EKS cluster deployment.

  5. Create Role by applying role ISON file with AWS CLI:

  6. Attach above created role to Amazon EBS CSI policy

  7. Adding the Amazon EBS CSI add-on:

  8. Add ebs-sc storage class, example pod and PVC using a CSI volume:

  9. Change default StorageClass to ebs-sc:

  10. Add VolumeSnapshot CRDs and Snapshot Controller:

  11. With all above steps, EBS CSI driver with VolumeSnapshot capability is installed.

Validate the EBS driver installation

If T4K Preflight plugin is not already installed, follow the instructions here

Install and run the T4K preflight plugin:

Last updated

Was this helpful?