Skip to content

Instantly share code, notes, and snippets.

@jimmidyson
Last active August 29, 2015 14:16
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jimmidyson/86c3926913fcf2b88a81 to your computer and use it in GitHub Desktop.
Save jimmidyson/86c3926913fcf2b88a81 to your computer and use it in GitHub Desktop.
OpenShift v3 setup - WORK IN PROGRESS

Skip if you're not using Atomic.

If using Fedora/Centos/RHEL Atomic, make sure you've either added a second disk big enough for your Docker images/containers. If you've added a second disk, then you should edit /etc/sysconfig/docker-storag-setup & add in the following:

DEVS=/dev/vdb

Then run sudo docker-storage-setup & your new disk will be used for docker storage.

On your master node it is useful to set up a couple of aliases to make your life easier. Add the following to your ~/.bashrc:

alias osc='sudo docker run --rm -i --net=host -v /var/lib/openshift:/var/lib/openshift --privileged --entrypoint=osc ${OPENSHIFT_IMAGE} --kubeconfig=/var/lib/openshift/openshift.local.certificates/admin/.kubeconfig'
alias osc_ex='sudo docker run --rm -i --net=host -v /var/lib/openshift:/var/lib/openshift --privileged ${OPENSHIFT_IMAGE} ex --kubeconfig=/var/lib/openshift/openshift.local.certificates/admin/.kubeconfig --credentials=/var/lib/openshift/openshift.local.certificates/admin/.kubeconfig'

We're going to run OpenShift components as a Docker container for simplicity. Let's start a single master (remember in production you're going to want multiple masters but let's save that for another day). On your master server, run:

sudo docker run -d --name=openshift -v /var/run/docker.sock:/var/run/docker.sock -v /var/lib/openshift:/var/lib/openshift --privileged --net=host openshift/origin:v0.3.4 start --portal-net='172.30.17.0/24' --cors-allowed-origins='.*' --nodes=127.0.0.1[,IP_OF_OTHER_NODES]

This will start an OpenShift master & generate certificates used to secure communications between nodes & master, as well as clients & master.

For each node you want to add, you first have to copy over the contents of /var/lib/openshift/openshift.local.certificates/admin/ to all nodes. This will hopefully change in future, but for now is required. You can use scp to do this or however you want to do it. On node server:

mkdir -p /var/lib/openshift/openshift.local.certificates/
scp -r <MASTER_SERVER>:/var/lib/openshift/openshift.local.certificates/admin/ /var/lib/openshift/openshift.local.certificates/admin/

Once you've done that you can start up the node docker container:

sudo docker run -d --name=openshift-minion -v /var/run/docker.sock:/var/run/docker.sock -v /var/lib/openshift:/var/lib/openshift --privileged --net=host openshift/origin:v0.3.4 start node --master=<MASTER_SERVER> --kubeconfig=/var/lib/openshift/openshift.local.certificates/admin/.kubeconfig

We're going to create the docker registry & openshift router services first to ensure they're available when we deploy fabric8:

osc_ex registry --create
osc_ex router --create
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment