在 Google Cloud 上安装 Knative serving

了解如何在 Google Cloud 上的 GKE 集群中安装 Knative serving。Knative serving 现在使用 Cloud Service Mesh 和 GKE Enterprise 舰队。了解 Knative serving 舰队安装的新功能和更改

警告:执行本页面上的步骤将执行 Knative serving 的新安装,并且不可逆转地覆盖之前的非舰队安装。请勿在之前启用了 Knative serving 的集群中继续执行以下步骤。

对于以前的 Knative serving“免费试用”安装,您必须先升级 Knative serving 以使用 GKE Enterprise 舰队

使用本页面在 Google Cloud 中的 GKE 集群上安装具有以下配置的 Knative serving 的默认组件:

  • 默认情况下,系统会为公共集群配置 Knative serving on Google Cloud。

  • GKE Enterprise on Google Cloud 集群的 Cloud Monitoring 指标默认处于启用状态。

准备工作

  • 如需在 Google Cloud 上的专用集群中安装 Knative serving,您必须执行自定义安装

  • 您必须确保满足安装前提条件

  • 如果您的集群中安装了 Knative serving,则在执行这些舰队组件安装步骤之前,您必须确保“GKE 插件”不存在。如果安装了“插件”,则必须改为按照升级到 GKE Enterprise 舰队的步骤操作

    检查是否安装了“GKE 插件”。

    如需检查 Knative Serving 安装是否为“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 serving 是通过“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 serving

如需安装 Knative serving 的默认组件,请执行以下操作:

  1. 在舰队中启用 Knative serving:

    gcloud container fleet cloudrun enable --project=PROJECT_ID
    

    PROJECT_ID 替换为您的 Google Cloud 项目的 ID。

    如需了解详情和其他选项,请参阅 gcloud container fleet cloudrun enable 参考文档。

  2. 可选:验证 Knative serving 功能组件是否已启用:

    控制台

    查看 Google Cloud 控制台中是否已启用 Knative serving 组件:

    前往 Feature Manager

    命令行

    查看 appdevexperience 状态是否为 ACTIVE

    gcloud container fleet features list  --project=PROJECT_ID
    

    PROJECT_ID 替换为您的 Google Cloud 项目的 ID。

    如需了解详情和其他选项,请参阅 gcloud container flee 功能列表参考文档。

    结果:

    NAME               STATE
    appdevexperience   ACTIVE
    
  3. 对于要在其中安装 Knative serving 的每个 GKE Enterprise 集群,请运行相应的命令:

    gcloud container fleet cloudrun apply --gke-cluster=CLUSTER_LOCATION/CLUSTER_NAME
    

    替换以下内容:

    • CLUSTER_LOCATION 替换为您的集群所在的区域或可用区
    • CLUSTER_NAME 替换为集群的 ID 或集群的完全限定标识符。

    如需了解详情和其他选项,请参阅 gcloud container fleet cloudrun apply 参考文档。

  4. 验证集群中是否已启用 Knative serving:
    1. 打开 Google Cloud 控制台:

      转到 GKE 集群

    2. 点击集群名称以打开详细信息窗格。

    3. 运行以下命令以检查您是否可以看到 Knative serving 版本详细信息:kubectl get namespace knative-serving -o 'go-template={{index .metadata.labels "serving.knative.dev/release"}}'
    4. 验证 knative-servingappdevexperience 命名空间下的所有 Knative serving 特定部署是否都处于运行状态。

后续步骤

设置 Knative serving 的安装