在 VMware 中安裝 Knative serving

瞭解如何在 GKE 叢集 Google Cloud外部安裝 Knative Serving。 Knative serving 現在使用 Cloud Service Mesh 和 GKE Enterprise 機群。瞭解 Knative serving 叢集安裝作業的新功能和異動項目

警告:執行本頁的步驟會重新在 VMware 上安裝 Knative Serving,並覆寫先前的非機群安裝項目,且無法復原。如果您先前已在叢集中啟用 Knative Serving,請勿繼續執行下列步驟。

如果先前安裝的是「免費試用」版 Knative Serving,您必須先將 VMware 上的 Knative Serving 升級為使用 GKE Enterprise 叢集

請按照本頁的步驟設定新安裝項目,或更新現有的 Knative Serving 機群安裝項目

事前準備

請務必符合安裝必要條件

設定 CloudRun 自訂資源

您需要手動建立及設定 CloudRun 自訂資源,才能設定安裝作業。

如要手動為CloudRun外部 Google CloudGKE 叢集建立自訂資源:

  1. 您必須建立或使用現有的服務帳戶,並授予該帳戶必要的監控指標寫入者角色 (monitoring.metricWriter)。

    • 如要建立新的服務帳戶並下載金鑰,請參閱「使用服務帳戶」。

    • 如果您有具備必要權限的現有服務帳戶,請找出建立該服務帳戶時下載的金鑰。

  2. 確認已在 Google Distributed Cloud 中啟用 Cloud Monitoring

  3. 建立 knative-serving 命名空間:

    kubectl create namespace knative-serving
    
  4. knative-serving 命名空間中建立密鑰,其中包含具備 monitoring.metricWriter 權限的服務帳戶:

    kubectl create secret -n knative-serving generic SECRET_NAME --from-file=PATH_TO_KEY_FILE/SECRET_KEY
    

    取代:

    • SECRET_NAME 改成您為密鑰選擇的名稱。
    • 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 替換為專案的 ID。 Google Cloud
    • CLUSTER_LOCATION,並將 region 或 zone 替換為叢集所在的區域。
    • CLUSTER_NAME 改成叢集 ID 或叢集的完整 ID。
    • SECRET_NAME,並將 knative-serving 命名空間的服務帳戶私密金鑰名稱。
    • SECRET_KEY,並將 knative-serving 命名空間的服務帳戶私密金鑰。例如:key.json

      如要進一步瞭解服務帳戶,請參閱:

    範例

    在這個 CloudRun 自訂資源範例中,Cloud Monitoring 的設定詳細資料會指定使用 my-gcp-logging-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 服務元件,然後部署 CloudRun 自訂資源:

  1. 在機群中啟用 Knative serving:

    gcloud container fleet cloudrun enable --project=PROJECT_ID
    

    PROJECT_ID 替換為專案 ID。 Google Cloud

    如需詳細資料和其他選項,請參閱 gcloud container fleet cloudrun enable 參考資料。

  2. 選用:確認 Knative serving 功能元件已啟用:

    控制台

    在Google Cloud 控制台中查看 Knative serving 元件是否已啟用

    前往功能管理工具

    指令列

    查看 appdevexperience 狀態是否為 ACTIVE

    gcloud container fleet features list  --project=PROJECT_ID
    

    PROJECT_ID 替換為專案 ID。 Google Cloud

    如需詳細資料和其他選項,請參閱 gcloud container fleet features list 參考資料。

    結果:

    NAME               STATE
    appdevexperience   ACTIVE
    
  3. 如要在每個 GKE Enterprise 叢集安裝 Knative Serving,您必須部署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. 確認叢集已啟用 Knative Serving:
    1. 開啟 Google Cloud 控制台:

      前往 GKE 叢集

    2. 按一下叢集名稱,開啟詳細資料窗格。

    3. 執行下列指令,確認是否能看到 Knative serving 版本詳細資料: kubectl get all -n knative-serving -o 'go-template={{index .metadata.labels "serving.knative.dev/release"}}'
    4. 確認 knative-servingappdevexperience 命名空間下,所有 Knative 服務專屬的部署作業都處於執行狀態。

後續步驟

設定 Knative serving 安裝項目