在 Google Cloud 外部安装 Cloud Run for Anthos

了解如何在 Google Cloud 外部的 Anthos 集群中安装 Cloud Run for Anthos。Cloud Run for Anthos 现在使用 Anthos Service Mesh 和 Anthos 舰队。了解 Cloud Run for Anthos 舰队安装的新功能和更改

对于 Cloud Run for Anthos on VMware,请参阅 GA 级层安装指南

对以下 Anthos 集群的支持作为预览版提供:

按照本页面上的步骤配置新安装或更新 Cloud Run for Anthos 的现有舰队安装

准备工作

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

配置您的 CloudRun 自定义资源

您需要手动创建和配置 CloudRun 自定义资源来配置安装。

如需手动为 Google Cloud 外部的 Anthos 集群创建 CloudRun 自定义资源,请执行以下操作:

  1. 您必须创建或已有一个被授予所需的 Monitoring Metric Writer 角色 (monitoring.metricsWriter) 的服务帐号。

    • 如需创建新的服务帐号,然后下载密钥,请参阅使用服务帐号

    • 如果您已有一个具有必要权限的服务帐号,请找到创建该服务帐号时下载的密钥。

  2. 确保您的 Anthos 集群已启用 Cloud Monitoring:

  3. 创建 knative-serving 命名空间:

    kubectl create namespace knative-serving
    
  4. knative-serving 命名空间中创建一个 Secret,以存储具有 monitoring.metricsWriter 权限的服务帐号:

    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 参考文档。

  5. 创建包含以下特性的 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
     ```
    

启用并安装 Cloud Run for Anthos

在 Anthos 队列中启用 Cloud Run for Anthos 组件,然后部署 CloudRun 自定义资源:

  1. 在 Anthos 队列中启用 Cloud Run for Anthos:

    gcloud container fleet cloudrun enable --project=PROJECT_ID
    

    PROJECT_ID 替换为您的 Cloud 项目 ID。

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

  2. 可选:验证 Cloud Run for Anthos 功能组件是否已启用:

    控制台

    查看 Google Cloud Console 中是否已启用 Cloud Run for Anthos 组件:

    转到“Anthos 功能”

    功能页面

    命令行

    查看 appdevexperience 状态是否为 ACTIVE

    gcloud container fleet features list  --project=PROJECT_ID
    

    PROJECT_ID 替换为您的 Cloud 项目 ID。

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

    结果:

    NAME               STATE
    appdevexperience   ACTIVE
    
  3. 对于要在其中安装 Cloud Run for Anthos 的每个 Anthos 集群,您必须部署 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 参考文档。

  4. 验证是否已在集群中启用 Cloud Run for Anthos:
    1. 打开 Google Cloud Console:转到“Anthos 集群”
    2. 点击集群名称以打开详细信息窗格。 示例:

      集群详细信息窗格

后续步骤

设置 Cloud Run for Anthos 的安装