快速入门:部署 Cloud Run for Anthos on Google Cloud

本页面介绍如何创建已启用 Cloud Run for Anthos on Google Cloud 的集群,然后将预建的示例容器部署到该集群。

您还可以使用 Qwiklabs 上的演示帐号,按照快速入门进行操作。

准备工作

  1. 登录您的 Google 帐号。

    如果您还没有 Google 帐号,请注册一个新帐号

  2. 在 Cloud Console 的项目选择器页面上,选择或创建 Cloud 项目。

    转到项目选择器页面

  3. 确保您的 Google Cloud 项目已启用结算功能。 了解如何确认您的项目已启用结算功能

  4. 如果要向已部署的示例服务发送请求,您需要安装 cURL
  5. 设置 gcloud 命令行,详见下文。

设置 gcloud 命令行

要为 Cloud Run for Anthos on Google Cloud 设置 gcloud 命令行,请执行以下操作:

  1. 安装并初始化 Cloud SDK

  2. 将平台设置为 gke 并将 gcloud 的默认项目设置为您刚创建的项目:

    gcloud config set run/platform gke
    gcloud config set project PROJECT-ID

    PROJECT-ID 替换为您创建的项目的 ID。

  3. 为新集群设置所需的区域。您可以使用任何支持 GKE 的区域,例如:

    gcloud config set compute/zone ZONE

    ZONE 替换为您的区域。

  4. 为项目启用以下 API,需要使用它们来创建集群、构建容器以及将容器发布到 Google Container Registry:

    gcloud services enable container.googleapis.com containerregistry.googleapis.com cloudbuild.googleapis.com
  5. 更新已安装的 gcloud 组件:

    gcloud components update

创建已启用 Cloud Run 的 GKE 集群

要为 Cloud Run for Anthos on Google Cloud 创建并启用集群,请执行以下操作:

  1. 使用以下命令创建一个新集群:

    gcloud container clusters create CLUSTER_NAME \
      --addons=HttpLoadBalancing,CloudRun \
      --machine-type=n1-standard-2 \
      --enable-stackdriver-kubernetes \
      --zone=ZONE

    替换

    • CLUSTER_NAME 替换为您想要使用的集群名称。
    • ZONE 替换为您要用于集群的区域,例如 us-central1-a。您可以使用 GKE 支持的任何区域。

    请注意,虽然这些说明未启用集群自动扩缩以根据需要调整集群大小,但 Cloud Run for Anthos on Google Cloud 会自动扩缩集群中的实例。

  2. 等待集群创建过程完成。在创建过程中,您应该会看到类似如下所示的消息:

    Creating cluster my-cluster...done.
    Created [https://container.googleapis.com/v1beta1/ \
    projects/my-project/zones/us-central1-b/clusters/my-cluster].
    

    其中,my-project 是您自己的项目 ID。您刚刚在项目 my-project 中创建了名为 my-cluster 的新 Google Kubernetes Engine 集群

  3. 设置 gcloud 默认值以使用新的集群和集群位置,避免在使用 gcloud 命令行时指定这些值:

    gcloud config set run/cluster CLUSTER_NAME
    gcloud config set run/cluster_location us-central1-a

    CLUSTER_NAME 替换为您使用的集群名称,如有必要,还可将 us-central1-a 替换为您选择的受支持集群位置。

部署示例容器

要将容器部署到您刚刚创建的集群,请执行以下操作:

  1. 转到 Cloud Run

  2. 点击创建服务,以显示“创建服务”表单:

    图片

    在此表单中执行以下操作:

    1. 选择 Cloud Run for Anthos on Google Cloud 作为您的开发平台。

    2. 在可用的集群下拉菜单中,选择在前面的步骤中刚刚创建的集群。

    3. 使用“hello”名称作为服务名称。您可以使用其他名称,但如果这样做的话,以后在使用 cURL 命令访问服务时,请务必使用该名称。此处的说明假设您使用的是“hello”名称。

    4. 选择“连接”下的外部,以便您调用该服务。

    5. 点击下一步以转到服务创建表单的第二页:

      图片

      在此表单中执行以下操作:

      1. 使用 gcr.io/cloudrun/hello 作为容器映像。

      2. 点击创建以将映像部署到 Cloud Run,然后等待部署完成。

恭喜!您刚刚将一项服务部署到启用了 Cloud Run for Anthos on Google Cloud 的集群。

访问已部署的服务

部署完您的服务后,您可以使用为 Istio Ingress 控制器创建的负载平衡器服务的外部 IP 地址,通过 cURL 发送请求并验证该服务是否正常运行:

  1. 转到 Cloud Console 中的 Google Kubernetes Engine 页面:

    转到 Google Kubernetes Enginee

  2. 点击左侧导航面板中的 Service 和 Ingress 以显示服务列表。

  3. 如果您的集群版本为 1.15.3-gke.19 或更高版本、1.14.3-gke.12 或更高版本、1.13.10-gke.8 或更高版本,请向下滚动至 istio-ingress 服务。对于所有其他集群版本,向下滚动至 istio-ingressgateway 服务。

  4. 复制负载平衡器旁边显示的外部 IP 地址(如果有),不带端口设置。例如,如果 IP 地址为 XX.XXX.XX.XXX:15020,请省略 :15020。请忽略列出的其他 IP 地址。

  5. 调用 cURL,务必将 Host 字符串中的 hello 替换为您的服务名称(如果您使用的是 hello 以外的其他服务名称):

    curl -v -H "Host: hello.default.example.com" YOUR-IP

    YOUR-IP 替换为您在上一步中获得的 IP 地址。

清理

停用 Cloud Run for Anthos on Google Cloud

要在集群中停用 Cloud Run for Anthos on Google Cloud,请执行以下操作:

  1. 转到 Cloud Console 中的 Google Kubernetes Engine 页面:

    转到 Google Kubernetes Enginee

  2. 点击要停用 Cloud Run for Anthos on Google Cloud 的集群。

  3. 点击修改

  4. 向下滚动到“Anthos 功能”,然后从“Cloud Run for Anthos”下拉列表中选择停用

  5. 点击保存

后续步骤

如需了解如何使用代码源构建容器,以及如何将容器推送到 Container Registry 并进行部署,请参阅以下内容:

如需查看 Cloud Run for Anthos on Google Cloud 的架构概览(其中介绍了将 Cloud Run for Anthos 作为插件安装到 Google Kubernetes Engine 集群时发生的更改),请参阅以下内容: