本页面介绍如何创建服务以及查看服务的相关信息。服务是 Knative serving 的主要资源。
创建 Service
通过首次向服务部署容器映像来创建新服务及其修订版本。如需详细了解如何创建服务,请参阅部署新服务。
查看项目中的服务列表
您可以使用 Google Cloud 控制台或 Google Cloud CLI 查看项目中可用服务的列表:
控制台
要查看服务列表,请按如下所述操作:
前往 Google Cloud 控制台中的 Knative serving:
检查针对您的项目显示的服务列表:
命令行
要列出项目中的各项服务,请运行以下命令:
gcloud run services list
您可以按服务定义的属性(例如已分配的标签)过滤此列表。
复制服务
您可以使用 Google Cloud 控制台或 YAML 创建现有服务的副本。您可以更改副本中的任何内容,包括名称和区域。
控制台
要复制服务,请执行以下操作:
前往 Google Cloud 控制台中的 Knative serving:
从显示的项目服务列表中选择要复制的服务:
点击复制。
在服务复制页面中,设置或更改您要更改的任何值(例如区域等)。如果您保留相同的区域,则必须为服务提供新名称。
点击创建以创建副本并使用新服务名称进行部署。
YAML
您可以使用 gcloud run services describe
命令和 --format=export
标志将现有服务的配置下载到的 YAML 文件中。然后,您可以使用 gcloud run services replace
命令修改该 YAML 文件并部署这些更改。您必须确保仅修改指定的属性。
将服务配置下载到本地工作区上名为
service.yaml
的文件中:gcloud run services describe SERVICE --format export > service.yaml
将 SERVICE 替换为您的 Knative serving 服务的名称。
按照各种配置页面中的说明对服务进行所需的任何配置更改。
apiVersion: serving.knative.dev/v1 kind: Service metadata: annotations: ... name: SERVICE ... spec: template: metadata: annotations: ... name: REVISION-NAME
如果要将副本部署到同一 Kubernetes 集群,请将 SERVICE 替换为您要用于副本的名称。如果要将副本部署到其他 Kubernetes 集群,您可以使用同一名称。
确保 REVISION-NAME 的值以服务名称 (SERVICE) 开头。例如,如果新服务名称为
mynewfoo
,则修订版本名称必须采用mynewfoo-whatever
格式。或者您也可以完全删除该值,系统将自动创建新的修订版本名称。
使用以下命令复制服务:
gcloud run services replace service.yaml
使用
--region
标志将副本部署到其他区域。
查看服务的更多相关详细信息
要查看服务的更多相关详细信息,请按如下所述操作:
控制台
要查看服务的详细信息,请执行以下操作:
命令行
要查看服务的相关详细信息,请运行以下命令:
gcloud run services describe 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)'
如需详细了解服务的修订版本,请参阅管理修订版本。
更改服务连接设置
Knative serving 服务可以使用以下两个连接选项中的任何一个:
外部连接:该方案允许对您的服务的外部访问
内部连接:该方案仅允许对集群中的其他服务进行访问。
您可以使用控制台或 Google Cloud CLI 来更改设置。
控制台
要更改服务连接设置,请执行以下操作:
前往 Google Cloud 控制台中的 Knative serving:
在针对您的项目显示的服务列表中,点击所需服务,以打开服务详情视图。
点击触发器标签页。
选择所需的设置并点击保存。
命令行
要更改服务连接设置,请使用所需的连接设置更新服务:
gcloud run services update [SERVICE] --connectivity=[OPTION]
将
[SERVICE]
替换为您要更新的服务的名称。 您可以完全省略此参数,但如果省略它,系统将提示您输入服务名称。将
[OPTION]
替换为internal
或external
。
删除现有服务
删除一项服务会删除与之相关的所有资源,包括此服务的所有修订版本(无论它们是否正在处理流量)。
删除一项服务时,被删除修订版本所使用的容器映像不会自动从 Container Registry 中删除。 要从 Container Registry 中删除容器映像,请参阅删除映像。
请注意,删除服务属于永久性操作,也就是说,此操作无法撤消或恢复。 但是,如果您在删除服务后在同一集群中部署具有相同名称的新服务,则该新服务将使用相同的端点网址。
控制台
要删除服务,请执行以下操作:
前往 Google Cloud 控制台中的 Knative serving:
在服务列表中找到要删除的服务,然后点击该服务对应的复选框以将其选中。
点击删除。这将删除服务的所有修订版本。
命令行
要删除服务,请使用以下命令:
gcloud run services delete [SERVICE]
将 [SERVICE]
替换为服务的名称。