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.