Chapter 3. Installing the Knative CLI
Chapter 3. Installing the Knative CLI The Knative ( kn ) CLI does not have its own login mechanism. To log in to the cluster, you must install the OpenShift CLI ( oc ) and use the oc login command. Installation options for the CLIs may vary depending on your operating system. For more information on installing the OpenShift CLI ( oc ) for your operating system and logging in with oc , see the OpenShift CLI getting started documentation. OpenShift Serverless cannot be installed using the Knative ( kn ) CLI. A cluster administrator must install the OpenShift Serverless Operator and set up the Knative components, as described in the Installing the OpenShift Serverless Operator documentation. Important If you try to use an older version of the Knative ( kn ) CLI with a newer OpenShift Serverless release, the API is not found and an error occurs. For example, if you use the 1.23.0 release of the Knative ( kn ) CLI, which uses version 1.2, with the 1.24.0 OpenShift Serverless release, which uses the 1.3 versions of the Knative Serving and Knative Eventing APIs, the CLI does not work because it continues to look for the outdated 1.2 API versions. Ensure that you are using the latest Knative ( kn ) CLI version for your OpenShift Serverless release to avoid issues. 3.1. Installing the Knative CLI using the OpenShift Container Platform web console Using the OpenShift Container Platform web console provides a streamlined and intuitive user interface to install the Knative ( kn ) CLI. After the OpenShift Serverless Operator is installed, you will see a link to download the Knative ( kn ) CLI for Linux (amd64, s390x, ppc64le), macOS, or Windows from the Command Line Tools page in the OpenShift Container Platform web console. Prerequisites You have logged in to the OpenShift Container Platform web console. The OpenShift Serverless Operator and Knative Serving are installed on your OpenShift Container Platform cluster. Important If libc is not available, you might see the following error when you run CLI commands: USD kn: No such file or directory If you want to use the verification steps for this procedure, you must install the OpenShift ( oc ) CLI. Procedure Download the Knative ( kn ) CLI from the Command Line Tools page. You can access the Command Line Tools page by clicking the icon in the top right corner of the web console and selecting Command Line Tools in the list. Unpack the archive: USD tar -xf <file> Move the kn binary to a directory on your PATH . To check your PATH , run: USD echo USDPATH Verification Run the following commands to check that the correct Knative CLI resources and route have been created: USD oc get ConsoleCLIDownload Example output 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 USD oc get route -n openshift-serverless Example output NAME HOST/PORT PATH SERVICES PORT TERMINATION WILDCARD kn kn-openshift-serverless.apps.example.com knative-openshift-metrics-3 http-cli edge/Redirect None 3.2. Installing the Knative CLI for Linux by using an RPM package manager For Red Hat Enterprise Linux (RHEL), you can install the Knative ( kn ) CLI as an RPM by using a package manager, such as yum or dnf . This allows the Knative CLI version to be automatically managed by the system. For example, using a command like dnf upgrade upgrades all packages, including kn , if a new version is available. Prerequisites You have an active OpenShift Container Platform subscription on your Red Hat account. Procedure Register with Red Hat Subscription Manager: # subscription-manager register Pull the latest subscription data: # subscription-manager refresh Attach the subscription to the registered system: # subscription-manager attach --pool=<pool_id> 1 1 Pool ID for an active OpenShift Container Platform subscription Enable the repositories required by the Knative ( kn ) CLI: Linux (x86_64, amd64) # subscription-manager repos --enable="openshift-serverless-1-for-rhel-8-x86_64-rpms" Linux on IBM zSystems and IBM(R) LinuxONE (s390x) # subscription-manager repos --enable="openshift-serverless-1-for-rhel-8-s390x-rpms" Linux on IBM Power (ppc64le) # subscription-manager repos --enable="openshift-serverless-1-for-rhel-8-ppc64le-rpms" Install the Knative ( kn ) CLI as an RPM by using a package manager: Example yum command # yum install openshift-serverless-clients 3.3. Locking version for the Knative CLI installed with RPM package manager You might require to use Knative ( kn ) CLI version that is not the most recent, but is in Maintenance Phase. You can achieve that by locking the version of kn , which prevents it from being upgraded. Procedure Install the versionlock plugin for the DNF package manager: # dnf install 'dnf-command(versionlock)' Lock the version of kn by running: # dnf versionlock add --raw 'openshift-serverless-clients-1.7.*' This command locks kn to be the version based on Knative 1.7, which is in Maintenance Phase at the time of release of OpenShift Serverless 1.29. 3.4. Upgrading the Knative CLI with locked version You can manually upgrade the Knative ( kn ) CLI version that has previously been version-locked. Procedure Check whether upgraded packages are available: # dnf search --showduplicates openshift-serverless-clients Remove the version lock of kn : Lock kn to the new version: + This example uses the kn version that is based on Knative 1.8. Upgrade to the new available version: # dnf install --upgrade openshift-serverless-clients 3.5. Installing the Knative CLI for Linux If you are using a Linux distribution that does not have RPM or another package manager installed, you can install the Knative ( kn ) CLI as a binary file. To do this, you must download and unpack a tar.gz archive and add the binary to a directory on your PATH . Prerequisites If you are not using RHEL or Fedora, ensure that libc is installed in a directory on your library path. Important If libc is not available, you might see the following error when you run CLI commands: USD kn: No such file or directory Procedure Download the relevant Knative ( kn ) CLI tar.gz archive: Linux (x86_64, amd64) Linux on IBM zSystems and IBM(R) LinuxONE (s390x) Linux on IBM Power (ppc64le) You can also download any version of kn by navigating to that version's corresponding directory in the Serverless client download mirror . Unpack the archive: USD tar -xf <filename> Move the kn binary to a directory on your PATH . To check your PATH , run: USD echo USDPATH 3.6. Installing the Knative CLI for macOS If you are using macOS, you can install the Knative ( kn ) CLI as a binary file. To do this, you must download and unpack a tar.gz archive and add the binary to a directory on your PATH . Procedure Download the Knative ( kn ) CLI tar.gz archive . You can also download any version of kn by navigating to that version's corresponding directory in the Serverless client download mirror . Unpack and extract the archive. Move the kn binary to a directory on your PATH . To check your PATH , open a terminal window and run: USD echo USDPATH 3.7. Installing the Knative CLI for Windows If you are using Windows, you can install the Knative ( kn ) CLI as a binary file. To do this, you must download and unpack a ZIP archive and add the binary to a directory on your PATH . Procedure Download the Knative ( kn ) CLI ZIP archive . You can also download any version of kn by navigating to that version's corresponding directory in the Serverless client download mirror . Extract the archive with a ZIP program. Move the kn binary to a directory on your PATH . To check your PATH , open the command prompt and run the command: C:\> path
kn: No such file or directory tar -xf <file> echo USDPATH 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 subscription-manager register subscription-manager refresh subscription-manager attach --pool=<pool_id> 1 subscription-manager repos --enable="openshift-serverless-1-for-rhel-8-x86_64-rpms" subscription-manager repos --enable="openshift-serverless-1-for-rhel-8-s390x-rpms" subscription-manager repos --enable="openshift-serverless-1-for-rhel-8-ppc64le-rpms" yum install openshift-serverless-clients dnf install 'dnf-command(versionlock)' dnf versionlock add --raw 'openshift-serverless-clients-1.7.*' dnf search --showduplicates openshift-serverless-clients dnf versionlock delete openshift-serverless-clients dnf versionlock add --raw 'openshift-serverless-clients-1.8.*' dnf install --upgrade openshift-serverless-clients kn: No such file or directory tar -xf <filename> echo USDPATH echo USDPATH C:\> path