将 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 |