$ kn: No such file or directory
Knative (kn
) CLI 没有自己的登录机制。要登录集群,必须安装 OpenShift CLI (oc
) 并使用 oc login
命令。CLI 的安装选项可能因操作系统而异。
有关为您的操作系统安装 OpenShift CLI (oc
) 和使用 oc
登录的更多信息,请参阅OpenShift CLI 入门文档。
无法使用 Knative (kn
) CLI 安装 OpenShift Serverless。集群管理员必须安装 OpenShift Serverless Operator 并设置 Knative 组件,如安装 OpenShift Serverless Operator文档中所述。
如果尝试将旧版本的 Knative ( 例如,如果将使用版本 1.2 的 Knative ( 确保使用与 OpenShift Serverless 版本相对应的最新 Knative ( |
使用 OpenShift Container Platform Web 控制台提供了一个简化且直观的用户界面来安装 Knative (kn
) CLI。安装 OpenShift Serverless Operator 后,您将在 OpenShift Container Platform Web 控制台的“命令行工具”页面上看到一个链接,用于下载适用于 Linux (amd64、s390x、ppc64le)、macOS 或 Windows 的 Knative (kn
) CLI。
您已登录到 OpenShift Container Platform Web 控制台。
OpenShift Serverless Operator 和 Knative Serving 已安装在您的 OpenShift Container Platform 集群上。
如果libc不可用,运行 CLI 命令时可能会看到以下错误
|
如果要使用此过程的验证步骤,则必须安装 OpenShift (oc
) CLI。
从“命令行工具”页面下载 Knative (kn
) CLI。您可以通过单击 Web 控制台右上角的 图标并从列表中选择“命令行工具”。
解压存档
$ tar -xf <file>
将kn
二进制文件移动到PATH
上的目录。
要检查您的PATH
,请运行
$ echo $PATH
运行以下命令以检查是否已创建正确的 Knative CLI 资源和路由
$ oc get ConsoleCLIDownload
NAME DISPLAY NAME AGE
kn kn - OpenShift Serverless Command Line Interface (CLI) 2022-09-20T08:41:18Z
oc-cli-downloads oc - OpenShift Command Line Interface (CLI) 2022-09-20T08:00:20Z
$ oc get route -n openshift-serverless
NAME HOST/PORT PATH SERVICES PORT TERMINATION WILDCARD
kn kn-openshift-serverless.apps.example.com knative-openshift-metrics-3 http-cli edge/Redirect None
对于 Red Hat Enterprise Linux (RHEL),您可以使用包管理器(例如 `yum` 或 `dnf`)将 Knative (kn
) CLI 作为 RPM 安装。这允许系统自动管理 Knative CLI 版本。例如,使用类似 `dnf upgrade` 的命令会升级所有包,包括 `kn`(如果存在新版本)。
您的 Red Hat 帐户拥有一个活动的 OpenShift Container Platform 订阅。
注册 Red Hat Subscription Manager
# subscription-manager register
拉取最新的订阅数据
# subscription-manager refresh
将订阅附加到已注册的系统
# subscription-manager attach --pool=<pool_id> (1)
1 | 活动 OpenShift Container Platform 订阅的池 ID |
启用 Knative (kn
) CLI 所需的存储库
Linux (x86_64, amd64)
# subscription-manager repos --enable="openshift-serverless-1-for-rhel-8-x86_64-rpms"
IBM zSystems 和 IBM® LinuxONE 上的 Linux (s390x)
# subscription-manager repos --enable="openshift-serverless-1-for-rhel-8-s390x-rpms"
IBM Power 上的 Linux (ppc64le)
# subscription-manager repos --enable="openshift-serverless-1-for-rhel-8-ppc64le-rpms"
使用包管理器将 Knative (kn
) CLI 作为 RPM 安装
# yum install openshift-serverless-clients
您可能需要使用不是最新版本但处于维护阶段的 Knative (kn
) CLI 版本。您可以通过锁定 `kn` 的版本来实现这一点,这可以防止其被升级。
为 DNF 包管理器安装 `versionlock` 插件
# dnf install 'dnf-command(versionlock)'
运行以下命令锁定 `kn` 的版本:
# dnf versionlock add --raw 'openshift-serverless-clients-1.7.*'
此命令将 `kn` 锁定到基于 Knative 1.7 的版本,该版本在 OpenShift Serverless 1.29 发布时处于维护阶段。
您可以手动升级以前已锁定版本的 Knative (kn
) CLI。
检查是否有可用的升级包
# dnf search --showduplicates openshift-serverless-clients
删除 `kn` 的版本锁定
# dnf versionlock delete openshift-serverless-clients
将 `kn` 锁定到新版本
# dnf versionlock add --raw 'openshift-serverless-clients-1.8.*'
+ 此示例使用基于 Knative 1.8 的 `kn` 版本。
升级到新的可用版本
# dnf install --upgrade openshift-serverless-clients
如果您使用的是未安装 RPM 或其他包管理器的 Linux 发行版,则可以将 Knative (kn
) CLI 安装为二进制文件。为此,您必须下载并解压一个 `tar.gz` 归档文件,并将二进制文件添加到您的 `PATH` 中的目录。
如果您不使用 RHEL 或 Fedora,请确保在您的库路径上的目录中安装了 **libc**。
如果libc不可用,运行 CLI 命令时可能会看到以下错误
|
下载相关的 Knative (kn
) CLI `tar.gz` 归档文件
您还可以通过导航到 Serverless 客户端下载镜像 中相应版本的目录来下载任何版本的 `kn`。
解压存档
$ tar -xf <filename>
将kn
二进制文件移动到PATH
上的目录。
要检查您的PATH
,请运行
$ echo $PATH
如果您使用的是 macOS,则可以将 Knative (kn
) CLI 安装为二进制文件。为此,您必须下载并解压一个 `tar.gz` 归档文件,并将二进制文件添加到您的 `PATH` 中的目录。
下载 Knative (kn
) CLI `tar.gz` 归档文件。
您还可以通过导航到 Serverless 客户端下载镜像 中相应版本的目录来下载任何版本的 `kn`。
解压并提取归档文件。
将kn
二进制文件移动到PATH
上的目录。
要检查您的 `PATH`,请打开终端窗口并运行
$ echo $PATH
如果您使用的是 Windows,则可以将 Knative (kn
) CLI 安装为二进制文件。为此,您必须下载并解压一个 ZIP 归档文件,并将二进制文件添加到您的 `PATH` 中的目录。
您还可以通过导航到 Serverless 客户端下载镜像 中相应版本的目录来下载任何版本的 `kn`。
使用 ZIP 程序提取归档文件。
将kn
二进制文件移动到PATH
上的目录。
要检查您的 `PATH`,请打开命令提示符并运行命令
C:\> path