建立及查看 Managed Service for Apache Kafka 叢集

瞭解如何建立含有主題的 Managed Service for Apache Kafka 叢集,並查看叢集詳細資料。您可以使用 Google Cloud 控制台或 Google Cloud CLI 完成本教學課程。

事前準備

控制台

  1. 登入 Google 帳戶。

    如果沒有帳戶,請 申請新帳戶

  2. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. 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.

  4. Verify that billing is enabled for your Google Cloud project.

  5. 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 the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  6. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  7. 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.

  8. Verify that billing is enabled for your Google Cloud project.

  9. 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 the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

gcloud

  1. 登入 Google 帳戶。

    如果沒有帳戶,請 申請新帳戶

  2. 安裝 Google Cloud CLI。

  3. 若您採用的是外部識別資訊提供者 (IdP),請先使用聯合身分登入 gcloud CLI

  4. 執行下列指令,初始化 gcloud CLI:

    gcloud init
  5. 建立或選取 Google Cloud 專案

    選取或建立專案所需的角色

    • 選取專案:選取專案時,不需要具備特定 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 專案名稱。

  6. 如要使用現有專案進行本指南中的操作,請確認您具有完成本指南所需的權限。如果您建立新專案,則已具備必要權限。

  7. 確認專案已啟用計費功能 Google Cloud

  8. 啟用 Managed Kafka API:

    啟用 API 時所需的角色

    如要啟用 API,您需要具備服務使用情形管理員 IAM 角色 (roles/serviceusage.serviceUsageAdmin),其中包含 serviceusage.services.enable 權限。瞭解如何授予角色

    gcloud services enable managedkafka.googleapis.com
  9. 安裝 Google Cloud CLI。

  10. 若您採用的是外部識別資訊提供者 (IdP),請先使用聯合身分登入 gcloud CLI

  11. 執行下列指令,初始化 gcloud CLI:

    gcloud init
  12. 建立或選取 Google Cloud 專案

    選取或建立專案所需的角色

    • 選取專案:選取專案時,不需要具備特定 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 專案名稱。

  13. 如要使用現有專案進行本指南中的操作,請確認您具有完成本指南所需的權限。如果您建立新專案,則已具備必要權限。

  14. 確認專案已啟用計費功能 Google Cloud

  15. 啟用 Managed Kafka API:

    啟用 API 時所需的角色

    如要啟用 API,您需要具備服務使用情形管理員 IAM 角色 (roles/serviceusage.serviceUsageAdmin),其中包含 serviceusage.services.enable 權限。瞭解如何授予角色

    gcloud services enable managedkafka.googleapis.com

必要的角色

如要取得建立叢集所需的權限,請要求管理員授予您專案的下列 IAM 角色:

如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。

您或許也能透過自訂角色或其他預先定義的角色,取得必要權限。

建立叢集

控制台

  1. 前往「Managed Service for Apache Kafka」>「Clusters」(叢集) 頁面。

    前往「Clusters」(叢集)

  2. 點選 「Create」(建立)
  3. 在「Cluster name」(叢集名稱) 方塊中輸入叢集的名稱。
  4. 在「Region」(區域) 清單中,選取叢集的位置。
  5. 在「網路設定」中,設定可存取叢集的子網路:
    1. 在「Project」(專案) 部分,選取專案。
    2. 在「Network」(網路) 中選取虛擬私有雲網路。
    3. 在「Subnet」(子網路) 中,選取子網路。
    4. 按一下 [完成]
  6. 點選「建立」

按一下「建立」後,叢集狀態會顯示為 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:專案 ID
  • SUBNET_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 叢集準備就緒後,請建立主題。

控制台

  1. 前往「Managed Service for Apache Kafka」>「Clusters」(叢集) 頁面。

    前往「Clusters」(叢集)

  2. 按一下叢集名稱。

  3. 在叢集詳細資料頁面中,按一下 「Create Topic」(建立主題)

  4. 在「Topic name」(主題名稱) 方塊中,輸入主題名稱。

  5. 點選「建立」

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 叢集的區域

查看叢集

叢集準備就緒後,您就可以查看叢集資訊,包括主題、消費者群組、聯播網和其他詳細資料。

控制台

  1. 前往「Managed Service for Apache Kafka」>「Clusters」(叢集) 頁面。

    前往「Clusters」(叢集)

  2. 按一下叢集名稱。「叢集詳細資料」頁面會顯示叢集相關資訊。「資源」分頁會顯示與叢集相關聯的資源,包括主題。

  3. 如要查看主題的詳細資料,請選取「資源」分頁標籤,然後按一下主題名稱。「主題詳細資料」頁面會顯示主題相關資訊,例如分割區和副本數量。

  4. 如要返回「Cluster details」(叢集詳細資料) 頁面,請按一下 「Back to parent page」(返回上層頁面)

gcloud

  1. 如要查看叢集相關資訊,請執行 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'
    
  2. 如要取得叢集中的主題清單,請執行 gcloud managed-kafka topics list 指令。

    gcloud managed-kafka topics list KAFKA_CLUSTER \
      --location=REGION \
      --format="value(name)"
    

    輸出內容會列出您建立的主題,以及 Managed Service for Apache Kafka 建立的內部使用主題。

  3. 如要查看主題相關資訊,請執行 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 用戶端會使用叢集的啟動位址與叢集建立連線。如要取得啟動程序位址,請執行下列步驟:

控制台

  1. 前往「Managed Service for Apache Kafka」>「Clusters」(叢集) 頁面。

    前往「Clusters」(叢集)

  2. 按一下叢集名稱。

  3. 選取「Configurations」(設定) 分頁標籤。

  4. 啟動網址會列在「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 專案。

控制台

刪除叢集。

  1. 前往「Managed Service for Apache Kafka」>「Clusters」(叢集) 頁面。

    前往「Clusters」(叢集)

  2. 選取 Kafka 叢集,然後按一下「Delete」(刪除)

gcloud

  1. 如要刪除叢集,請使用 gcloud managed-kafka clusters delete 指令。

    gcloud managed-kafka clusters delete KAFKA_CLUSTER \
      --location=REGION --async
    

後續步驟

使用 Kafka 指令列工具或建立用戶端應用程式,產生 Kafka 訊息: