第2章 OpenShift Container Platform のインストール

2.1. 概要

本書は OpenShift Container Platform に関する基本的な概念を紹介し、基本的なアプリケーションのインストールに役立ちます。本書は、OpenShift Container Platform の実稼働環境のデプロイや、インストールには適していません。

2.1.1. 前提条件

OpenShift Container Platform のインストールには、以下が必要です。

  • 最低でも RHEL 7 以降の物理または仮想マシン 2 台。このマシンには、完全修飾ドメイン名 (物理的またはネットワーク上) および、各マシン同士でパスワードなしで SSH 経由でアクセスできるように設定しておく必要があります。本書では master.openshift.example.com および node.openshift.example.com を使用します。これらのマシンでは、ドメイン名を使用して相互に ping を送信できる必要があります。IBM POWER サーバーを使用する場合、クラスター内のすべてのサーバーは IBM POWER サーバーである必要があります。
  • 有効な Red Hat サブスクリプション
  • ワイルドカードを指定した DNS 解決。お使いのドメインがノードの IP に対して解決できるようにしておきます。つまり、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>
ドメイン名の apps にワイルドカードのエントリーを指定する理由

OpenShift Container Platform を使用してアプリケーションをデプロイする場合は、内部ルーターにより、受信要求を適切なアプリケーション Pod にプロキシーする必要があります。アプリケーションドメインの一部として apps を使用して、アプリケーショントラフィックを適切な Pod にマークします。

apps 以外のいずれの値も使用することができます。

*.cloudapps.openshift.example.com. 300 IN A <node_ip>

上記を設定したら、以下の手順を使用して 2 台のマシンに OpenShift Container Platform のインストール設定を行います。

2.1.2. OpenShift Container Platform サブスクリプションのアタッチ

  1. ターゲットマシンで (マスターとノード両方)、root として subscription-manager を使用し、Red Hat にシステムを登録します。

    # subscription-manager register
  2. 最新のサブスクリプションデータを Red Hat Subscription Manager (RHSM) からプルします。

    # subscription-manager refresh
  3. 利用可能なサブスクリプションを一覧表示します。

    # subscription-manager list --available
  4. OpenShift Container Platform サブスクリプションを提供するプール ID を検索してアタッチします。

    # subscription-manager attach --pool=<pool_id>
  5. <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"
  • IBM POWER8 サーバーでのオンプレミスインストールの場合は、以下のコマンドを実行します。

    # subscription-manager repos \
        --enable="rhel-7-for-power-le-rpms" \
        --enable="rhel-7-for-power-le-extras-rpms" \
        --enable="rhel-7-for-power-le-optional-rpms" \
        --enable="rhel-7-server-ansible-2.9-for-power-le-rpms" \
        --enable="rhel-7-server-for-power-le-rhscl-rpms" \
        --enable="rhel-7-for-power-le-ose-3.11-rpms"
  • IBM POWER9 サーバーでのオンプレミスインストールの場合は、以下のコマンドを実行します。

    # subscription-manager repos \
        --enable="rhel-7-for-power-9-rpms" \
        --enable="rhel-7-for-power-9-extras-rpms" \
        --enable="rhel-7-for-power-9-optional-rpms" \
        --enable="rhel-7-server-ansible-2.9-for-power-9-rpms" \
        --enable="rhel-7-server-for-power-9-rhscl-rpms" \
        --enable="rhel-7-for-power-9-ose-3.11-rpms"

このコマンドでは、RHEL システムに対して、OpenShift Container Platform をインストールするのに必要なツールが上記のリポジトリーから入手できることを指示しています。次に、Ansible をベースにする OpenShift Container Platform インストーラーが必要です。

注記

古いバージョンの OpenShift Container Platform 3.11 は Ansible 2.6 のみをサポートしていました。最新バージョンの Playbook は Ansible 2.9 をサポートしており、このバージョンを使用することをお勧めします。

2.1.4. OpenShift Container Platform パッケージのインストール

OpenShift Container Platform のインストーラーは、openshift-ansible パッケージで提供されます。マスターで、yum update を実行してから yum を使用してインストールしてください。

# yum -y install wget git net-tools bind-utils iptables-services bridge-utils bash-completion kexec-tools sos psacct
# yum -y update
# reboot

# yum -y install openshift-ansible

