Menu Close
第 12 章 CLI 工具
12.1. 安装 Knative CLI
oc
CLI 的安装选项可能因您的操作系统而异。
Knative CLI(kn
)本身没有登录机制。要登录到集群,必须安装 oc
CLI 并使用 oc login
命令。
有关为您的操作系统安装 oc
CLI 并使用 oc
登录的更多信息,请参阅 OpenShift CLI 启动文档。
OpenShift Serverless 不能使用 kn
CLI 安装。集群管理员必须安装 OpenShift Serverless Operator 并设置 Knative 组件,如 安装 OpenShift Serverless Operator 文档所述。
如果您试图将较旧版本的 Knative kn
CLI 与较新的 OpenShift Serverless 发行版本搭配使用,则不会找到 API,并出现错误。
例如,如果您使用 kn
CLI 的 1.16.0 发行版本,它使用版本 0.22.0,其 1.17.0 OpenShift Serverless 发行版本使用 Knative Serving 和 Knative Eventing API 的 0.23.0 版本,则 CLI 无法正常工作,因为它仍然会查找过时的 0.22.0 API 版本。
确保您使用 OpenShift Serverless 发行版本的最新 kn
CLI 版本来避免问题。
12.1.1. 使用 OpenShift Container Platform Web 控制台安装 Knative CLI
安装 OpenShift Serverless Operator 后,您会在 OpenShift Container Platform Web 控制台的 Command Line Tools 页面中看到下载 Linux(x86_64、amd64、s390x、ppc64le)、macOS 或 Windows 的 Knative CLI(kn
)的链接。
您可以点击 web 控制台右上角的
图标进入 Command Line Tools 页,然后在下拉菜单中选择 Command Line Tools。
流程
-
从 Command Line Tools 页下载
kn
CLI。 解包存档:
$ tar -xf <file>
-
将
kn
二进制文件移到PATH
中的目录中。 运行以下命令可以查看
PATH
的值:$ echo $PATH
注意如果不使用 RHEL 或 Fedora,请确保将 libc 安装在库路径的目录中。如果 libc 不可用,您在运行 CLI 命令时可能会看到以下错误:
$ kn: No such file or directory
12.1.2. 使用 RPM 为 Linux 安装 Knative CLI
对于 Red Hat Enterprise Linux(RHEL),如果您的红帽帐户上已有活跃的 OpenShift Container Platform 订阅,则可将 Knative CLI(kn
)安装为 RPM。
流程
输入命令:
# subscription-manager register
输入命令:
# subscription-manager refresh
输入命令:
# subscription-manager attach --pool=<pool_id> 1
- 1
- 活跃的 OpenShift Container Platform 订阅的池 ID
输入命令:
# subscription-manager repos --enable="openshift-serverless-1-for-rhel-8-x86_64-rpms"
输入命令:
# yum install openshift-serverless-clients
12.1.3. 为 Linux 安装 Knative CLI
对于 Linux 发行版本,您可以直接下载 Knative CLI(kn
)作为 tar.gz 归档
。
流程
-
下载
kn
CLI。 解包存档:
$ tar -xf <file>
-
将
kn
二进制文件移到PATH
中的目录中。 运行以下命令可以查看
PATH
的值:$ echo $PATH
注意如果不使用 RHEL 或 Fedora,请确保将 libc 安装在库路径的目录中。如果 libc 不可用,您在运行 CLI 命令时可能会看到以下错误:
$ kn: No such file or directory
12.1.4. 使用 RPM 在 IBM Power 上安装 Linux
对于 Red Hat Enterprise Linux(RHEL),如果您的红帽帐户上已有活跃的 OpenShift Container Platform 订阅,则可将 Knative CLI(kn
)安装为 RPM。
流程
在第一次引导过程中使用红帽订阅管理(RHSM)服务注册:
# subscription-manager register
刷新 RHSM:
# subscription-manager refresh
使用
--pool
选项通过指定订阅池 ID 将订阅附加到系统:# subscription-manager attach --pool=<pool_id> 1
- 1
- 活跃的 OpenShift Container Platform 订阅的池 ID
使用 Red Hat Subscription Manager 启用软件仓库:
# subscription-manager repos --enable="openshift-serverless-1-for-rhel-8-ppc64le-rpms"
在系统中安装
openshift-serverless-clients
:# yum install openshift-serverless-clients
12.1.5. 在 IBM Power 上安装 Linux 的 Knative CLI
对于 Linux 发行版本,您可以直接下载 Knative CLI(kn
)作为 tar.gz 归档
。
流程
-
下载
kn
CLI。 解包存档:
$ tar -xf <file>
-
将
kn
二进制文件移到PATH
中的目录中。 运行以下命令可以查看
PATH
的值:$ echo $PATH
注意如果不使用 RHEL,请确保将 libc 安装在库路径的目录中。
如果 libc 不可用,您在运行 CLI 命令时可能会看到以下错误:
$ kn: No such file or directory
12.1.6. 使用 RPM 在 IBM Z 和 LinuxONE 上安装 Linux 的 Knative CLI
对于 Red Hat Enterprise Linux(RHEL),如果您的红帽帐户上已有活跃的 OpenShift Container Platform 订阅,则可将 Knative CLI(kn
)安装为 RPM。
流程
在第一次引导过程中使用红帽订阅管理(RHSM)服务注册:
# subscription-manager register
刷新 RHSM:
# subscription-manager refresh
使用
--pool
选项通过指定订阅池 ID 将订阅附加到系统:# subscription-manager attach --pool=<pool_id> 1
- 1
- 活跃的 OpenShift Container Platform 订阅的池 ID
使用 Red Hat Subscription Manager 启用软件仓库:
# subscription-manager repos --enable="openshift-serverless-1-for-rhel-8-s390x-rpms"
在系统中安装
openshift-serverless-clients
:# yum install openshift-serverless-clients
12.1.7. 在 IBM Z 和 LinuxONE 上安装 Linux 的 Knative CLI
对于 Linux 发行版本,您可以直接下载 Knative CLI(kn
)作为 tar.gz 归档
。
流程
-
下载
kn
CLI。 解包存档:
$ tar -xf <file>
-
将
kn
二进制文件移到PATH
中的目录中。 运行以下命令可以查看
PATH
的值:$ echo $PATH
注意如果不使用 RHEL,请确保将 libc 安装在库路径的目录中。
如果 libc 不可用,您在运行 CLI 命令时可能会看到以下错误:
$ kn: No such file or directory
12.1.8. 为 macOS 安装 Knative CLI
macOS 的 Knative CLI(kn
)以 tar.gz
文件形式提供。
流程
-
下载
kn
CLI。 - 解包和解压存档。
-
将
kn
二进制文件移到PATH
中的目录中。 要查看
PATH
,打开终端窗口并运行:$ echo $PATH
12.1.9. 为 Windows 安装 Knative CLI
Windows 的 Knative CLI(kn
)以 zip 文件形式提供。
流程
-
下载
kn
CLI。 - 使用 ZIP 程序解压存档。
-
将
kn
二进制文件移到PATH
中的目录中。 要查看您的
PATH
,请打开命令窗口并运行以下命令:C:\> path
12.1.10. 自定义 Knative CLI
您可以通过创建 config.yaml
配置文件来自定义 kn
CLI 设置。您可以使用 --config
标志来提供此配置,否则会从默认位置提取配置。默认配置位置符合 XDG Base Directory 规格,在 Unix 系统和 Windows 系统上有所不同。
对于 Unix 系统:
-
如果设置了
XDG_CONFIG_HOME
环境变量,kn
CLI 查找的默认配置位置为$XDG_CONFIG_HOME/kn
。 -
如果没有设置
XDG_CONFIG_HOME
环境变量,kn
CLI 会在$HOME/.config/kn/config.yaml
的用户主目录中查找配置。
对于 Windows 系统,默认的 kn
CLI 配置位置为 %APPDATA%\kn
。
配置文件示例
plugins: path-lookup: true 1 directory: ~/.config/kn/plugins 2 eventing: sink-mappings: 3 - prefix: svc 4 group: core 5 version: v1 6 resource: services 7
- 1
- 指定
kn
CLI 是否应该在PATH
环境变量中查找插件。这是一个布尔值配置选项。默认值为false
。 - 2
- 指定
kn
CLI 将查找插件的目录。默认路径取决于操作系统,如上所述。这可以是用户可见的任何目录。 - 3
sink-mappings
spec 定义了在kn
CLI 命令中使用--sink
标志时使用的 Kubernetes 可寻址资源。- 4
- 您用来描述接收器(sink)的前缀。
svc
(用于服务)、channel
和broker
是kn
中预定义的前缀。 - 5
- Kubernetes 资源的 API 组。
- 6
- Kubernetes 资源的版本。
- 7
- Kubernetes 资源类型的复数名称。例如,
services
或brokers
。
12.1.11. Knative CLI 插件
kn
CLI 支持使用插件,这允许您通过添加不是核心发行版本一部分的自定义命令和其他共享命令来扩展 kn
安装的功能。kn
CLI 插件的使用方式与主 kn
功能相同。
目前,红帽支持 kn-source-kafka
插件。