将 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 进行交互。 您必须具有特定任务的正确权限级别。 这些角色在身份和访问权管理中设置。 请参阅 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 |