IBM Cloud Docs
搭配使用 Knative 與 Code Engine

搭配使用 Knative 與 Code Engine

IBM Cloud® Code Engine 是設計成您不需要與建置它所依據的基礎技術互動。 不過,如果您具有以 Knative 為基礎的現有工具,則仍然可以將其與 Code Engine搭配使用。Code Engine 支援 Knative API (及 Kubernetes) 及其 CLI 指令。 如需 Kubernetes的相關資訊,請參閱 搭配使用 Kubernetes 與 Code Engine

何謂受支援的 Knative 版本?

Code Engine支援版本1.15 Knative API 及其 CLI 指令。

安裝 Knative 命令列介面

若要安裝 Knative (kn),請下載並安裝 Knative CLI

若要將 Knative 與 Code Engine搭配使用,您必須先設定環境,以與 Code Engine的 Kubernetes API 互動。 如需相關資訊,請參閱 安裝 Kubernetes 指令行介面

如需 Kubernetes 和 Knative 以及它們如何使用 Code Engine 架構的相關資訊,請參閱 瞭解 Code Engine 架構和工作量隔離

與 Kubernetes API 互動

若要從 Kubernetes 指令行介面 kubectl 或與 Knative 互動,kn 您必須設定環境以與 Code Engine的 Kubernetes API 互動。

開始之前

您可以使用下列方式來設定環境。

  • 您可以將 --kubecfg 選項新增至 project select 指令。 例如,

    ibmcloud ce project select --name PROJECT_NAME --kubecfg
    
  • 您可以直接匯出 kubeconfig 檔案。 執行 ibmcloud ce project current 指令,以尋找您目前設為目標的專案。 此指令也會傳回 kubeconfig 檔案的 export 指令。 例如,

    ibmcloud ce project current
    

    輸出範例

    Getting the current project context...
    OK
    
    Name:       myproject
    ID:         01234567-abcd-abcd-abcd-abcdabcd1111
    Subdomain:  aabon2dfwa0
    Domain:     us-south.codeengine.appdomain.cloud
    Region:     us-south
    Kubectl Context:  4svg40kna19
    
    Kubernetes Config:
    Context:             aabon2dfwa0
    Environment Variable: export KUBECONFIG=/user/myusername/.bluemix/plugins/code-engine/myproject-01234567-abcd-abcd-abcd-abcdabcd1111.yaml
    

    然後,複製匯出指令,將它貼到您的指令行介面,並執行它。

執行 kubectl config 指令,以驗證您的環境是否已正確設定。

kubectl config current-context

如果正確設定環境定義,則輸出會符合專案的 Kubectl Context 值。 例如,如果專案的 Kubectl Context 值為 4svg40kna19,則指令會傳回 4svg40kna19

如需 Kubernetes 及其如何使用 Code Engine 架構的相關資訊,請參閱 瞭解 Code Engine 架構及工作量隔離

使用 Knative API 所需的存取權

設定環境之後,您可以與 Knative API 互動。 您必須具有特定作業的正確權限層次。 這些角色設定在 Identity and Access Management 中。 請參閱 IBM Cloud 服務角色

本國權威
資源 管理員角色 撰寫者角色 讀者角色
services.serving.knative.dev get, list, watch, create, delete, update, patch, apply, edit get, list, watch, create, delete, update, patch, apply, edit get, list, watch
configurations.serving.knative.dev get, list, watch, create, delete, update, patch, apply, edit get, list, watch, create, delete, update, patch, apply, edit get, list, watch
routes.serving.knative.dev get, list, watch, create, delete, update, patch, apply, edit get, list, watch, create, delete, update, patch, apply, edit get, list, watch
revisions.serving.knative.dev get, list, watch, create, delete, update, patch, apply, edit get, list, watch, create, delete, update, patch, apply, edit get, list, watch
pingsource.serving.knative.dev get, list, watch, create, delete, update, patch, apply, edit get, list, watch, create, delete, update, patch, apply, edit get, list, watch
kafkasource.serving.knative.dev get, list, watch, create, delete, update, patch, apply, edit get, list, watch, create, delete, update, patch, apply, edit get, list, watch