对于以前的 Knative serving“免费试用”安装,您必须先升级 Knative serving on VMware 以使用 GKE Enterprise 舰队。
按照本页面上的步骤配置新安装或更新 Knative serving 的现有舰队安装。
准备工作
您必须确保满足安装前提条件。
配置您的 CloudRun
自定义资源
您需要手动创建和配置 CloudRun
自定义资源来配置安装。
CloudRun
自定义资源,请执行以下操作:
您必须创建或已有一个被授予所需的 Monitoring Metric Writer 角色 (
monitoring.metricWriter
) 的服务账号。如需创建新的服务账号,然后下载密钥,请参阅使用服务账号。
如果您已有一个具有必要权限的服务账号,请找到创建该服务账号时下载的密钥。
创建
knative-serving
命名空间:kubectl create namespace knative-serving
在
knative-serving
命名空间中创建一个 Secret,以存储具有monitoring.metricWriter
权限的服务账号:kubectl create secret -n knative-serving generic SECRET_NAME --from-file=PATH_TO_KEY_FILE/SECRET_KEY
您需要将其中的:
- 将 SECRET_NAME 替换为您为该 Secret 选择的名称。
- 将 SECRET_KEY 替换为包含凭据的文件的名称。示例:
key.json
- 将 PATH_TO_KEY_FILE 替换为 SECRET_KEY 目录的路径。
如需了解详情(包括可选标志),请参阅
kubectl create secret
参考文档。创建包含以下特性的 YAML 文件,例如
cloudrunanthos.yaml
:apiVersion: operator.run.cloud.google.com/v1alpha1 kind: CloudRun metadata: name: cloud-run spec: metricscollector: stackdriver: projectid: PROJECT_ID gcpzone: CLUSTER_LOCATION clustername: CLUSTER_NAME secretname: SECRET_NAME secretkey: SECRET_KEY
替换以下内容:
- 将 PROJECT_ID 替换为您的 Google Cloud 项目的 ID。
- 将 CLUSTER_LOCATION 替换为您的集群所在的区域或可用区。
- 将 CLUSTER_NAME 替换为集群的 ID 或集群的完全限定标识符。
- 将 SECRET_NAME 替换为
knative-serving
命名空间的服务账号的 Secret 名称。 将 SECRET_KEY 替换为
knative-serving
命名空间的服务账号的 Secret 密钥。例如:key.json
如需详细了解服务账号,请参阅:
在示例
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 --kubeconfig=KUBECONFIG --context=CONTEXT --config=CONFIG_FILE
替换以下内容:
- 将 KUBECONFIG 替换为 kubectl 配置文件的绝对路径。
- 将 CONTEXT 替换为用于连接的 kubectl 配置文件中的上下文名称。
- 将 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 特定部署是否都处于运行状态。