Kubernetes' command line interface (CLI), kubectl, is used to run commands
against any Kubernetes cluster. Because {product-title} runs on top of a
Kubernetes cluster, a copy of kubectl is also included with oc,
{product-title}'s command line interface (CLI).
Although there are several similarities between these two clients, this guide’s aim is to clarify the main reasons and scenarios for using one over the other.
The oc binary offers the same capabilities as the kubectl binary, but it is
further extended to natively support {product-title} features, such as:
- Full support for OpenShift resources
-
Resources such as
DeploymentConfigs,BuildConfigs,Routes,ImageStreams, andImageStreamTagsare specific to OpenShift distributions, and not available in standard Kubernetes. - Authentication
-
The
ocbinary offers a built-inlogincommand which allows authentication. See developer authentication for more information. - Additional commands
-
For example, the additional command
new-appmakes it easier to get new applications started using existing source code or pre-built images.
The kubectl binary is provided as a means to support existing workflows and
scripts for new {product-title} users coming from a standard Kubernetes
environment. Existing users of kubectl can continue to use the binary with no
changes to the API, but should consider upgrading to oc in order to gain the
added functionality mentioned in the previous section.
Because oc is built on top of kubectl, converting a kubectl binary to oc
is as simple as changing the binary’s name from kubectl to oc.
See Get Started with the CLI for installation and setup instructions.