Tech Sketch Bucket of Technical Chips by TIS Inc.

OpenShift originをインストールしてみた

Pocket


昨今、Dockerのエンタープライズ基盤への利用が拡大しつつある。それに対応すべく、DockerをPaaSとして運用する為の製品が多数、開発、提供されている。

2016年8月4日にRed Hat社が「Red Hat OpenShift Enterprise」「Red Hat OpenShift Container Platform」への改名とDockerを活用し、「企業によるコンテナ活用を定着させる」ことを4大重要テーマの1つとしていることを発表した。

その「Red Hat OpenShift Container Platform」のコミュニティー版である「OpenShift origin」の評価を行うため、実際にインストールを行った手順を記事としてまとめてみた。
評価は2016年8月時点のCentOSのyumコマンドでインストール可能なバージョンを使用して実施している。

インストールの為に以下のサイトを参考にさせて頂いている。
OpenShift Origin Latest|Advanced Installation
OpenShift Origin構築手順メモ - めもめも


検証に使用した環境は以下となる。※画像はクリックすると拡大表示


CentOS 7.2をインストールしたサーバを3台使用する。1台をmasterサーバ、残り2台をnodeとして構成する。
masterサーバ上にAnsibleをインストールし、Playbookを使用して設定を行うため、masterサーバのrootアカウントから全サーバのrootアカウントにssh接続が行える必要がある。
鍵認証でssh接続を行う為の設定はパスワード認証無しでSSH接続とsudoとsuを実行する方法の記事を参照頂きたい。


OpenShiftインストールの事前準備 (master/node共通)

OpenShiftをインストールする為に必要となる設定やパッケージのインストールを行う。

1.SELINUXの設定
SELINUXはenforcingが必須となる。
$ sudo vi /etc/sysconfig/selinux

2.firewalldの無効化とiptablesの有効化
$ sudo systemctl stop firewalld
$ sudo systemctl mask firewalld
$ sudo systemctl enable iptables
$ sudo systemctl start iptables

3.パッケージのインストール
必要となるパッケージをインストールする。dockerはver 1.10を使用している。
$ sudo yum -y update
$ sudo yum install -y epel-release
$ sudo yum -y install wget git net-tools bind-utils iptables-services bridge-utils bash-completion docker pyOpenSSL

4.DockerのOPTIONSにDocker registryの設定を追加
OPTIONSの行に"--insecure-registry=172.30.0.0/16"を追加する。
$ sudo vi /etc/sysconfig/docker

Dockerの起動 (nodeのみ)

$ sudo systemctl start docker
$ sudo systemctl enable docker


Docker Strageの設定 (masterのみ)

masterサーバにDokcer Strageを構成する。Docker Strageには専用のディスク領域を割り当てる。
今回の例では /dev/sdbに領域を作成して使用している。
本作業完了前にDockerのサービスを起動してしまった場合は、Dockerを停止して、/ver/lib/dockerフォルダを削除して再実行する。

1.プライマリ領域の割り当て
$ sudo fdisk /dev/sdb

2.物理領域の作成
$ sudo pvcreate /dev/sdb1

3.ボリュームグループの作成
$ sudo vgcreate docker-vg /dev/sdb1

4.Docker Strageの設定ファイルの編集
$ sudo vi /etc/sysconfig/docker-storage-setup

5.Docker Strageを作成
$ sudo docker-storage-setup

6.Dockerのサービスを起動
$ sudo systemctl start docker
$ sudo systemctl enable docker

7.Docker Strageの構築を確認
$ sudo lvs

$ sudo lsblk /dev/sdb1


Ansible インストール (masterのみ)

Ansible 2.1.xは一部不具合があり、OpenShiftインストール用のPlaybookがエラーになってしまう為、Ansible 2.2.0をソースからビルドしてインストールを実施する。
以降の作業はmasterサーバのrootアカウントで実行する。

1.masterから各サーバへのSSH接続を確認
masterサーバのrootからパスワード無しの鍵認証で、全サーバのrootにssh接続できることを確認する。
[maintain@tissvv093 ~]$ sudo su -
[root@tissvv093 ~]# ssh tissvv093
[root@tissvv093 ~]# exit
[root@tissvv093 ~]# ssh tissvv094
[root@tissvv094 ~]# exit
[root@tissvv093 ~]# ssh tissvv095
[root@tissvv095 ~]# exit
[root@tissvv093 ~]#

2.Ansibleのビルドに必要となるパッケージの追加インストール
# yum install -y rpm-build make asciidoc git, python-setuptools python2-devel

3.Ansibleの最新バージョンのソースをgithubより取得
# cd ~
# git clone git://github.com/ansible/ansible.git --recursive
4.Ansibleをビルドしてインストール
# cd ./ansible
# make rpm
# yum install -y ./rpm-build/ansible-*.noarch.rpm
5.Ansibleのバージョンを確認
# ansible-playbook --version


OpenShift originインストール (masterのみ)

以下の作業も基本的にmasterサーバのrootアカウントで行う。

1.OpenShift originのgithubからAnsible Playbookを取得
# cd ~
# git clone https://github.com/openshift/openshift-ansible
2.Ansible実行用のhostsファイルの作成
# vi ~/openshift-ansible/playbooks/hosts

3.Ansible Playbookのチェック
実行するymlファイルの一覧が表示され、エラーが表示されなければ正常
# ansible-playbook --syntax-check ~/openshift-ansible/playbooks/byo/config.yml -i ~/openshift-ansible/playbooks/hosts

4.Ansible Playbootの実行
# ansible-playbook ~/openshift-ansible/playbooks/byo/config.yml -i ~/openshift-ansible/playbooks/hosts

最後の結果表示のunreachable/failedの件数が0件であれば正常終了


OpenShift originのインストール確認 (masterサーバ)

1.OpenShiftのシステム管理者ユーザで接続
masterサーバの接続URLが表示される。
# oc login -u system:admin

2.nodeの情報を確認
クラスタ構成されたnodeの一覧が表示される。
# oc get node

3.Docker registryの確認
# oc get service docker-registry


examplesのPodの登録 (masterサーバ)

1.testユーザでログイン
# oc login -u test
Password: test

2.新規プロジェクトの作成
# oc new-project testpj

3.openshift/deployment-exampleのPodの登録
# oc new-app openshift/deployment-example

4.ruby-exのPodの登録
# oc new-app centos/ruby-22-centos7~https://github.com/openshift/ruby-ex.git


OpenShift originの管理画面の確認

1.ブラウザでログイン画面にアクセス
testユーザでログインする。 ※画像はクリックすると拡大表示


2.プロジェクトの確認
作成したtestpjが表示されているのでクリックする。 ※画像はクリックすると拡大表示


3.Podの起動の確認
先ほど登録したサンプルのPodが起動している。 ※画像はクリックすると拡大表示



以上でOpenShift originのインストールは完了である。

エンジニア採用中!私たちと一緒に働いてみませんか?