建立及查看 Managed Service for Apache Kafka 叢集
瞭解如何建立含有主題的 Managed Service for Apache Kafka 叢集,並查看叢集詳細資料。您可以使用 Google Cloud 控制台或 Google Cloud CLI 完成本教學課程。
事前準備
控制台
-
登入 Google 帳戶。
如果沒有帳戶,請 申請新帳戶。
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
If you're using an existing project for this guide, verify that you have the permissions required to complete this guide. If you created a new project, then you already have the required permissions.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Managed Kafka API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
If you're using an existing project for this guide, verify that you have the permissions required to complete this guide. If you created a new project, then you already have the required permissions.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Managed Kafka API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.
gcloud
-
登入 Google 帳戶。
如果沒有帳戶,請 申請新帳戶。
-
安裝 Google Cloud CLI。
-
若您採用的是外部識別資訊提供者 (IdP),請先使用聯合身分登入 gcloud CLI。
-
執行下列指令,初始化 gcloud CLI:
gcloud init -
選取或建立專案所需的角色
- 選取專案:選取專案時,不需要具備特定 IAM 角色,只要您已獲授角色,即可選取任何專案。
-
建立專案:如要建立專案,您需要「專案建立者」角色 (
roles/resourcemanager.projectCreator),其中包含resourcemanager.projects.create權限。瞭解如何授予角色。
-
建立 Google Cloud 專案:
gcloud projects create PROJECT_ID
將
PROJECT_ID替換為您要建立的 Google Cloud 專案名稱。 -
選取您建立的 Google Cloud 專案:
gcloud config set project PROJECT_ID
將
PROJECT_ID替換為 Google Cloud 專案名稱。
-
如要使用現有專案進行本指南中的操作,請確認您具有完成本指南所需的權限。如果您建立新專案,則已具備必要權限。
啟用 Managed Kafka API:
啟用 API 時所需的角色
如要啟用 API,您需要具備服務使用情形管理員 IAM 角色 (
roles/serviceusage.serviceUsageAdmin),其中包含serviceusage.services.enable權限。瞭解如何授予角色。gcloud services enable managedkafka.googleapis.com
-
安裝 Google Cloud CLI。
-
若您採用的是外部識別資訊提供者 (IdP),請先使用聯合身分登入 gcloud CLI。
-
執行下列指令,初始化 gcloud CLI:
gcloud init -
選取或建立專案所需的角色
- 選取專案:選取專案時,不需要具備特定 IAM 角色,只要您已獲授角色,即可選取任何專案。
-
建立專案:如要建立專案,您需要「專案建立者」角色 (
roles/resourcemanager.projectCreator),其中包含resourcemanager.projects.create權限。瞭解如何授予角色。
-
建立 Google Cloud 專案:
gcloud projects create PROJECT_ID
將
PROJECT_ID替換為您要建立的 Google Cloud 專案名稱。 -
選取您建立的 Google Cloud 專案:
gcloud config set project PROJECT_ID
將
PROJECT_ID替換為 Google Cloud 專案名稱。
-
如要使用現有專案進行本指南中的操作,請確認您具有完成本指南所需的權限。如果您建立新專案,則已具備必要權限。
啟用 Managed Kafka API:
啟用 API 時所需的角色
如要啟用 API,您需要具備服務使用情形管理員 IAM 角色 (
roles/serviceusage.serviceUsageAdmin),其中包含serviceusage.services.enable權限。瞭解如何授予角色。gcloud services enable managedkafka.googleapis.com
必要的角色
如要取得建立叢集所需的權限,請要求管理員授予您專案的下列 IAM 角色:
- 代管 Kafka 叢集編輯者 (
roles/managedkafka.clusterEditor) - 代管 Kafka 主題編輯者 (
roles/managedkafka.topicEditor) - Compute 網路使用者 (
roles/compute.networkUser)
如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。
建立叢集
控制台
- 前往「Managed Service for Apache Kafka」>「Clusters」(叢集) 頁面。
- 點選 「Create」(建立)。
- 在「Cluster name」(叢集名稱) 方塊中輸入叢集的名稱。
- 在「Region」(區域) 清單中,選取叢集的位置。
-
在「網路設定」中,設定可存取叢集的子網路:
- 在「Project」(專案) 部分,選取專案。
- 在「Network」(網路) 中選取虛擬私有雲網路。
- 在「Subnet」(子網路) 中,選取子網路。
- 按一下 [完成]。
- 點選「建立」。
按一下「建立」後,叢集狀態會顯示為 Creating。叢集準備就緒時,狀態會顯示 Active。
gcloud
如要建立 Kafka 叢集,請執行 managed-kafka clusters
create 指令。
gcloud managed-kafka clusters create KAFKA_CLUSTER \ --location=REGION \ --cpu=3 \ --memory=3GiB \ --subnets=projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME \ --async
更改下列內容:
KAFKA_CLUSTER:Kafka 叢集名稱REGION:叢集位置PROJECT_ID:專案 IDSUBNET_NAME:要建立叢集的子網路,例如default
如需支援位置的相關資訊,請參閱「 Managed Service for Apache Kafka 位置」。
這項指令會以非同步方式執行,並傳回作業 ID:
Check operation [projects/PROJECT_ID/locations/REGION/operations/OPERATION_ID] for status.
如要追蹤建立作業的進度,請使用 gcloud managed-kafka
operations describe 指令:
gcloud managed-kafka operations describe OPERATION_ID \ --location=REGION
叢集準備就緒後,這項指令的輸出內容會包含 state:
ACTIVE 項目。詳情請參閱「 監控叢集建立作業」。
完成這些步驟後,叢集最多可能需要 30 分鐘才會準備就緒。
等待這項作業完成時,您可以視需要查看「後續步驟」列出的教學課程。這些範例會說明如何使用各種方法,為叢集產生訊息。叢集準備就緒後,您就可以完成任一教學課程。
建立主題
Managed Service for Apache Kafka 叢集準備就緒後,請建立主題。
控制台
前往「Managed Service for Apache Kafka」>「Clusters」(叢集) 頁面。
按一下叢集名稱。
在叢集詳細資料頁面中,按一下 「Create Topic」(建立主題)。
在「Topic name」(主題名稱) 方塊中,輸入主題名稱。
點選「建立」。
gcloud
如要建立 Kafka 主題,請執行 managed-kafka topics create 指令。
gcloud managed-kafka topics create KAFKA_TOPIC_NAME \
--cluster=KAFKA_CLUSTER \
--location=REGION \
--partitions=10 \
--replication-factor=3
更改下列內容:
KAFKA_TOPIC_NAME:要建立的 Kafka 主題名稱KAFKA_CLUSTER:Kafka 叢集的名稱REGION:您建立 Kafka 叢集的區域
查看叢集
叢集準備就緒後,您就可以查看叢集資訊,包括主題、消費者群組、聯播網和其他詳細資料。
控制台
前往「Managed Service for Apache Kafka」>「Clusters」(叢集) 頁面。
按一下叢集名稱。「叢集詳細資料」頁面會顯示叢集相關資訊。「資源」分頁會顯示與叢集相關聯的資源,包括主題。
如要查看主題的詳細資料,請選取「資源」分頁標籤,然後按一下主題名稱。「主題詳細資料」頁面會顯示主題相關資訊,例如分割區和副本數量。
如要返回「Cluster details」(叢集詳細資料) 頁面,請按一下 「Back to parent page」(返回上層頁面)。
gcloud
如要查看叢集相關資訊,請執行
gcloud managed-kafka clusters describe指令。gcloud managed-kafka clusters describe KAFKA_CLUSTER \ --location=REGION更改下列內容:
KAFKA_CLUSTER:叢集名稱REGION:建立叢集的區域
這項指令會輸出叢集屬性清單,如下所示:
bootstrapAddress: BOOTSTRAP_ADDRESS capacityConfig: memoryBytes: '3221225472' vcpuCount: '3' createTime: 'TIMESTAMP'如要取得叢集中的主題清單,請執行
gcloud managed-kafka topics list指令。gcloud managed-kafka topics list KAFKA_CLUSTER \ --location=REGION \ --format="value(name)"輸出內容會列出您建立的主題,以及 Managed Service for Apache Kafka 建立的內部使用主題。
如要查看主題相關資訊,請執行
gcloud managed-kafka topics describe指令。gcloud managed-kafka topics describe TOPIC_NAME \ --cluster=KAFKA_CLUSTER \ --location=REGION將
TOPIC_NAME替換為主題名稱。這項指令會輸出主題屬性清單,如下所示:
name: projects/PROJECT_ID/locations//clusters/KAFKA_CLUSTER/topics/TOPIC_NAME partitionCount: 10 replicationFactor: 3
取得啟動位址
Kafka 用戶端會使用叢集的啟動位址與叢集建立連線。如要取得啟動程序位址,請執行下列步驟:
控制台
前往「Managed Service for Apache Kafka」>「Clusters」(叢集) 頁面。
按一下叢集名稱。
選取「Configurations」(設定) 分頁標籤。
啟動網址會列在「Bootstrap URL」(啟動網址) 下方。按一下「複製」 即可複製值。
gcloud
如要取得啟動網址,請執行 managed-kafka clusters describe 指令。
gcloud managed-kafka clusters describe KAFKA_CLUSTER \
--location=REGION \
--format="value(bootstrapAddress)"
更改下列內容:
KAFKA_CLUSTER:叢集名稱REGION:建立叢集的區域
現在可以開始傳送訊息至叢集。詳情請參閱本文的「後續步驟」一節。
清除所用資源
為了避免系統向您的 Google Cloud 帳戶收取本頁面所用資源的費用,請刪除含有這些資源的 Google Cloud 專案。
控制台
刪除叢集。
前往「Managed Service for Apache Kafka」>「Clusters」(叢集) 頁面。
選取 Kafka 叢集,然後按一下「Delete」(刪除)。
gcloud
如要刪除叢集,請使用
gcloud managed-kafka clusters delete指令。gcloud managed-kafka clusters delete KAFKA_CLUSTER \ --location=REGION --async
後續步驟
使用 Kafka 指令列工具或建立用戶端應用程式,產生 Kafka 訊息: