Data/Data Engineering
[Terraform] EKS iam terraform 배포시 "The configmap "aws-auth" does not exist" 에러 해결 방법
재융
2022. 5. 13. 12:22
반응형
Terraform을 활용하여 EKS의 권한관련 IAM를 설정할때 아래와같이 코드를 추가하면 설정할수가있다
https://registry.terraform.io/modules/terraform-aws-modules/eks/aws/latest
# aws-auth configmap
manage_aws_auth_configmap = true
aws_auth_roles = [
{
rolearn = "arn:aws:iam::66666666666:role/role1"
username = "role1"
groups = ["system:masters"]
},
]
aws_auth_users = [
{
userarn = "arn:aws:iam::66666666666:user/user1"
username = "user1"
groups = ["system:masters"]
},
{
userarn = "arn:aws:iam::66666666666:user/user2"
username = "user2"
groups = ["system:masters"]
},
]
다만, 배포를 하려고하면 아래와같이 에러문이 뜨게된다...
해석하자면 kube-systemdp 있는 aws-auth를 인식못하는것같다.
해결방법을 찾아보니 아래와같이 github issue에도 동일한 현상을 겪는사람들이 있었고
https://github.com/terraform-aws-modules/terraform-aws-eks/issues/2009
결론적으로는 아래와같이 코드를 추가하니 해결이 되었다
# Error handling with "The configmap "aws-auth" does not exist"
# https://github.com/terraform-aws-modules/terraform-aws-eks/issues/2009
data "aws_eks_cluster" "default" {
name = module.eks.cluster_id
}
data "aws_eks_cluster_auth" "default" {
name = module.eks.cluster_id
}
provider "kubernetes" {
host = data.aws_eks_cluster.default.endpoint
cluster_ca_certificate = base64decode(data.aws_eks_cluster.default.certificate_authority[0].data)
token = data.aws_eks_cluster_auth.default.token
}
반응형