创建和管理部署

适用于 Apache Flink 的 BigQuery 引擎部署是用于运行 Apache Flink 作业的专属独立环境。该部署包含运行作业所需的计算资源,以及用于管理作业的配置。如需详细了解 Apache Flink 部署,请参阅 Apache Flink 文档中的部署部分。

必需的 API

若要创建和管理适用于 Apache Flink 的 BigQuery 引擎部署,您必须启用适用于 Apache Flink 的 BigQuery 引擎和 Compute Engine API。

gcloud services enable managedflink.googleapis.com compute.googleapis.com

所需的角色和权限

本部分介绍了管理部署所需的角色。如需详细了解适用于 Apache Flink 的 BigQuery Engine 角色,请参阅 适用于 Apache Flink 的 BigQuery Engine 预定义角色

创建、更新和删除

如需获得创建、更新和删除部署所需的权限,请让管理员向您授予项目的 Managed Flink Admin (roles/managedflink.admin) IAM 角色。 如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限

此预定义角色包含创建、更新和删除部署所需的权限。如需查看所需的确切权限,请展开所需权限部分:

所需权限

如需创建、更新和删除部署,您需要具备以下权限:

  • 创建部署: managedflink.deployments.create
  • 更新部署: managedflink.deployments.update
  • 删除部署: managedflink.deployments.delete

您也可以使用自定义角色或其他预定义角色来获取这些权限。

获取和列出

如需获得检索部署相关信息和列出部署所需的权限,请让管理员向您授予项目的 Managed Flink Viewer (roles/managedflink.viewer) IAM 角色。 如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限

此预定义角色包含检索部署相关信息和列出部署所需的权限。如需查看所需的确切权限,请展开所需权限部分:

所需权限

如需检索部署的相关信息并列出部署,您需要具备以下权限:

  • 获取有关部署的详细信息: managedflink.deployments.get
  • 列出部署: managedflink.deployments.list

您也可以使用自定义角色或其他预定义角色来获取这些权限。

部署的属性

创建适用于 Apache Flink 的 BigQuery 引擎部署时,您必须指定以下属性。

部署 ID

您正在创建的适用于 Apache Flink 的 BigQuery 引擎部署的名称或 ID。 您可以修改部署的显示名称,但无法修改部署 ID。

项目 ID

您要创建的部署的 Google Cloud 项目的 ID。您的部署将在您指定的项目中创建。如需了解 Google Cloud 项目 ID 和项目编号,请参阅识别项目

位置

您要创建部署的位置。该位置必须是受支持的 Google Cloud 区域之一。您无法更改部署的位置。如需查看可用位置的列表,请参阅 适用于 Apache Flink 的 BigQuery 引擎位置

虚拟私有云网络

虚拟私有云(VPC) 网络是物理网络的虚拟版本,在 Google 的生产网络内部实现。VPC 有时称为“网络”,可为项目中的资源提供连接。如需详细了解 VPC,请参阅 VPC 网络概览。如需详细了解如何为适用于 Apache Flink 的 BigQuery 引擎部署指定网络,请参阅指定网络和子网

虽然 default 网络具有允许部署运行作业的配置,但出于安全考虑,我们建议您为适用于 Apache Flink 的 BigQuery 引擎创建单独的网络。default 网络不安全,因为它预先填充了一些允许连接传入实例的防火墙规则。

  • 您可以使用网络参数在项目中选择自动模式 VPC 网络

  • 您只能使用网络名称来指定网络,而不能通过完整的网址来指定网络。

子网

使用子网名称指定子网。

创建部署

如需创建部署,请按以下步骤操作。创建部署后,您可以在部署中运行作业。如需了解详情,请参阅在现有部署中创建作业

首次在项目或子网中创建部署或按需作业时,创建过程可能需要 30 分钟或更长时间才能完成。之后,创建新的部署或作业所需的时间会缩短。

gcloud

如需使用 gcloud CLI 创建部署,请使用 gcloud alpha managed-flink deployments create 命令。

