使用此页面可自定义新安装或配置 Knative serving 的现有舰队安装。例如,您可以为专用集群进行配置或设置 Cloud Monitoring 凭据。
默认安装步骤会自动部署以下 CloudRun
自定义资源,以便在 GKE Enterprise on Google Cloud 集群上启用指标:
apiVersion: operator.run.cloud.google.com/v1alpha1
kind: CloudRun
metadata:
name: cloud-run
如需大致了解自定义资源,请参阅自定义资源。
准备工作
您必须确保满足安装前提条件。
如果您的集群中安装了 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
配置您的 CloudRun
自定义资源
您需要手动创建和配置 CloudRun
自定义资源来配置安装。
CloudRun
自定义资源,请执行以下操作:创建一个 YAML 文件并包含默认配置,例如
cloudrunanthos.yaml
:apiVersion: operator.run.cloud.google.com/v1alpha1 kind: CloudRun metadata: name: cloud-run
在
cloudrunanthos.yaml
中,通过在spec
部分下配置以下一个或多个属性来自定义安装:专用集群:您必须添加
clusterConfig
和isPrivate
属性集才能在 Google Cloud 上的专用集群中安装 Knative serving。clusterConfig
和isPrivate
特性:spec: clusterConfig: isPrivate: true
请注意,此设置会停用代管式 TLS,因为专用集群在默认情况下无法与证书授权机构通信。
指标:添加
metricscollector
特性集以配置 Cloud Monitoring。默认情况下,系统会为 GKE Enterprise on Google Cloud 集群启用指标。spec: metricscollector: stackdriver: projectid: PROJECT_ID gcpzone: CLUSTER_LOCATION clustername: CLUSTER_NAME secretname: SECRET_NAME secretkey: SECRET_KEY
替换以下内容:
在示例 CloudRun
自定义资源中,指定 Cloud Monitoring 的配置详细信息以使用 my-gcp-logging-secret
Secret 和 key.json
密钥:
apiVersion: operator.run.cloud.google.com/v1alpha1
kind: CloudRun
metadata:
name: cloud-run
spec:
metricscollector:
stackdriver:
projectid: my-gcp-project-id
gcpzone: us-central1-c
clustername: my-anthos-cluster-name
secretname: my-gcp-logging-secret
secretkey: key.json
```
启用并安装 Knative serving
在 GKE Enterprise 舰队中启用 Knative serving 组件,然后部署 CloudRun
自定义资源:
在舰队中启用 Knative serving:
gcloud container fleet cloudrun enable --project=PROJECT_ID
将 PROJECT_ID 替换为您的 Google Cloud 项目的 ID。
如需了解详情和其他选项,请参阅 gcloud container fleet cloudrun enable 参考文档。
可选:验证 Knative serving 功能组件是否已启用:
控制台
查看 Google Cloud 控制台中是否已启用 Knative serving 组件:
命令行
查看
appdevexperience
状态是否为ACTIVE
:gcloud container fleet features list --project=PROJECT_ID
将 PROJECT_ID 替换为您的 Google Cloud 项目的 ID。
如需了解详情和其他选项,请参阅 gcloud container flee 功能列表参考文档。
结果:
NAME STATE appdevexperience ACTIVE
对于要在其中安装 Knative serving 的每个 GKE Enterprise 集群,您必须部署
CloudRun
自定义资源:gcloud
gcloud container fleet cloudrun apply --gke-cluster=CLUSTER_LOCATION/CLUSTER_NAME --config=CONFIG_FILE
替换以下内容:
- 将 CLUSTER_LOCATION 替换为您的集群所在的区域或可用区。
- 将 CLUSTER_NAME 替换为集群的 ID 或集群的完全限定标识符。
- 将 CONFIG_FILE 替换为
cloudRun
自定义资源的文件名相对路径。示例cloudrunanthos.yaml
。
如需了解详情和其他选项,请参阅 gcloud container fleet cloudrun apply 参考文档。
kubectl
kubectl apply --kubeconfig=KUBECONFIG --filename CONFIG_FILE
替换以下内容:
- 将 KUBECONFIG 替换为 kubectl 配置文件的绝对路径。
- 将 CONFIG_FILE 替换为
cloudRun
自定义资源的文件名和相对路径。示例cloudrunanthos.yaml
。
如需了解详情和其他选项,请参阅 kubectl apply 参考文档。
- 验证集群中是否已启用 Knative serving:
- 打开 Google Cloud 控制台:
- 点击集群名称以打开详细信息窗格。
- 运行以下命令以检查您是否可以看到 Knative serving 版本详细信息:
kubectl get namespace knative-serving -o 'go-template={{index .metadata.labels "serving.knative.dev/release"}}'
- 验证
knative-serving
和appdevexperience
命名空间下的所有 Knative serving 特定部署是否都处于运行状态。