Google cloud dataflow 数据流工作者的图像约束';启动映像

Google cloud dataflow 数据流工作者的图像约束';启动映像,google-cloud-dataflow,Google Cloud Dataflow,我尝试使用“Pub/subtopictobigquery”模板设置数据流作业。我的组织有一个适当的图像约束策略。根据映像约束的文档(),GCP服务使用的任何映像都不应受到这些约束的影响。然而,数据流工作人员未能启动,原因是图像约束。在这种情况下,设置图像约束的正确方法是什么 这就是错误的样子- { insertId: "qnh47fd17tx" labels: { dataflow.googleapis.com/job_id: "job_id&qu

我尝试使用“Pub/subtopictobigquery”模板设置数据流作业。我的组织有一个适当的图像约束策略。根据映像约束的文档(),GCP服务使用的任何映像都不应受到这些约束的影响。然而,数据流工作人员未能启动,原因是图像约束。在这种情况下,设置图像约束的正确方法是什么

这就是错误的样子-

   {
 insertId: "qnh47fd17tx"  
 labels: {
  dataflow.googleapis.com/job_id: "job_id"   
  dataflow.googleapis.com/job_name: "job_name"   
  dataflow.googleapis.com/region: "us-central1"   
 }
 logName: "projects/app/logs/dataflow.googleapis.com%2Fjob-message"  
 receiveTimestamp: ""  
 resource: {
  labels: {
   job_id: ""    
   job_name: ""    
   project_id: ""    
   region: "us-central1"    
   step_id: ""    
  }
  type: "dataflow_step"   
 }
 severity: "ERROR"  
 textPayload: "Workflow failed. Causes: Step "setup_resource_disks_harness50" failed., Step setup_resource_disks_harness50: Set up of resource disks_harness failed, Unable to create data disk(s)., Unknown error in operation 'operation-1600084247324-5af44a52c2574-7f195f5c-376e0b61': [CONDITION_NOT_MET] 'Constraint constraints/compute.trustedImageProjects violated for project getmega-app. Use of images from project dataflow-service-producer-prod is prohibited.'."  
 timestamp: ""  
}

由于您的项目正在使用映像约束,因此您还可以配置受信任的映像策略。因此,只有来自该项目的资源才允许在您的组织内启动VM

但是,Google Cloud Dataflow和Datalab等服务使用其他Google项目的图像在VPC内创建虚拟机,这意味着您在启动数据流模板作业时可能会遇到错误。通过向受信任的项目映像中添加几个项目,可以轻松克服这一问题。详情如下:

使用gcloud

1-为您的项目获取现有策略

2-在文本编辑器中打开policy.yaml文件。您应该看到一个文件,如下所示:

constraint: constraints/compute.trustedImageProjects
listPolicy:
  allowedValues:
    - projects/debian-cloud
    - projects/cos-cloud
  deniedValues:
    - projects/unwanted-images
3-通过添加以下项目修改compute.trustedImageProjects约束:

请注意,我已经添加了Google services可能用于检索/启动服务的所有项目。在您的特定情况下,只需添加
项目/dataflowserviceproducerprod
就足够了

4-将policy.yaml文件应用于项目

执行这些操作后,您将能够启动模板化数据流作业。最后,您可以使用控制台添加第3步中指定的项目,如中所述


注意:在共享可能包含项目id或工作id等个人信息的日志时要小心。这些信息不应公开披露。

为了进一步调查,能否将日志中显示的错误粘贴到此处?包括错误日志@AlexandreMoraes
constraint: constraints/compute.trustedImageProjects
listPolicy:
  allowedValues:
    - projects/debian-cloud
    - projects/cos-cloud
  deniedValues:
    - projects/unwanted-images
projects/cos-cloud
projects/dataflow-service-producer-prod
projects/serverless-vpc-access-images
projects/windows-cloud 
gcloud beta resource-manager org-policies set-policy \
--project [PROJECT_ID] policy.yaml