gcloud alpha managed-flink deployments create DEPLOYMENT_ID \
  --project=PROJECT_ID \
  --location=REGION \
  --network-config-vpc=NETWORK_NAME \
  --network-config-subnetwork=SUBNET_NAME \
  --max-slots=TASK_SLOTS

替换以下内容:

  • DEPLOYMENT_ID:适用于 Apache Flink 的 BigQuery 引擎部署的名称
  • PROJECT_ID:适用于 Apache Flink 的 BigQuery 引擎项目 ID
  • REGION:适用于 Apache Flink 的 BigQuery 引擎区域,例如 us-central1
  • NETWORK_NAME:网络的名称。如需使用默认网络,请输入 default
  • SUBNET_NAME:您的子网的名称。如需使用默认子网,请输入 default
  • TASK_SLOTS:部署可用的任务槽数上限

更新部署

您可以修改部署可用的任务槽数量。如需修改任何其他部署属性,您必须删除相应部署并创建新的部署。

gcloud

如需更新部署,请使用 gcloud alpha managed-flink deployments update 命令。

gcloud alpha managed-flink deployments update \
  --deployments=DEPLOYMENT_ID \
  --project=PROJECT_ID \
  --location=REGION \
  --max-slots=TASK_SLOTS

替换以下内容:

  • PROJECT_ID:适用于 Apache Flink 的 BigQuery 引擎项目 ID
  • REGION:适用于 Apache Flink 的 BigQuery 引擎区域,例如 us-central1
  • DEPLOYMENT_ID:适用于 Apache Flink 的 BigQuery 引擎部署的名称
  • TASK_SLOTS:部署可用的任务槽数上限

获取有关部署的详细信息

控制台

如需在 Google Cloud 控制台中获取有关部署的信息,请按以下步骤操作:

  1. 在 Google Cloud 控制台中,前往“适用于 Apache Flink 的 BigQuery Engine 部署”页面。

    转到部署

  2. 点击部署名称以打开部署详情页面。在 Deployment 详情页面上,您可以查看有关部署及其作业的详细信息。

gcloud

如需使用 gcloud CLI 检索有关部署的信息,请使用 gcloud alpha managed-flink deployments describe 命令。此命令会检索初始部署实现和部署状态。

gcloud alpha managed-flink deployments describe \
  DEPLOYMENT_ID \
  --project=PROJECT_ID \
  --location=REGION

替换以下内容:

  • DEPLOYMENT_ID:适用于 Apache Flink 的 BigQuery 引擎部署的名称
  • PROJECT_ID:适用于 Apache Flink 的 BigQuery 引擎项目 ID
  • REGION:适用于 Apache Flink 的 BigQuery 引擎作业的所在区域

列出部署

控制台

如需获取有关部署的信息,请在 Google Cloud 控制台中,前往“适用于 Apache Flink 的 BigQuery Engine 部署”页面。

转到部署

gcloud

如需使用 gcloud CLI 列出项目中的部署,请使用 gcloud alpha managed-flink deployments list 命令。此命令会列出指定区域和项目中的所有部署。

gcloud alpha managed-flink deployments list \
  REGION \
  --project=PROJECT_ID

替换以下内容:

  • PROJECT_ID:适用于 Apache Flink 的 BigQuery 引擎项目 ID
  • REGION:适用于 Apache Flink 的 BigQuery 引擎作业的所在区域

删除部署

gcloud

如需使用 gcloud CLI 删除部署,请使用 gcloud alpha managed-flink deployments delete 命令。

  • 删除部署后,系统会释放分配给该部署的槽配额。
  • 如需删除包含现有作业的部署,请使用 force_deletion 参数。
gcloud alpha managed-flink deployments delete \
  DEPLOYMENT_ID \
  --project=PROJECT_ID \
  --location=REGION

替换以下内容:

  • DEPLOYMENT_ID:适用于 Apache Flink 的 BigQuery 引擎部署的名称
  • PROJECT_ID:适用于 Apache Flink 的 BigQuery 引擎项目 ID
  • REGION:适用于 Apache Flink 的 BigQuery 引擎作业的所在区域

后续步骤