第2章 OpenShift Container Platform のインストール
2.1. 概要 リンクのコピーリンクがクリップボードにコピーされました!
本書では、OpenShift Container Platform に関する基本的な概念を紹介し、基本的なアプリケーションのインストールに役立ちます。本書は、OpenShift Container Platform の実稼働環境のデプロイやインストールには適していません。
2.1.1. 前提条件 リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform をインストールするには、以下が必要です。
-
完全修飾ドメイン名 (実世界またはネットワーク内) と パスワードなしの SSH アクセスを備えた少なくとも 2 台の物理または仮想 RHEL 7 以降のマシン。本書では、
master.openshift.example.com
およびnode.openshift.example.com
を使用します。これらのマシンは、これらのドメイン名を使用して相互に ping できるようにする必要があります。IBM POWER サーバーを使用する場合、クラスター内のすべてのサーバーは IBM POWER サーバーである必要があります。 - 有効な Red Hat サブスクリプション
ドメインをノードの IP に解決するワイルドカード DNS 解決。そのため、DNS サーバーに以下のようなエントリーがあります。
master.openshift.example.com. 300 IN A <master_ip> node.openshift.example.com. 300 IN A <node_ip> *.apps.openshift.example.com. 300 IN A <node_ip>
master.openshift.example.com. 300 IN A <master_ip> node.openshift.example.com. 300 IN A <node_ip> *.apps.openshift.example.com. 300 IN A <node_ip>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
OpenShift Container Platform を使用してアプリケーションをデプロイする場合、内部ルーターは受信要求を対応するアプリケーション Pod にプロキシー設定する必要があります。apps をアプリケーションドメインの一部として使用すると、アプリケーショントラフィックは適切な Pod に正確にマークされます。
apps 以外のものを使用できます。
*.cloudapps.openshift.example.com. 300 IN A <node_ip>
*.cloudapps.openshift.example.com. 300 IN A <node_ip>
これらが設定されたら、以下の手順を使用して 2 台のマシンに OpenShift Container Platform のインストールを設定します。
2.1.2. OpenShift Container Platform サブスクリプションのアタッチ リンクのコピーリンクがクリップボードにコピーされました!
ターゲットマシン (マスターとノードの両方) で、root として
subscription-manager
を使用して、Red Hat にシステムを登録します。subscription-manager register
# subscription-manager register
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 最新のサブスクリプションデータを Red Hat Subscription Manager (RHSM) からプルします。
subscription-manager refresh
# subscription-manager refresh
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 利用可能なサブスクリプションを一覧表示します。
subscription-manager list --available
# subscription-manager list --available
Copy to Clipboard Copied! Toggle word wrap Toggle overflow OpenShift Container Platform サブスクリプションを提供するプール ID を見つけ、これを割り当てます。
subscription-manager attach --pool=<pool_id>
# subscription-manager attach --pool=<pool_id>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
<pool_id>
の文字列は、OpenShift Container Platform を提供するプールのプール ID に置き換えます。プール ID は、長い英数字の文字列です。
これらの RHEL システムには、OpenShift Container Platform をインストールできるようになりました。次に、OpenShift Container Platform を取得する場所からシステムに指示する必要があります。
2.1.3. リポジトリーの設定 リンクのコピーリンクがクリップボードにコピーされました!
マスターおよびノードの両方で subscription-manager
を使用し、OpenShift Container Platform をインストールするのに必要なリポジトリーを有効にします。この例では、最初の 2 つのリポジトリーがすでに有効になっている可能性があります。
x86_64 サーバーでのクラウドインストールおよびオンプレミスインストールの場合は、以下のコマンドを実行します。
subscription-manager repos --enable="rhel-7-server-rpms" \ --enable="rhel-7-server-extras-rpms" \ --enable="rhel-7-server-ose-3.11-rpms" \ --enable="rhel-7-server-ansible-2.9-rpms"
# subscription-manager repos --enable="rhel-7-server-rpms" \ --enable="rhel-7-server-extras-rpms" \ --enable="rhel-7-server-ose-3.11-rpms" \ --enable="rhel-7-server-ansible-2.9-rpms"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow IBM POWER8 サーバーでのオンプレミスインストールの場合は、以下のコマンドを実行します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow IBM POWER9 サーバーでのオンプレミスインストールの場合は、以下のコマンドを実行します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
このコマンドは、RHEL システムに対し、OpenShift Container Platform のインストールに必要なツールがこれらのリポジトリーから利用できるようになることを示します。次に、Ansible をベースとする OpenShift Container Platform インストーラーが必要になります。
以前のバージョンの OpenShift Container Platform 3.11 は Ansible 2.6 のみをサポートしていました。最新バージョンの Playbook が Ansible 2.9 に対応するようになりました。Ansible 2.9 は、使用する推奨バージョンです。
2.1.4. OpenShift Container Platform パッケージのインストール リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform のインストーラーは、openshift-ansible パッケージで提供されます。マスターで yum
を使用してインストールしてから、yum update
を実行します。
yum -y install wget git net-tools bind-utils iptables-services bridge-utils bash-completion kexec-tools sos psacct
# yum -y install wget git net-tools bind-utils iptables-services bridge-utils bash-completion kexec-tools sos psacct
yum -y update
# yum -y update
reboot
# reboot
yum -y install openshift-ansible
# yum -y install openshift-ansible
ここでコンテナーエンジンをインストールします。
CRI-O をインストールするには、以下を実行します。
yum -y install cri-o
# yum -y install cri-o
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Docker をインストールするには、以下を実行します。
yum -y install docker
# yum -y install docker
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.1.5. パスワードなしの SSH アクセスの設定 リンクのコピーリンクがクリップボードにコピーされました!
マスターでインストーラーを実行する前に、パスワードなしの SSH アクセスを設定します。これは、インストーラーがマシンにアクセスするのに必要です。マスターで以下のコマンドを実行します。
ssh-keygen
$ ssh-keygen
プロンプトに従い、パスフレーズを求められたら Enter を押してください。
SSH キーを配布する簡単な方法として、bash
ループを使用できます。
for host in master.openshift.example.com \ node.openshift.example.com; \ do ssh-copy-id -i ~/.ssh/id_rsa.pub $host; \ done
$ for host in master.openshift.example.com \
node.openshift.example.com; \
do ssh-copy-id -i ~/.ssh/id_rsa.pub $host; \
done
2.1.6. インストール Playbook の実行 リンクのコピーリンクがクリップボードにコピーされました!
インベントリーファイルの例 を参照して、必要なクラスター設定に最も近いサンプルを選択します。
重要Ansible Playbook を
--tags
または--check
オプションを使用して実行することを、Red Hat ではサポートしていません。
追加のホストファイルの例は、/usr/share/doc/openshift-ansible-docs-3.11.<version>/docs/example-inventories/ ディレクトリーの参照として利用できます (<version>
を、openshift-ansible-docs パッケージがインストールされている最新のバージョンに置き換えます。これにより、openshift-ansible の親パッケージがアップグレードされるたびに更新されます)。利用可能なインベントリー変数の詳細は、Configuring Your Inventory File を参照してください。
- ホスト名を使用するようにインベントリー例を編集して、ファイルに保存します。デフォルトの場所は /etc/ansible/hosts です。
Playbook ディレクトリーに切り替え、ご自身のイベントリーファイルを使用して、prerequisites.yml Playbook を実行します。
cd /usr/share/ansible/openshift-ansible
$ cd /usr/share/ansible/openshift-ansible
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ansible-playbook -i <inventory_file> playbooks/prerequisites.yml
$ ansible-playbook -i <inventory_file> playbooks/prerequisites.yml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Playbook ディレクトリーに切り替え、ご自身のイベントリーファイルを使用して deploy_cluster.yml Playbook を実行します。
cd /usr/share/ansible/openshift-ansible
$ cd /usr/share/ansible/openshift-ansible
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ansible-playbook -i <inventory_file> playbooks/deploy_cluster.yml
$ ansible-playbook -i <inventory_file> playbooks/deploy_cluster.yml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
インストールに成功したら、新規プロジェクトを追加する前に、Basic 認証、ユーザーアクセス、およびルートを設定する必要があります。