ここでコンテナーエンジンをインストールします。

  • CRI-O をインストールするには、以下を実行します。

    # yum -y install cri-o
  • Docker をインストールするには、以下を実行します。

    # yum -y install docker

2.1.5. パスワードなしの SSH アクセスの設定

マスターでインストーラーを実行する前に、パスワードなしの SSH アクセスを設定します。インストーラーがこれらのマシンにアクセスできるようにするために、この作業は必要です。マスターで以下のコマンドを実行します。

$ 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

2.1.6. インストール Playbook の実行

  1. インベントリーファイルの例」を参照して、必要なクラスター設定に最も近いサンプルを選択します。

    重要

    Ansible Playbook を --tags または --check オプションを使用して実行することを、Red Hat ではサポートしていません。

注記

他のホストファイルの例は、参考として /usr/share/doc/openshift-ansible-docs-3.11.<version>/docs/example-inventories/ ディレクトリーから入手できます (<version> は、openshift-ansible-docs パッケージでインストールしている最新のバージョンに置き換えます。これで openshift-ansible の親パッケージがアップグレードされるたびに更新されます)。利用可能なインベントリー変数に関する詳細なドキュメントについては、「インベントリーファイルの設定」を参照してください。

  1. お使いのホスト名を使用するには、インベントリー例を編集して、ファイルに保存します (デフォルトの場所は /etc/ansible/hosts です)。
  2. Playbook ディレクトリーに切り替え、ご自身のイベントリーファイルを使用して、prerequisites.yml Playbook を実行します。

    $ cd /usr/share/ansible/openshift-ansible
    $ ansible-playbook -i <inventory_file> playbooks/prerequisites.yml
  3. Playbook ディレクトリーに切り替え、ご自身のインベントリーファイルを使用して、deploy_cluster.yml Playbook を実行します。

    $ cd /usr/share/ansible/openshift-ansible
    $ ansible-playbook -i <inventory_file> playbooks/deploy_cluster.yml

正常にインストールを完了してから、新規プロジェクトを追加する前に、基本的な認証、ユーザーアクセス、ルートを設定する必要があります。

2.2. OpenShift Container Platform との対話

OpenShift Container Platform では、対話用に以下の 2 つのコマンドラインユーティリティーがあります。

  • oc: 通常のプロジェクトおよびアプリケーション管理用
  • oc adm: 管理者タスク用

    oc adm コマンドの実行時は、Ansible ホストのインベントリーファイルに記載されている最初のマスターからのみ実行してください。デフォルトは、/etc/ansible/hosts です。

oc --help および oc adm --help を使用して、利用可能なすべてのオプションを表示します。

また、Web コンソールを使用してプロジェクトとアプリケーションを管理することもできます。Web コンソールは、https://<master_fqdn>:8443/console から利用できます。次のセクションでは、コンソールにアクセスするためのユーザーアカウントを作成する方法を記載しています。

注記

リモートのシステムだけでなく、これらのコマンドラインユーティリティーを使用して、OpenShift Container Platform インスタンスと対話できます。『CLI リファレンス』で説明されているように、OpenShift CLI としてバンドルされており、Windows、Mac または Linux 環境用のユーティリティーをダウンロードできます。

2.3. ロールおよび認証について

デフォルトでは、初回インストール時には OpenShift Container Platform にロールやユーザーアカウントが作成されないので、作成する必要があります。オプションとして、(最初に) 新規ロールを作成するか、誰でもログインできるようにポリシーを定義する方法があります。

最初に、デフォルトの system:admin ユーザーで最低でも 1 回ログインして、マスターで以下のコマンドを実行します。

$ oc login -u system:admin
注記

これ以降、別途記載がない限り、コマンドはマスターで実行してください。

このアカウントで最低でも 1 回ログインして、system:admin ユーザーの設定ファイルを作成します。このファイルがあれば、以降ログインができるようになります。

このシステムアカウントにはパスワードはありません。

以下のコマンドを実行して、OpenShift Container Platform が正常にインストールし、起動したことを確認します。マスターとノードが Ready ステータスで表示されます。

$ oc get nodes

基本的な OpenShift Container Platform 環境の設定を続行するには、「OpenShift Container Platform の設定」に記載の手順に従います。


このページには機械翻訳が使用されている場合があります (詳細はこちら)。