Skip to content

Instantly share code, notes, and snippets.

@aminmiri
Last active July 13, 2025 02:46
Show Gist options
  • Select an option

  • Save aminmiri/a92342e428c1139637d7eb9bd1281906 to your computer and use it in GitHub Desktop.

Select an option

Save aminmiri/a92342e428c1139637d7eb9bd1281906 to your computer and use it in GitHub Desktop.
EKS EBS CSI Driver Setup with Pod Identity
resource "aws_iam_role" "ebs_csi_driver" {
name = "${var.cluster_name}-ebs-csi-driver"
assume_role_policy = jsonencode({
Version = "2012-10-17",
Statement = [{
Sid = "AllowEksPodIdentityAgent"
Effect = "Allow"
Principal = {
Service = "pods.eks.amazonaws.com"
}
Action = ["sts:AssumeRole", "sts:TagSession"]
}]
})
}
resource "aws_iam_role_policy_attachment" "ebs_csi_driver" {
policy_arn = "arn:aws:iam::aws:policy/service-role/AmazonEBSCSIDriverPolicy"
role = aws_iam_role.ebs_csi_driver.name
}
resource "aws_eks_addon" "ebs_csi_driver" {
cluster_name = aws_eks_cluster.cluster.name
addon_name = "aws-ebs-csi-driver"
addon_version = "v1.45.0-eksbuild.2"
}
resource "aws_eks_pod_identity_association" "ebs_csi_driver" {
cluster_name = aws_eks_cluster.cluster.name
namespace = "kube-system"
service_account = "ebs-csi-controller-sa"
role_arn = aws_iam_role.ebs_csi_driver.arn
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment