首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Terraform dataproc群集设置问题

Terraform dataproc群集设置问题
EN

Stack Overflow用户
提问于 2020-03-06 14:55:29
回答 1查看 792关注 0票数 2

我正试图通过terraform在GCP中建立一个私有的dataproc集群(1M,2w)。它还应该需要可选的组件,如docker、anaconda和jupyter。以下是我关心的问题,

  1. I试图在software_config下面添加image_version和optional_components,这是可行的吗?

代码语言:javascript
复制
    software_config {

      image_version = "1.4.21-debian9"
      override_properties = {
        "dataproc:dataproc.allow.zero.workers"          = "true"
      }
      optional_components = [ "DOCKER", "ANACONDA", "JUPYTER" ]
    }       

  1. 如果上面不可行的话,是使用initialize_actions是我唯一的选择,如下面?

代码语言:javascript
复制
    initialization_action {
      script      = "gs://dataproc-initialization-actions/conda/install-conda-env.sh"
      timeout_sec = 500
      }

  1. 如何将权限/密钥分配给正在通过terraform旋转的节点。这样,一旦配置好,用户就可以访问节点。我尝试如下所示,

代码语言:javascript
复制
    gce_cluster_config {
      tags    = ["env", "test"]
      network = "${google_compute_network.dp-network.name}"
      internal_ip_only = true
      service_account = "name@name.iam.gserviceaccount.com"
    }

感谢你的投入,

谢谢!

更新:我可以在没有可选组件的情况下旋转一个集群-- software_config中指定的组件。但如果我这样做了,那么它是失败的一个错误,并要求我报告它的错误。

代码语言:javascript
复制
gce_cluster_config {
      network               = "${google_compute_network.dataproc-network.name}"
      internal_ip_only      = true
      tags                  = ["env", "staging"]
      zone                  = "${var.zone}"
      service_account       = "${var.service_account}"
      service_account_scopes= [
        "https://www.googleapis.com/auth/monitoring",
        "useraccounts-ro",
        "storage-rw",
        "logging-write",
      ]
    }

    # We can define multiple initialization_action blocks    
    initialization_action {
      script      = "gs://dataproc-initialization-actions/stackdriver/stackdriver.sh"
      timeout_sec = 500
    }
    initialization_action {
      script      = "gs://dataproc-initialization-actions/jupyter/jupyter.sh"
      timeout_sec = 500 
    }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-03-06 19:24:51

不管是1还是2都可以。可能发生的情况是,Dataproc的与API不同步,因此请按照错误的建议提交错误。

对于第三种情况,这里有点混乱--让我来澄清一下。当您授予用户IAM绑定时,用户将可以访问资源(集群)。这与创建群集的方式无关。EditorDataproc Editor或自定义角色将允许它们与集群交互。

设置internal_ip_only是一个很好的举措,因为这使得集群无法从公共internet访问,但这也意味着对单个节点的gcloud compute ssh将无法工作。

最后,任何具有与群集交互权限的用户都具有与服务帐户本质上相同的权限。本文解释了这个https://cloud.google.com/dataproc/docs/concepts/iam/dataproc-principals

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60566567

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档