As you may already know, OpenShift Origin, the Red Hat distribution of Kubernetes, was recently renamed OKD.

I couldn't find a document that explained the difference between the various methods for deploying an OKD dev environment so I thought this would be helpful.

oc cluster up

oc cluster up is a command that is part of the oc (OpenShift Client) binary. Linux is currently the only supported platform for running the command. It will call Docker on the host where the command is run and bootstrap a local OKD cluster. The version of OKD that gets created is relative to your version of oc. It was first introduced in OpenShift Origin 1.3 and was created to give engineers a quick way to test their work. It is best suited for creating quick, disposable environments that you don't plan on persisting (i.e. testing, adding to your CI/CD workflow, etc.). If you are eager to try out the latest OKD release, you'll usually be able to get your hands on it via oc cluster up.

You can download the oc binary from here and place it in your path.

You can check out all the available oc cluster commands by running oc cluster --help.

More info can be found here as well.


minishift is supported on a variety of platforms including MacOS, Windows, and Linux. It uses libmachine for provisoning a single-node OKD cluster and is compatible with a variety of hypervisors like VirtualBox, VMware Fusion, xhyve, hyperkit, etc). Behind the scenes, it is actually using oc cluster up. It has some very cool profiling features for creating and persisting a variety of dev environments. It's great if you are looking for a local, reusable, dev environment that's isolated in a virtual machine.

More info on installing Minishift can be found here.

CDK (Container Development Kit)

CDK could best be described as an Enterprise version of minishift. It is a downstream productized version of minishift that allows a user with a Red Hat developer subscription to deploy OpenShift on Red Hat Enterprise Linux (RHEL).

More info can be found here.

Installing manually via Ansible Playbooks

If you want to deploy an environment the "official way", you can always provision a single virtual machine and manually run the ansible-openshift playbooks.

Check out this video from Grant Shipley that shows you how to do it with a handy script.


comments powered by Disqus