对于以前“免费试用”安装的 Knative 服务,您必须先升级 Knative 服务以使用 GKE Enterprise 舰队。
按照本页面中的说明,使用以下配置在 Google Cloud 中的 GKE 集群上安装 Knative 服务的默认组件:
默认情况下,Google Cloud 上的 Knative 服务是针对公共集群配置的。
默认情况下,Google Cloud 集群上的 GKE Enterprise 的 Cloud Monitoring 指标处于启用状态。
准备工作
如需在 Google Cloud 上的专用集群中安装 Knative 服务,您必须执行自定义安装。
您必须确保满足安装前提条件。
如果集群中安装了 Knative 服务,则在执行这些舰队组件安装步骤之前,您必须确保“GKE 插件”不存在。如果安装了“插件”,则必须改为按照升级到 GKE Enterprise 舰队的步骤操作。
检查是否安装了“GKE 插件”。
如需检查您安装的 Knative 服务是否为“GKE 插件”,请运行以下命令:
gcloud container clusters describe \ CLUSTER_NAME \ --region CLUSTER_LOCATION \ --project PROJECT_ID --format='get(addonsConfig.cloudRunConfig)'
您需要将:
- 将 CLUSTER_NAME 替换为您的集群名称。
- 将 CLUSTER_LOCATION 替换为集群所在的位置。
- 将 PROJECT_ID 替换为您的 Google Cloud 项目的 ID。
结果:
- 未安装“GKE 插件”:
- 如果从未安装该插件,则不会向终端返回任何内容。
- 如果之前卸载了该插件,则返回
disabled=true
。
- 安装了“GKE 插件”:如果集群中安装了该插件,则返回该插件的配置详细信息。示例:
loadBalancerType=LOAD_BALANCER_TYPE_EXTERNAL
- 示例:
-
以下示例演示了 Knative 服务是通过配置为处理外部流量的 GKE 插件在
my-addon-cluster
集群中安装的:gcloud container clusters describe my-addon-cluster \ --region us-central1-c --project my-gcp-project \ --format='get(addonsConfig.cloudRunConfig)'
响应:
loadBalancerType=LOAD_BALANCER_TYPE_EXTERNAL
安装 Knative 服务
如需安装 Knative 服务的默认组件,请执行以下操作:
在舰队中启用 Knative 服务:
gcloud container fleet cloudrun enable --project=PROJECT_ID
将 PROJECT_ID 替换为您的 Google Cloud 项目的 ID。
如需了解详情和其他选项,请参阅 gcloud container fleet cloudrun enable 参考文档。
可选:验证是否已启用 Knative 服务功能组件:
控制台
在 Google Cloud 控制台中查看 Knative 服务组件是否处于已启用状态:
命令行
查看
appdevexperience
状态是否为ACTIVE
:gcloud container fleet features list --project=PROJECT_ID
将 PROJECT_ID 替换为您的 Google Cloud 项目的 ID。
如需了解详情和其他选项,请参阅 gcloud container flee 功能列表参考文档。
结果:
NAME STATE appdevexperience ACTIVE
对于要安装 Knative 服务的每个 GKE Enterprise 集群,请运行相应的命令:
gcloud container fleet cloudrun apply --gke-cluster=CLUSTER_LOCATION/CLUSTER_NAME
替换以下内容:
- 将 CLUSTER_LOCATION 替换为您的集群所在的区域或可用区。
- 将 CLUSTER_NAME 替换为集群的 ID 或集群的完全限定标识符。
如需了解详情和其他选项,请参阅 gcloud container fleet cloudrun apply 参考文档。
- 验证集群中是否已启用 Knative 服务:
- 打开 Google Cloud 控制台:
- 点击集群名称以打开详细信息窗格。
- 运行以下命令,检查您能否看到 Knative 服务版本详细信息:
kubectl get namespace knative-serving -o 'go-template={{index .metadata.labels "serving.knative.dev/release"}}'
- 验证在
knative-serving
和appdevexperience
命名空间下,所有特定于 Knative 的部署都处于运行状态。