OKD 3.11 を openshift-ansible でインストールしたときのメモ。
完全に自分用のメモ。
環境
- CentOS 7: 仮想マシン、メモリ 8GB
- シングルマスタ・シングルノード構成 (1台のマシンにマスタ・ノードを同居させる)
なお、メモリ 4GB だと全然足りない(スワップしまくる)。
手順
基本的には Installing Clusters に従ってインストールしていく。
DNS 設定
インストールするホスト名は DNS で解決できるようにする必要がある。これが意外と地味に面倒。
詳細は DNS Requirements を参照。
自前で DNS サーバを立てるか、既存の DNS サーバにホスト登録を行っておく。
自前で立てる場合は dnsmasq などを使えばよい。ただし、OpenShift をインストールするノードにはインストールしてはいけない。これは OpenShift 自身が dnsmasq を起動するので、UDPポート53番が衝突するためである。
ホストの準備
Proxy設定
Proxy 設定が必要な場合は /etc/environments とインベントリファイルに予め記述しておく。
no_proxy に細かく設定が必要なので注意。なお、no_proxy には CIDR は使えない(10.0.0.0/24などが使えない)が、ドメインサフィックスは使える。
詳細は Setting proxy overrides と Configuring Global Proxy Optionsを参照。
ベースパッケージのインストール
ベースパッケージをインストールする
sudo yum install wget git net-tools bind-utils yum-utils iptables-services bridge-utils bash-completion kexec-tools sos psacct
EPEL を有効化する。マニュアルには RHEL7 の手順が書いてあるが、ここでは CentOS 7 の手順で実施。マニュアルでは epel は無効化しておくように指示があるが、面倒なのでそのままにしておく。
sudo yum -y install epel-release
EPEL 経由で必要なパッケージをインストールする。
sudo yum -y --enablerepo=epel install ansible pyOpenSSL
openshift-ansible リポジトリを clone する。
cd ~
git clone https://github.com/openshift/openshift-ansible
cd openshift-ansible
git checkout release-3.11
Docker のインストール
Docker をインストールする
sudo yum install docker
Docker ストレージの設定を適宜行う。とりあえず何もしなくても動作はする。
Ansible インベントリファイルの準備
Ansible インベントリファイルを準備する必要がある。ここではシングルマスタ・シングルノード構成なので、inventory/hosts.localhost をそのまま使うことにする。
OpenShift のインストール
Ansible を使用して OpenShift をインストールする。sudo が必要なので注意。
cd ~/openshift-ansible
sudo ansible-playbook -i inventory/hosts.localhost playbooks/prerequisites.yml
sudo ansible-playbook -i inventory/hosts.localhost playbooks/deploy_cluster.yml
ログイン
system:admin でログインできることを確認する。
sudo oc login -u system:admin
なお、system:admin でログインするときは sudo が必要なので注意すること。これは ~root/.kube/config に system:admin のトークンが保存されているため。
このファイルを一般ユーザの ~/.kube にコピーしてやれば、一般ユーザでも system:admin でログインできるはず。
Webコンソールアクセス
https://[hostname]:8443 にブラウザからアクセスすれば、OpenShift Web コンソールにアクセスできる。
初期アカウントは developer:developer である。