Created
February 21, 2017 01:55
-
-
Save timfreund/bf47fd9ddf6e105198f63f684d920137 to your computer and use it in GitHub Desktop.
openshift via docker on centos 7
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# install docker | |
yum install -y docker | |
systemctl enable docker | |
systemctl start docker | |
# download openshift image | |
docker pull openshift/origin:v1.4.1 | |
# make some directories we'll use in the next step | |
mkdir -p /var/lib/origin/openshift.local.config | |
mkdir -p /var/lib/origin/openshift.local.etcd | |
mkdir -p /var/lib/origin/openshift.local.volumes | |
# write out openshift config files. OpenShift can run without any | |
# configuration files, but this gives us the option of changing the | |
# config to, say, add authentication | |
docker run -i \ | |
--privileged --pid=host --net=host \ | |
-v /var/lib/origin/openshift.local.config:/var/lib/origin/openshift.local.config:rw \ | |
openshift/origin:v1.4.1 start --write-config=/var/lib/origin/openshift.local.config | |
# run it! | |
docker run -d --name "origin" \ | |
--privileged --pid=host --net=host --restart=always \ | |
-v /:/rootfs:ro \ | |
-v /var/run:/var/run:rw \ | |
-v /sys:/sys \ | |
-v /var/lib/docker:/var/lib/docker:rw \ | |
-v /var/log:/var/log:rw \ | |
-v /var/lib/origin/openshift.local.config:/var/lib/origin/openshift.local.config:rw \ | |
-v /var/lib/origin/openshift.local.etcd:/var/lib/origin/openshift.local.etcd:rw \ | |
-v /var/lib/origin/openshift.local.volumes:/var/lib/origin/openshift.local.volumes:rslave \ | |
openshift/origin:v1.4.1 start --master-config=/var/lib/origin/openshift.local.config/master/master-config.yaml --node-config=/var/lib/origin/openshift.local.config/node-localhost.localdomain.localdomain/node-config.yaml | |
# ... it's running, but it's not functional yet... | |
# Download some image stream and database templates. | |
yum install -y unzip | |
curl -o /usr/local/src/origin.zip https://codeload.github.com/openshift/origin/zip/master | |
unzip /usr/local/src/origin.zip -d /usr/local/src/ | |
docker exec -i origin oc create -f /rootfs/usr/local/src/origin-master/examples/image-streams/image-streams-centos7.json -n openshift | |
docker exec -i origin oc create -f /rootfs/usr/local/src/origin-master/examples/db-templates -n openshift | |
# this is lazy... | |
sleep 10 | |
# Nothing's going to work without a docker registry... | |
docker exec -i origin oadm registry | |
# If you want applications exposed to the public, you're | |
# going to need routers, and a service account for the routers. | |
echo '{"kind":"ServiceAccount","apiVersion":"v1","metadata":{"name":"router"}}' > /tmp/router_account.json | |
docker exec -i origin oc create -f /rootfs/tmp/router_account.json | |
docker exec -i origin oadm policy add-scc-to-user hostnetwork -z router | |
docker exec -i origin oadm router --service-account=router | |
rm -f /tmp/router_account.json |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment