Minishift
Minishift is a tool that helps you to run OpenShift locally by running a single-node OpenShift
cluster inside a VM. You can try out OpenShift or develop with it day-to-day on your local host.
Minishift uses libmachine for
provisioning VMs, and OpenShift Origin for running the cluster.
Installation
Prerequisites
Minishift requires a hypervisor to run the virtual machine containing OpenShift. Depending on your
host OS, you have the following choices:
The driver can be selected via the --vm-driver=xxx
flag of minishift start
. See
docker machine drivers for more details on supported drivers
and how to install them.
Note: For most hyervisor VT-x/AMD-v virtualization must be enabled in BIOS. For Hyper-V, however,
it needs to be disabled.
Instructions
Download the archive matching your host OS from the Minishift releases page and unpack it. Then copy the contained binary to your preferred
location and optionally ensure it is added to your PATH.
On OS X you can also use Homebrew Cask to install Minishift:
$ brew cask install minishift
Quickstart
This section contains a brief demo of Minishift usage.
Starting Minishift
Note that the IP below is dynamic and can change. It can be retrieved with minishift ip
.
$ minishift start
Starting local OpenShift cluster...
...
OpenShift server started.
The server is accessible via web console at:
https://192.168.99.128:8443
You are logged in as:
User: developer
Password: developer
To login as administrator:
oc login -u system:admin
# Adding 'oc' to the PATH (Note, concrete version might be different)
$ export PATH=$PATH:~/.minishift/cache/oc/v1.3.1
# Authenticate against OpenShift
$ oc login https://192.168.99.128:8443 -u developer -p developer
# Create Node.js example app
$ oc new-app https://github.com/openshift/nodejs-ex -l name=myapp
# Tail the built log until the app is build and deployed
$ oc logs -f bc/nodejs-ex
# Expose a route to the service
oc expose svc/nodejs-ex
# Access the app
$ curl http://nodejs-ex-myproject.192.168.99.128.xip.io
$ minishift stop
Stopping local OpenShift cluster...
Stopping "minishift"...
Reusing the Docker daemon
When running OpenShift in a single VM, it's recommended to reuse the Docker daemon Minishift uses
for pure Docker use-cases as well.
You can use the same docker daemon as Minishift, which speeds up local experiments.
To be able to work with the docker daemon on your Mac/Linux host use the
docker-env command in your shell:
eval $(minishift docker-env)
You should now be able to use docker on the command line of your host talking to the docker daemon
inside the Minishift VM:
docker ps
Documentation
The following documentation is available:
Known Issues
The following features are not supported in Minishift.
- Features that require a Cloud Provider, such as:
- LoadBalancers
- PersistentVolumes
- Ingress
- Features that require multiple nodes, such as advanced scheduling policies
- Alternate runtimes such as
rkt
Minishift is an open-source project dedicated to developing and supporting Minishift.
The code base is forked from the Minikube project.
Contributions, questions, and comments are all welcomed and encouraged! Minishift
developers hang out on IRC in the #openshift-dev channel on Freenode.
If you want to contribute, make sure to follow the contribution guidelines
when you open issues or submit pull requests.