상세 컨텐츠

본문 제목

테라폼으로 eks 구축하기

Iac

by drogva 2024. 3. 31. 23:31

본문

ebs-csi-add-on.tf

module "ebs_csi_irsa" {
  source  = "terraform-aws-modules/iam/aws//modules/iam-role-for-service-accounts-eks"

  role_name = "ebs-csi"
  attach_ebs_csi_policy = true

  oidc_providers = {
    main = {
      provider_arn               = module.eks.oidc_provider_arn
      namespace_service_accounts = ["kube-system:ebs-csi-controller-sa"]
    }
  }
}

resource "aws_eks_addon" "ebs-csi" {
  cluster_name             = module.eks.cluster_name
  addon_name               = "aws-ebs-csi-driver"
  
  service_account_role_arn = module.ebs_csi_irsa.iam_role_arn
  tags = {
    "eks_addon" = "ebs-csi"
    "terraform" = "true"
  }
}

 

 

이것도 로드밸런서 컨트롤러와 마찬가지이다. irsa 를 생성하고 생성한 eks 계정과 역할을 연결하는 것인데 

  service_account_role_arn = module.ebs_csi_irsa.iam_role_arn  성격이 다르다. 왜냐하면 ebs-csi 는 aws 내부 리소스 이기 때문에 eks 내부에 sa 와  ebs-csi role 을 매핑 해주는 것이기 때문이다.

 

생성된 eks

eks ebs-csi 계정에 주석이 달린 모습니다. ebs-csi 역할이 부착되어있다. 

 

aws-load-balancer 컨트롤러와 역할이 제대로 동작하는 모습이다.

 

만들어본  테라폼 - eks :  drogva/terraform-eks-self-made- (github.com)

관련글 더보기