我正在尝试通过 Terraform 蓝图在 eks 上添加 emr,
我添加了以下创建成功添加蓝图面的内容:
module "emr-blueprint" {
source = "github.com/aws-ia/terraform-aws-eks-blueprints//modules/emr-on-eks/?ref=v4.31.0"
eks_cluster_id = module.eks-oc.cluster_name
emr_on_eks_teams = {
emr = {
namespace = "emr"
job_execution_role = "emr-job-execution-role"
}
}
tags = {}
}
即使这是成功的,我也可以看到它创建的角色等。它不会创建一个名为
emr
的名称空间,但会创建一个名为emr-on-eks-spark
的空名称空间
然后我通过以下方式创建一个虚拟集群:
resource "aws_emrcontainers_virtual_cluster" "emr" {
name = "${local.full_name}-emr"
container_provider {
id = data.aws_eks_cluster.eks.id
type = "EKS"
info {
eks_info {
namespace = "emr"
}
}
}
}
何时产生错误:
Error: creating EMR Containers Virtual Cluster (oc-dev-data-science-emr): ValidationException: Unauthorized to perform read namespace on emr
│
│ with module.oc-aws-data-science.aws_emrcontainers_virtual_cluster.emr,
│ on ../../emr2.tf line 1, in resource "aws_emrcontainers_virtual_cluster" "emr":
│ 1: resource "aws_emrcontainers_virtual_cluster" "emr" {
我认为这可能是因为名称空间不存在,我需要创建它,但即使这样做并重新运行仍然会导致相同的错误。
任何想法如何解决?