Kubernetes' command line interface (CLI), kubectl, is used to run commands
against any Kubernetes cluster. Because OKD runs on top of a
Kubernetes cluster, a copy of kubectl is also included with oc,
OKD’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 OKD features, such as:
Resources such as DeploymentConfigs, BuildConfigs, routes, ImageStreams,
and ImageStreamTags are specific to OpenShift distributions, and not available
in standard Kubernetes.
The oc binary offers a built-in login command which allows authentication.
See developer authentication
and
configuring authentication
for more information.
For example, the additional command new-app makes 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 OKD 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.