搭配使用 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 互動。
開始之前
- 您必須 建立專案,且專案必須處於
active
狀態。 - 安裝 Kubernetes CLI(
kubectl
) 及 Knative CLI(kn
)。
您可以使用下列方式來設定環境。
-
您可以將
--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 |