Cloud Build 特性

本页介绍了一些可选配置,可让您使用 Cloud Build 功能构建 Cortex Framework Data Foundation,例如创建服务账号、在特定区域构建或使用专用工作器池。这些配置在数据隐私性、性能、安全性和自定义方面具有显著优势。最佳方法取决于您的具体要求和应用的性质。

使用用户创建的服务账号进行部署

您可以通过添加替换参数 _BUILD_ACCOUNT 来通过服务账号运行部署。

  gcloud builds submit \
    --config=./cloudbuild.yaml \
    --substitutions=_GCS_BUCKET=<BUCKET_FOR_LOGS>, \
    _BUILD_ACCOUNT='projects/SOURCE_PROJECT/serviceAccounts/SERVICE_ACCOUNT@SOURCE_PROJECT.iam.gserviceaccount.com'

替换以下内容:

  • BUCKET_FOR_LOGS 替换为日志的存储分区名称。
  • SERVICE_ACCOUNT 替换为 Cortex Framework Data Foundation 部署的服务账号。
  • SOURCE_PROJECT 与 Cortex Framework Data Foundation 部署的源项目。

此服务账号会触发 Cloud Build 作业,该作业会通过 Cloud Build 服务账号运行特定步骤。这样,您无需直接访问资源即可触发部署流程。

如需创建新的服务账号,请按以下步骤操作:

控制台

  1. 前往服务账号页面。

    服务账号

  2. 向此服务账号授予对项目的访问权限。

  3. 向用户授予对此服务账号的访问权限。

    1. 添加可以通过服务账号运行部署的所有用户(包括您自己)的 ID。
    2. 分配 Service Account Token Creator 角色。如需详细了解此角色,请参阅服务账号角色

如果您已有服务账号,请按以下步骤操作:

  1. 转到服务账号
  2. 点击服务账号
  3. 点击权限标签页。
  4. 点击授予访问权限
    1. 添加可以通过服务账号运行部署的所有用户(包括您自己)的 ID。
    2. 分配 Service Account Token Creator 角色。

gcloud

  1. 使用以下命令通过 IAM 政策创建服务账号:

    gcloud iam service-accounts create SERVICE_ACCOUNT \
        --description="Service account for Cortex Framework Data Foundation deployment" \
        --display-name="my-cortex-service-account"
    
  2. 使用以下命令将 IAM 政策添加到您的 Google Cloud 项目:

    gcloud projects add-iam-policy-binding SOURCE_PROJECT \
    --member="serviceAccount:SERVICE_ACCOUNT@SOURCE_PROJECT.iam.gserviceaccount.com" \
    --role="roles/cloudbuild.builds.editor"
    
  3. 添加可以通过服务账号运行部署的所有用户(包括您自己)的 ID,并使用以下命令为他们分配 Service Account Token Creator 角色:

      gcloud iam service-accounts add-iam-policy-binding SERVICE_ACCOUNT\
      --member="user:USER_EMAIL" \
      --role="roles/iam.serviceAccountTokenCreator"
    

    替换以下内容:

    • SERVICE_ACCOUNT,表示 Cortex Framework Data Foundation 部署的服务账号。
    • SOURCE_PROJECT 与 Cortex Framework Data Foundation 部署的源项目。
    • USER_EMAIL 替换为执行操作的用户的电子邮件地址。

在特定区域构建

区域性构建可确保您的数据保留在特定地理区域内。这有助于您遵守当地数据隐私保护法规,提高可用性并缩短延迟时间。如需了解详情,请参阅 Cloud Build 位置

如需通过特定区域运行部署,请使用 --region bash 参数添加替换参数 _CLOUD_BUILD_REGION,如以下命令所示:

gcloud builds submit \
  --config=./cloudbuild.yaml \
  --substitutions=_GCS_BUCKET=BUCKET_FOR_LOGS,_CLOUD_BUILD_REGION=REGION \
  --region=REGION

替换以下内容:

  • BUCKET_FOR_LOGS 替换为日志的存储分区名称。
  • REGION 替换为部署的区域。如需详细了解支持的区域,请参阅地理位置和区域

使用专用工作器池进行构建

使用专用工作器池可为您的构建提供更安全的环境。专用池是专用的工作器池,可让您对构建环境进行自定义,包括访问专用网络中资源的功能。如需了解详情,请参阅专用池概览

如需配置专用工作器,请添加带有相应 _CLOUD_BUILD_REGION 参数的 _WORKER_POOL_NAME,如以下命令所示:

gcloud builds submit \
  --config=./cloudbuild.yaml
  --substitutions=_GCS_BUCKET=BUCKET_FOR_LOGS,_WORKER_POOL_NAME='projects/SOURCE_PROJECT/locations/us-central1/workerPools/YOUR_WORKER_POOL_NAME',_CLOUD_BUILD_REGION=REGION \
  --region=REGION

替换以下内容:

  • BUCKET_FOR_LOGS 替换为日志的存储分区名称。
  • SOURCE_PROJECT 与 Cortex Framework Data Foundation 部署的源项目。
  • YOUR_WORKER_POOL_NAME 替换为工作器池的名称。
  • REGION 替换为部署的区域。如需详细了解支持的区域,请参阅地理位置和区域