快速入门:部署到 Cloud Run for Anthos on-prem

本页介绍如何创建为 Cloud Run for Anthos on-prem 启用的 Google Kubernetes Engine 集群,并将预构建的示例容器部署到集群。

准备工作

  1. 本快速入门假定您具有已启用 Cloud Run 的活跃 GKE On-Prem 集群。如需创建一个集群,请参阅创建已启用 Cloud Run 的 GKE On-Prem 集群

    如需详细了解 Anthos,请参阅 Anthos 的价格

  2. 登录您的 Google 帐号。

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

  3. 在 Google Cloud Console 的项目选择器页面上,选择或创建一个 Google Cloud 项目。

    转到项目选择器页面

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

  5. 要向已部署的示例服务发送请求,请安装 cURL
  6. 设置 gcloud 命令行和 kubetcl 命令行工具,如下文所述。

设置 gcloud

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

  1. 安装并初始化 Cloud SDK(如果尚未安装)。

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

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

    PROJECT_ID 替换为项目 ID。

  3. 更新已安装的 gcloud 组件:

    gcloud components update
  4. 安装 gcloud 组件:

    gcloud components install beta

设置 kubectl

如果您已使用 GKE On-Prem,则可能已安装 kubectl

如果未安装 kubectl,您可以使用以下命令进行安装:

gcloud components install kubectl

部署示例容器

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

  1. 运行以下命令:

    gcloud run deploy SERVICE --image IMAGE_URL
    • SERVICE 替换为要部署的服务的名称。您可以完全省略此参数,但如果省略它,系统将提示您输入服务名称。
    • IMAGE_URL 替换为对容器映像的引用,例如 gcr.io/myproject/my-image:latest
  2. 等待部署完成。成功完成后,系统会显示一条成功消息以及已部署服务的网址。

访问已部署的服务

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

  1. 使用 kubectl 命令行获取并记下 IP 地址:

    kubectl get svc istio-ingress -n gke-system --output 'jsonpath={.status.loadBalancer.ingress[0].ip}'

  2. 使用 kubectl 命令行获取并记下主机名:

    kubectl get route SERVICE  --output jsonpath='{.status.url}' | sed 's/https\?:\/\///'

    SERVICE 替换为相应服务的名称。

  3. 使用服务的 HOST_URLIP_ADDRESS 调用 cURL:

    curl -v -H "Host: HOST_URL" http://IP_ADDRESS

    替换:

    • HOST_URL 替换为您在先前步骤中获得的主机名。
    • IP_ADDRESS 替换为您在先前步骤中获得的 IP 地址。

清理

通过执行以下命令删除 Cloud Run 服务:

gcloud run services delete SERVICE

SERVICE 替换为相应服务的名称。

后续步骤

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