LoginSignup
9
8

More than 5 years have passed since last update.

OpenShift Origin v3を自前環境にセットアップするメモ

Last updated at Posted at 2015-10-02

OpenShiftそのものをDockerで動かす構成でセットアップしようとしていろいろハマったので作業ログを残しておく

1. 環境を用意する

1-1. 仮想マシン立ち上げ

Vagrantで適当な実験環境を作る。Vagrantfileはこちら

仮想マシンを立ち上げ、SSHで中に入る。ここから先はすべて仮想環境で実行。

$ ls
Vagrantfile docker-compose.yml

$ vagrant up
$ vagrant ssh

ここでの仮想マシンのIPアドレスは192.168.99.101

1-2. Dockerをインストール

yumで普通にインストールする。ついでにdocker-composeも入れておく。

Dockerを立ち上げる前に/etc/sysconfig/dockerをいじってinsecure registryを許可するようにする。
OpenShiftの内部では自前でdocker registryを持っていて、そこからビルドされたアプリが出し入れされる模様。
今回は簡単に--insecure-regisry 0.0.0.0/0をつけて起動するように変更。

これらの操作はVagrantfileの中で実行済み。
ちなみに今回利用したdockerコンテナ内のOpenShiftバイナリのバージョンは1.0.6

2. OpenShiftコンテナを立ち上げる

2-1. コンテナの立ち上げ

こんな感じのdocker-compose.ymlを使って立ち上げる。

$ cd /vagrant
$ ls
Vagrantfile docker-compose.yml

$ sudo docker-compose up -d

2-2. OpenShiftのWeb UIを開いてみる

(仮想環境の)ホスト側からhttp://openshift.192.168.99.101.xip.io:8443を開き、ログインできればOK。
ちなみに管理者のIDと初期パスワードはadmin:adminになっているはず。

3. OpenShift用のDocker registryを立ち上げる

ここから先は簡単のためOpenShiftコンテナの中で作業する。

$ sudo docker ps  # コンテナのIDなどを確認
$ sudo docker exec -it vagrant_origin_1 /bin/bash

Docker Registryを立ち上げる。
立ち上げておかないとアプリのビルドで失敗する。

# oadm registry --create --credentials=openshift.local.config/master/openshift-registry.kubeconfig --config=openshift.local.config/master/admin.kubeconfig

4. OpenShiftの内外をつなぐためのルータを立ち上げる

# echo '{"kind":"ServiceAccount","apiVersion":"v1","metadata":{"name":"router"}}' | oc create -f -
# oc edit scc privileged
(users: の中に`- system:serviceaccount:default:router`を追加)
# oadm router router --credentials=openshift.local.config/master/openshift-router.kubeconfig --service-account=router

5. 適当なアプリをデプロイしてみる

https://github.com/openshift/nodejs-ex をデプロイしてみる。

# oc login --username=admin --password=admin
# oc new-project my-project
# oc new-app openshift/nodejs-010-centos7~https://github.com/openshift/nodejs-ex.git

Web UI(またはoc status)で「ビルドしてます」的な画面が見える。終わるまで少し待つ。
ビルド終了後、Web UIなどに出ているアドレス(172.17.0.7:8080とか)へアクセスして応答が帰ってくることを確認する。

6. 外から見えるようにする

(仮想環境の)ホスト側から直接アプリが見えるようにする。

# oc expose service nodejs-ex --hostname=nodejs-ex.openshift.192.168.99.101.xip.io

ホスト側からnodejs-ex.openshift.192.168.99.101.xip.ioでアクセスできるようになっていればOK。
おつかれさまでした。

参考

9
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
8