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 服务账号运行特定步骤。这样,您无需直接访问资源即可触发部署流程。
如需创建新的服务账号,请按以下步骤操作:
控制台
前往服务账号页面。
向此服务账号授予对项目的访问权限。
向用户授予对此服务账号的访问权限。
- 添加可以通过服务账号运行部署的所有用户(包括您自己)的 ID。
- 分配 Service Account Token Creator 角色。如需详细了解此角色,请参阅服务账号角色。
如果您已有服务账号,请按以下步骤操作:
- 转到服务账号。
- 点击服务账号。
- 点击权限标签页。
- 点击授予访问权限。
- 添加可以通过服务账号运行部署的所有用户(包括您自己)的 ID。
- 分配 Service Account Token Creator 角色。
gcloud
使用以下命令通过 IAM 政策创建服务账号:
gcloud iam service-accounts create SERVICE_ACCOUNT \ --description="Service account for Cortex Framework Data Foundation deployment" \ --display-name="my-cortex-service-account"
使用以下命令将 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"
添加可以通过服务账号运行部署的所有用户(包括您自己)的 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
替换为部署的区域。如需详细了解支持的区域,请参阅地理位置和区域。