管理服务

本页面介绍如何创建服务以及查看服务的相关信息。服务是 Cloud Run 的主要资源。每项服务都有一个唯一的永久性网址,该网址在您向其部署新修订版本时不会随着时间改变。

服务的永久网域由服务名称和哈希组成。

创建服务

首次部署容器映像会创建新的服务。如需了解更多说明,请参阅部署新的服务部分。

查看项目中的服务列表

您可以使用 Cloud Console 或 gcloud 命令行查看项目中可用服务的列表:

控制台

要查看服务列表,请按如下所述操作:

  1. 转到 Cloud Run

  2. 检查针对您的项目显示的服务列表:

    服务列表

命令行

要列出项目中的各项服务,请运行以下命令:

gcloud run services list

请注意,每项服务都有一个关联网址。

您可以按服务定义的属性(例如已分配的标签)过滤此列表。

Cloud Code

如需使用 Cloud Code 查看服务列表,请阅读适用于 IntelliJVisual Studio Code 的 Cloud Run Explorer 指南。

复制服务

您可以使用 Cloud Console 或 YAML 创建现有服务的副本。您可以更改副本中的任何内容,包括名称和地区。

控制台

要复制服务,请执行以下操作:

  1. 转到 Cloud Run

  2. 从显示的项目服务列表中选择要复制的服务:

    服务列表

    1. 点击复制

    2. 在服务复制页面中,设置或更改您要更改的任何值(例如地区等)。如果您保留相同的地区,则必须为服务提供新名称。

    3. 点击创建以创建副本并使用新服务名称进行部署。

YAML

您可以使用 gcloud run services describe --format export 命令下载并查看现有服务配置,该命令会生成清理后的 YAML 格式的结果。然后,您可以使用 gcloud run services replace 命令修改下述字段并上传修改后的 YAML。请务必仅修改记录的字段。

  1. 要查看和下载配置,请运行以下命令:

    gcloud run services describe SERVICE --format export > service.yaml
  2. 按照各种配置页面中的说明对服务进行所需的任何配置更改。

     apiVersion: serving.knative.dev/v1
     kind: Service
     metadata:
       annotations:
         ...
       name: SERVICE
       ...
     spec:
       template:
         metadata:
           annotations:
           ...
           name: REVISION-NAME
    
    • 如果您不将副本部署到其他地区,请将 SERVICE 替换为您要用于副本的名称。如果您要将副本部署到其他地区,则可以使用旧名称。
    • 确保 REVISION-NAME 的值以服务名称 (SERVICE) 开头。例如,如果新服务名称为 mynewfoo,则修订版本名称必须采用 mynewfoo-whatever 格式。或者您也可以完全删除该值,系统将自动创建新的修订版本名称。
  3. 使用以下命令复制服务:

    gcloud run services replace service.yaml

    使用 --region 标志将副本部署到其他区域。

查看服务的更多相关详细信息

要查看服务的更多相关详细信息,请按如下所述操作:

控制台

要查看服务的详细信息,请执行以下操作:

  1. 转到 Cloud Run

  2. 在针对您的项目显示的服务列表中,点击所需服务,以打开服务详情视图:

    修订版本列表

  3. 请注意修订版本日志详情标签页。“修订版本”标签页显示修订版本列表,“日志”标签页显示服务日志,“详情”标签页显示当前的身份验证连接设置。

命令行

要查看服务的相关详细信息,请运行以下命令:

gcloud run services describe SERVICE
SERVICE 替换为相应服务的名称。

您可以使用 --format 标志来设置输出的格式。例如,作为 YAML:

gcloud run services describe SERVICE --format yaml

您可以使用 --format export 导出为 YAML(不带自动生成的标签或状态):

gcloud run services describe SERVICE --format export

您还可以使用 --format 标志获取服务的网址:

gcloud run services describe SERVICE --format='value(status.url)'

Cloud Code

如需使用 Cloud Code 查看服务详情,请阅读适用于 IntelliJVisual Studio Code 的 Cloud Run Explorer 指南。

如需详细了解服务修订版本,请参阅管理修订版本

停用现有服务

Cloud Run 无法直接使服务停止处理流量,但您可以通过撤消某些身份调用服务的权限来实现类似的结果。值得注意的是,如果您的服务是公开服务,则应从 Cloud Run Invoker 角色 (roles/run.invoker) 中移除 allUsers

删除现有服务

以下注意事项适用于删除服务:

  • 删除一项服务会删除与之相关的所有资源,包括此服务的所有修订版本(无论它们是否正在处理流量)。
  • 删除服务不会自动从 Container Registry 中移除容器映像。要从 Container Registry 中删除已删除的修订版本所使用的容器映像,请参阅删除映像
  • 删除具有一个或多个 Eventarc 触发器的服务不会自动删除这些触发器。如需删除触发器,请参阅管理触发器
  • 删除之后,在删除操作完全执行完毕之前,服务在 Google Cloud Console 和命令行界面中仍然可见。但是,您无法更新服务。
  • 删除服务属于永久性操作,也就是说,此操作无法撤消或恢复。但是,如果您在删除服务后在同一地区内部署具有相同名称的新服务,则该新服务将使用相同的端点网址。

控制台

要删除服务,请执行以下操作:

  1. 转到 Cloud Run

  2. 在服务列表中找到要删除的服务,然后点击该服务对应的复选框以将其选中。

  3. 点击删除。这将删除服务的所有修订版本。

命令行

要删除服务,请使用以下命令:

gcloud run services delete [SERVICE]

[SERVICE] 替换为服务的名称。