OpenShift Origin is a distribution of Kubernetes optimized for continuous application development and multi-tenant deployment. It adds developer and operations-centric tools on top of Kubernetes to enable rapid application development, easy deployment and scaling, and long-term lifecycle maintenance for small and large teams.
The quickest way to try out OpenShift on your own computer is using the
oc cluster up command.
First, install the dependencies. We’ll need Docker and the
origin-clients that provides the
$ sudo dnf install origin-clients docker
Note: we recommend following the steps in the Docker installation page to add your user to the
docker group, so that you can run the
docker command without
Now, let’s start our local all-in-one cluster. The command
oc cluster up takes care of everything:
$ oc cluster up -- Checking OpenShift client ... OK -- Checking Docker client ... OK -- Checking Docker version ... OK -- Checking for existing OpenShift container ... OK -- Checking for openshift/origin:v1.3.1 image ... Pulling image openshift/origin:v1.3.1 Pulled 0/3 layers, 3% complete Pulled 1/3 layers, 71% complete Pulled 2/3 layers, 86% complete Pulled 3/3 layers, 100% complete Extracting Image pull complete -- Checking Docker daemon configuration ... FAIL Error: did not detect an --insecure-registry argument on the Docker daemon Solution: Ensure that the Docker daemon is running with the following argument: --insecure-registry 172.30.0.0/16
If you are running a default installation of Docker, you will run into the error above.
That is okay. We will follow the suggestion on screen. The good news is that
oc cluster up downloaded the Docker image for running OpenShift Origin, so next time we run it, we already have the images offline.
To change the Docker configuration permanently, edit (as the
root user) the file
/etc/containers/registries.conf and add
172.30.0.0/16 to the list of
[registries.insecure] category. For example:
[registries.insecure] registries = ['172.30.0.0/16']
Then, restart the Docker daemon:
$ sudo systemctl restart docker
And let’s run
oc cluster up again:
$ oc cluster up -- Checking OpenShift client ... OK -- Checking Docker client ... OK -- Checking Docker version ... OK -- Checking for existing OpenShift container ... OK -- Checking for openshift/origin:v1.3.1 image ... OK -- Checking Docker daemon configuration ... OK -- Checking for available ports ... OK -- Checking type of volume mount ... Using nsenter mounter for OpenShift volumes -- Creating host directories ... OK -- Finding server IP ... Using 10.0.2.15 as the server IP -- Starting OpenShift container ... Creating initial OpenShift configuration Starting OpenShift using container 'origin' Waiting for API server to start listening OpenShift server started -- Installing registry ... OK -- Installing router ... OK -- Importing image streams ... OK -- Importing templates ... OK -- Login to server ... OK -- Creating initial project "myproject" ... OK -- Server Information ... OpenShift server started. The server is accessible via web console at: https://10.0.2.15:8443 You are logged in as: User: developer Password: developer To login as administrator: oc login -u system:admin
Done! Follow the instructions on the screen to access the OpenShift Origin Web Console.
You can deploy application from the Web Console or from the command line. As a demo and to test your new environment, you can deploy a sample Ruby application:
$ oc new-app https://github.com/openshift/ruby-hello-world --> Found Docker image 8a8cd6f (43 hours old) from Docker Hub for "centos/ruby-22-centos7" Ruby 2.2 -------- Platform for building and running Ruby 2.2 applications Tags: builder, ruby, ruby22 * An image stream will be created as "ruby-22-centos7:latest" that will track the source image * A Docker build using source code from https://github.com/openshift/ruby-hello-world will be created * The resulting image will be pushed to image stream "ruby-hello-world:latest" * Every time "ruby-22-centos7:latest" changes a new build will be triggered * This image will be deployed in deployment config "ruby-hello-world" * Port 8080 will be load balanced by service "ruby-hello-world" * Other containers can access this service through the hostname "ruby-hello-world" --> Creating resources with label app=ruby-hello-world ... imagestream "ruby-22-centos7" created imagestream "ruby-hello-world" created buildconfig "ruby-hello-world" created deploymentconfig "ruby-hello-world" created service "ruby-hello-world" created --> Success Build scheduled, use 'oc logs -f bc/ruby-hello-world' to track its progress. Run 'oc status' to view your app.
You can find more comprehensive walkthroughs in the official documentation under References.
An Online offering of the new OpenShift platform based on Docker and Kubernetes is available as a Developer Preview. For more information visit:
Once you sign up, you can interact with the cluster in the cloud using the same
oc client tool we installed on the previous section.
For more information, consult the References below.
oc clustercommand documentation