OpenShift Origin 3.9 インストール
その2 環境とホスト作成

こんにちは。平田です。

前回のエントリではインストール手順の概要を説明しました。このエントリではOpenShiftクラスタ用の環境とホストを作成します。

VirtualBox設定

仮想マシンを立てる前に、ホスト間で通信させるためのNATネットワークを作成します。

  1. VirtualBox > 設定… > ネットワーク > 追加のアイコンクリック
  2. 編集のアイコンクリック > 分かりやすい名前にリネーム(ここでは ocp.local としています)

vbox-nat-network

Ansible + DNS + NFS用ホスト

インストール作業用ホストを作成します。このホストを、DNS + NFSとして兼用します。

  1. VirtualBoxにて仮想マシンを作成する(ops.ocp.local)。
  2. CentOS 7.5 Minimal ISOイメージをダウンロードし、仮想マシンにマウントしてインストーラを起動する。
  3. OSインストーラにてネットワーク有効化、固定IP指定、ホスト名指定

CentOSのインストールが完了し起動したら、マニュアルのHost Preparationに記載された手順を実行します。マニュアルにはインストール作業用ホストの手順とmasterやnode用ホストの手順が区別なく書かれているので注意が必要です。

  1. Installing Base Packagesの “For RHEL 7 systems”と書かれた手順(yum install 各種パッケージ、yum update, reboot)を実行する。
  2. Preparing for Advanced Installationsの “RPM-based installer”の方(Ansibleインストール、及びプレイブック入手)を実行する。
    • 尚、OpenShift Originでは、githubからプレイブックをgit cloneしますが、Red Hat製品版では atomic-openshift-utils パッケージをyum installすると/usr/share/ansible/openshift-ansible以下に配置されます。
  3. Ansibleを実行するためにmasterとnode用ホストに対して公開鍵認証方式でSSH接続する。このため、事前に鍵のペアを生成する。
    ssh-keygen

    上記のコマンドの結果として、~/.ssh以下にid_rsaとid_rsa.pubが生成される。

DNSとして兼用するため、dnsmasqをセットアップします。

  1. dnsmasqインストール
    yum install -y dnsmasq
  2. /etc/dnsmasq.confを編集
    port=53
    domain-needed
    bogus-priv
    local=/ocp.local/
    # ワイルドカード指定。masterノード上のRouterに飛ばす。
    address=/ocp.local/10.0.2.101
    expand-hosts
    domain=ops.local
    conf-dir=/etc/dnsmasq.d,.rpmnew,.rpmsave,.rpmorig
  3. /etc/hostsを編集し、DNSエントリを列挙
    127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
    ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
    
    10.0.2.100 ops.ocp.local
    10.0.2.101 master.ocp.local
    10.0.2.111 node1.ocp.local
    10.0.2.112 node2.ocp.local
  4. ファイアウォールの設定を変更し、DNSサービスを許可する。
    firewall-cmd --add-service=dns --permanent
    firewall-cmd --reload
  5. dnsmasqを起動
    systemctl start dnsmasq
    systemctl enable dnsmasq

内部コンテナレジストリ用のNFSとして兼用するため、NFSをセットアップします。

  1. NFS用のパッケージインストール
    yum install -y nfs-utils rpcbind
  2. 共有ディレクトリの作成
    mkdir -p /var/export/registryvol
  3. /etc/exportsを編集し、共有ディレクトリを公開
    /var/export/registryvol *(rw,async,all_squash)
  4. ファイアウォールの設定を変更し、NFS関連サービスを許可する。
    firewall-cmd --add-service=nfs --permanent
    firewall-cmd --add-service=rpc-bind --permanent
    firewall-cmd --reload
  5. NFS関連サービスを起動
    systemctl start rpcbind nfs-server
    systemctl enable rpcbind nfs-server

master用ホスト

OpenShiftのmaster用ホストを作成します。仮想マシン作成時に以下の内容を指定します。

  • ハードディスクを追加する。
    マニュアルのHost Preparation > Configuring Docker Storageにて、追加のブロックデバイスが必要となる。
  • NATネットワークに加えてホストオンリーアダプターを追加する。
    仮想マシン外からブラウザやocコマンドでmasterにアクセスするため、ホストオンリーアダプタを追加する。

以下の手順で作成します。

  1. VirtualBox > 新規 > VM名、タイプ・バージョン、メモリーサイズを指定して作成。
  2. 作成したVMを選択し設定 > ストレージ > SATAを選択しハードディスクを追加 > 新規ディスクの作成
    2nd block device
  3. CentOS 7.5 Minimal ISOイメージを仮想マシンにマウントしてインストーラを起動する。
  4. OSインストーラにてネットワーク有効化、固定IP指定、ホスト名指定

CentOSのインストールが完了し起動したら、マニュアルのHost Preparationに記載されたmaster用ホストの手順のみ実施します。

  1. Installing Base Packagesの “For RHEL 7 systems”と書かれた手順(yum install 各種パッケージ、yum update, reboot)を実行する。
  2. Installing Dockerの”For RHEL 7 systems”と書かれた手順を実行する。
  3. Configuring Docker Storage > Configuring Thin Pool StorageのOption Aを実行する。
    • /etc/sysconfig/docker-storage-setupファイルにパラメータ指定し、docker-storage-setupコマンドを実行します。このとき、仮想マシン作成時に追加したブロックデバイス(ハードディスク)を指定します。
      追加のブロックデバイスは lsblk コマンドで確認できます。私の環境では /dev/sdb となっていました。よって、設定ファイルは以下の用に記述しました。

      DEVS=/dev/sdb
      VG=docker-vg
  4. Ansibleを実行するため、Ansible用ホストからmaster用ホストに対して、公開鍵認証方式でSSH接続できるようにする。
    • Ansible用ホストにてroot権限でssh-copy-idを実行する。
      ssh-copy-id -i ~/.ssh/id_rsa.pub master.ocp.local

node用ホスト

master用のホストをクローンし、node用ホストを作成します。「既存クラスタに対するノード追加」を試すため、2台作成します。

  1. VirtualBoxにて、master用ホストを停止し右クリック > クローン
    すべてのネットワークカードのMACアドレスを最初期化にチェックしてクローン
  2. クローンした仮想マシンを起動し、固定IPとホスト名を変更。
    1. /etc/sysconfig/network-scripts/ifcfg-NIC名 ファイルに記載された固定IPを変更。
    2. networkサービス再起動
      systemctl restart network
    3. ホスト名変更
      hostnamectl set-hostname node1.ocp.local
  3. Ansible用ホストからnode1用ホストに対して ssh-copy-id を実行する。
    ssh-copy-id -i ~/.ssh/id_rsa.pub node1.ocp.local
  4. 上記を繰り返し、あとで使用するnode2を追加する。

確認

環境が構築できたか確認します。

  • Ansible用ホストからrootでmaster、node1-2に対してパスワードなしの公開鍵認証方式でSSH接続できること。
  • Ansible用ホスト、master、node1-2の全てについて、全てのホストを名前解決できること。

その3に続く。

OpenShift Origin 3.9 インストール
その2 環境とホスト作成
” への1件のフィードバック

  1. ピンバック: OpenShift Origin 3.9 インストールその3 OpenShiftインストール – ナッツウェル 技術研究室

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です