A user performs a range of operations while working on OKD such as the following:
Managing clusters
Building, deploying, and managing applications
Managing deployment processes
Developing Operators
Creating and maintaining Operator catalogs
OKD offers a set of command-line interface (cli) tools that simplify these tasks by enabling users to perform various administration and development operations from the terminal. These tools expose simple commands to manage the applications, as well as interact with each component of the system.
The following set of cli tools are available in OKD:
OpenShift cli (oc): This is the most commonly used cli tool by OKD users. It helps both cluster administrators and developers to perform end-to-end operations across OKD using the terminal. Unlike the web console, it allows the user to work directly with the project source code using command scripts.
Developer cli (odo): The odo
cli tool helps developers focus on their main goal of creating and maintaining applications on OKD by abstracting away complex Kubernetes and OpenShift Container Platform concepts. It helps the developers to write, build, and debug applications on a cluster from the terminal without the need to administer the cluster.
Knative cli (kn): The Knative (kn
) cli tool provides simple and intuitive terminal commands that can be used to interact with OpenShift Serverless components, such as Knative Serving and Eventing.
Pipelines cli (tkn): OpenShift Pipelines is a continuous integration and continuous delivery (CI/CD) solution in OKD, which internally uses Tekton. The tkn
cli tool provides simple and intuitive commands to interact with OpenShift Pipelines using the terminal.
opm cli: The opm
cli tool helps the Operator developers and cluster administrators to create and maintain the catalogs of Operators from the terminal.
Operator SDK: The Operator SDK, a component of the Operator Framework, provides a cli tool that Operator developers can use to build, test, and deploy an Operator from the terminal. It simplifies the process of building Kubernetes-native applications, which can require deep, application-specific operational knowledge.