搭配使用 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 |