配置 Events for Cloud Run for Anthos

了解如何启用和配置 Events for Cloud Run for Anthos,包括如何创建可将事件来源中的消息路由到接收器(例如 Cloud Run for Anthos 中的服务)的事件代理。

创建已启用 Cloud Run 的 GKE 集群

您必须先在集群中启用 Cloud Run for Anthos,然后才能开始使用 Events for Cloud Run for Anthos。

  1. 设置 gcloud 命令行工具

  2. 创建已启用 Cloud Run for Anthos 的 GKE 集群

  3. 配置 gcloud 命令行工具以使用 GKE 集群

初始化 Events for Cloud Run for Anthos

要初始化 Events for Cloud Run for Anthos,请执行以下操作:

  1. 安装 gcloud 命令行工具 Beta 版组件:

    gcloud components install beta
    
  2. 启用本教程中使用的服务:

    gcloud services enable cloudapis.googleapis.com
    
  3. 使用 gcloud 命令行工具初始化 Events for Cloud Run for Anthos

    gcloud beta events init
    

    这会在 cloud-run-eventsknative-eventing 命名空间中创建 Pod。

  4. 可选:确保这两个 Pod 均已创建:

    如需检查 cloud-run-events 命名空间中的 Pod,请运行以下命令:

    kubectl get pods -n cloud-run-events
    

    输出内容类似如下:

    NAME                         READY   STATUS    RESTARTS   AGE
    controller-9cc679b67-2952n   1/1     Running   0          22s
    webhook-8576c4cfcb-dhz82     1/1     Running   0          16m
    

    如需检查 knative-eventing 命名空间中的 Pod,请运行以下命令:

    kubectl get pods -n knative-eventing
    

    输出内容类似如下:

    NAME                                   READY   STATUS    RESTARTS   AGE
    eventing-controller-77f46f6cf8-kj9ck   1/1     Running   0          17m
    eventing-webhook-5bc787965f-hcmwg      1/1     Running   0          17m
    

创建事件代理

您可以创建一个事件代理以将事件从事件来源路由到事件使用者(例如目标服务)。

如需创建代理,请执行以下操作:

  1. 创建命名空间:

    kubectl create namespace NAMESPACE
    
  2. 使用默认密钥初始化命名空间:

    gcloud beta events namespaces init NAMESPACE \
      --copy-default-secret
    
  3. 创建事件代理:

    gcloud beta events brokers create default \
      --namespace NAMESPACE
    
  4. 可选:运行以下命令以确保事件代理正在运行:

    kubectl get brokers \
      -n NAMESPACE
    

    其中 NAMESPACE 是与您的事件代理相同的命名空间。

    输出内容类似如下:

    NAME      READY   REASON   URL
    default   True             http://default-brokercell-ingress.cloud-run-events.svc.cluster.local/default/default