Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[EKS] EKS add-ons support for Amazon EBS CSI Driver #247

Closed
leakingtapan opened this issue Apr 14, 2019 · 20 comments
Closed

[EKS] EKS add-ons support for Amazon EBS CSI Driver #247

leakingtapan opened this issue Apr 14, 2019 · 20 comments
Labels
EKS Amazon Elastic Kubernetes Service

Comments

@leakingtapan
Copy link

leakingtapan commented Apr 14, 2019

EBS CSI driver installed on EKS clusters by default.

@leakingtapan leakingtapan changed the title Install AWS EBS CSI Driver as Part of EKS cluster creation [EKS] Install AWS EBS CSI Driver as Part of EKS cluster creation Apr 15, 2019
@tabern tabern added the EKS Amazon Elastic Kubernetes Service label Apr 18, 2019
@aviau
Copy link

aviau commented May 8, 2020

How is this going to work for customers that have installed the CSI driver manually?

Also, is it going to manage updates automatically?

@tabern
Copy link
Contributor

tabern commented Nov 15, 2020

This will be solved by a feature release following #252

@mikestef9
Copy link
Contributor

Changing the title, as we will not be auto installing EBS CSI driver as part of cluster creation. Rather, we will add EBS CSI driver to EKS add-ons, so you can declare to have it installed as part of cluster creation through the add-ons system.

@mikestef9 mikestef9 changed the title [EKS] Install AWS EBS CSI Driver as Part of EKS cluster creation [EKS] EKS add-ons support for Amazon EBS CSI Driver Apr 21, 2021
@youwalther65
Copy link

youwalther65 commented Oct 26, 2021

An external CSI snapshotter with corresponding CRD, ValidatingWebhook etc. still has to be installed by customers or it is includes as well?

@SamuelBagattin
Copy link

It would be really useful. Currently there is, in my opinion, no clean way to deploy the CSI snapshotter with the corresponding CRDs. The only way for now is to apply the required manifests. There is not even an official helm chart to handle resources and CDRs creation.

@stevehipwell
Copy link

stevehipwell commented Dec 14, 2021

@SamuelBagattin you shouldn't use Helm to install CRDs (more details).

@MichaelHauss
Copy link

MichaelHauss commented Dec 14, 2021

The EBS CSI Driver is now available in EKS add-ons in preview while we work on the following enhancements:

  1. Dynamic snapshotting and resizing of EBS volumes via the Kubernetes API
  2. Automatically setting the k8s-tag-cluster-id parameter to maintain backwards compatibility with the in-tree EBS driver
  3. Windows support
  4. Managed IAM policy to help you create IRSA roles for the add-on to use

Check out the announcement and the documentation to get started. Feel free to leave feedback here.

@MichaelHauss
Copy link

The EBS CSI driver is now available in EKS add-ons in GA! Checkout the announcement https://aws.amazon.com/about-aws/whats-new/2022/03/eks-add-ons-ebs-csi-driver-available/

@nuriel77
Copy link

nuriel77 commented Apr 1, 2022

Thank you! Great work.

I must admit, I was expecting that the add-on would also take care of the role creation when oidc is enabled for the cluster.
Same for the up-coming AWS lb controller: #1162

Should I create a new issue requesting for this feature?

@GrigorievNick
Copy link

I have question, and I am not sure where is best way to ask it.
So leave it here.
What is the best way to set up tags or other properties with this add-on?

@youwalther65
Copy link

@GrigorievNick The tagging feature will be implemented in AWS EBS CSI v1.6.0 and it will enable you to tag underlying EBS volumes by making use of StorageClass attributes. v1.6.0 will be eventually used for the managed EKS add-on as well , currently it uses v1.5.1

@GrigorievNick
Copy link

@youwalther65 ok, can I modify https://github.com/kubernetes-sigs/aws-ebs-csi-driver#tagging -> extra-key When ebs-driver managed as add-on?

@youwalther65
Copy link

youwalther65 commented Apr 21, 2022

@GrigorievNick No, you can't change the container arguments for the sidecar "ebs-plugin" in managed EKS add-on because those are managed by AWS. You can verify all the managed fields owned by EKS using:
$ k get deploy -n kube-system --show-managed-fields ebs-csi-controller -o yaml
...
metadata:
...
managedFields
..

For more insides please look at EKS add-on documentation and server-side apply in K8s

So you either have to wait for 1.6.0 and use the StorageClass to set additional tags or use the self-managed Helm based installation where you can set them using a values.yaml which contains:
controller:
extraVolumeTags:
your-key1: your-value1

@GrigorievNick
Copy link

@youwalther65 So can I propagate tags right now, some how?
Or I need wait until EKS add-on for EBS Driver will support 1.6.0 version.

@youwalther65
Copy link

@GrigorievNick: You can propagate tags right now only using the Helm chart and modifying the controller ebs-csi container args but NOT using the managed EKS add-on.

@GrigorievNick
Copy link

Thanks for help @youwalther65 . Do there is any open to community roadmap for ebs add-on on eks?

@youwalther65
Copy link

@GrigorievNick You can raise an issued for EKS add-on on AWS public containter roadmap

@mikestef9
Copy link
Contributor

EBS CSI driver version 1.6 is now available through EKS add-ons, which supports tagging through Storage Classes.

@GrigorievNick
Copy link

GrigorievNick commented Oct 11, 2022 via email

@vstthomas
Copy link

For anyone that comes after; I just installed like this:

module "eks_blueprints_addons" {
  source  = "aws-ia/eks-blueprints-addons/aws"
  version = "~> 1.12.0" #ensure to update this to the latest/desired version

  # Any addon from "add-ons from Amazon EKS" can be added to the below block
  # https://docs.aws.amazon.com/eks/latest/userguide/eks-add-ons.html#workloads-add-ons-available-eks
  eks_addons = {
    aws-ebs-csi-driver = {
      most_recent              = true
      service_account_role_arn = module.ebs_csi_driver_irsa.iam_role_arn
    }
    snapshot-controller = {
      most_recent = true
    }
  }
...
}

I hope this helps the next person 😄

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
EKS Amazon Elastic Kubernetes Service
Projects
None yet
Development

No branches or pull requests