Red Hat Training

A Red Hat training course is available for OpenShift Container Platform

第7章 非接続インストール

データセンターの一部が、プロキシーサーバー経由でもインターネットにアクセスできないことがよくあります。このような環境でも OpenShift Container Platform をインストールできますが、必要なソフトウェアおよびイメージをダウンロードし、これらを非接続環境で利用できる状態にする必要があります。

インストールコンポーネントがノードホストで利用可能な状態で、標準的なインストール手順に従って OpenShift Container Platform をインストールします。

OpenShift Container Platform をインストールしたら、プルした S2I ビルダーイメージをクラスターで利用可能にする必要があります。

7.1. 前提条件

  • OpenShift Container Platform のアーキテクチャーの概要を確認し、環境トポロジーについて計画します。
  • root アクセスが可能な、インターネットにアクセスでき、110 GB 以上のディスク領域を持つ Red Hat Enterprise Linux (RHEL) 7 サーバーを取得します。このコンピューターに必要なソフトウェアリポジトリーおよびコンテナーイメージをダウンロードします。
  • ミラーリングされたリポジトリーを提供するために Web サーバーを非接続環境で維持できるように計画します。インターネットに接続されたホストからこの Webサーバーに対して、ネットワーク経由か、または非接続デプロイメントで物理メディアを使用してリポジトリーをコピーします。
  • ソースコントロールリポジトリーを指定します。インストール後に、ノードは Git などのソースコードリポジトリーのソースコードにアクセスする必要があります。

    OpenShift Container Platform でアプリケーションをビルドする場合、ビルドに Maven リポジトリーや Ruby アプリケーション用の Gem ファイルなどの外部の依存関係が含まれる可能性があります。

  • 非接続環境内にレジストリーを指定します。オプションには以下が含まれます。

7.2. 必要なソフトウェアパッケージおよびイメージの取得

OpenShift Container Platform を非接続環境にインストールする前に、必要なイメージおよびコンポーネントを取得し、それらをリポジトリーに保存します。

重要

非接続環境のクラスターと同じアーキテクチャーを持つシステムで必要なイメージおよびソフトウェアコンポーネントを取得する必要があります。

7.2.1. OpenShift Container Platform パッケージの取得

インターネット接続のある RHEL 7 サーバーで、リポジトリーを同期します。

  1. リポジトリーの同期後にパッケージが削除されないように GPG キーをインポートします。

    $ rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
  2. サーバーを Red Hat カスタマーポータルに登録します。OpenShift Container Platform サブスクリプションにアクセスできるアカウントに関連付けられている認証情報を使用する必要があります。

    $ subscription-manager register
  3. RHSM から最新サブスクリプションデータをプルします。

    $ subscription-manager refresh
  4. OpenShift Container Platform チャンネルを提供するサブスクリプションをアタッチします。

    1. OpenShift Container Platform チャンネルを提供する利用可能なサブスクリプションプールを検索します。

      $ subscription-manager list --available --matches '*OpenShift*'
    2. OpenShift Container Platform を提供するサブスクリプションのプール ID をアタッチします。

      $ subscription-manager attach --pool=<pool_id>
      $ subscription-manager repos --disable="*"
  5. OpenShift Container Platform 3.10 で必要なリポジトリーのみを有効にします。

    • x86_64 サーバーでのクラウドインストールおよびオンプレミスインストールの場合は、以下のコマンドを実行します。

      # subscription-manager repos \
          --enable="rhel-7-server-rpms" \
          --enable="rhel-7-server-extras-rpms" \
          --enable="rhel-7-server-ose-3.10-rpms" \
          --enable="rhel-7-server-ansible-2.4-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.6-for-power-le-rpms" \
          --enable="rhel-7-server-for-power-le-rhscl-rpms" \
          --enable="rhel-7-for-power-le-ose-3.10-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.6-for-power-9-rpms" \
          --enable="rhel-7-server-for-power-le-rhscl-rpms" \
          --enable="rhel-7-for-power-le-ose-3.10-rpms"
  6. 必要なパッケージをインストールします。

    $ sudo yum -y install yum-utils createrepo docker git

    yum-utils パッケージは reposync ユーティリティーを提供します。これによって yum リポジトリーをミラーリングでき、createrepo で使用可能な yum リポジトリーをディレクトリーから作成できます。

  7. ソフトウェアを保存するディレクトリーをサーバーのストレージまたは、USB ドライブまたは他の外部デバイスに作成します。

    $ mkdir -p </path/to/repos>
    重要

    このサーバーを接続されていない LAN に再接続し、これをリポジトリーサーバーとして使用する場合、ファイルをローカルに保存します。ローカルに保存できない場合は、USB で接続されたストレージを使用し、ソフトウェアを接続されていない LAN のリポジトリーサーバーに移動できるようにします。

  8. パッケージを同期し、各パッケージのリポジトリーを作成します。

    • x86_64 サーバーでのオンプレミスインストールの場合は、以下のコマンドを実行します。

      $ for repo in \
      rhel-7-server-rpms \
      rhel-7-server-extras-rpms \
      rhel-7-server-ansible-2.4-rpms \
      rhel-7-server-ose-3.10-rpms
      do
        reposync --gpgcheck -lm --repoid=${repo} --download_path=</path/to/repos> 1
        createrepo -v </path/to/repos/>${repo} -o </path/to/repos/>${repo} 2
      done
      1 2
      作成したディレクトリーのパスを指定します。
    • IBM POWER8 サーバーでのオンプレミスインストールの場合は、以下のコマンドを実行します。

      $ for repo in \
      rhel-7-for-power-le-rpms \
      rhel-7-for-power-le-extras-rpms \
      rhel-7-for-power-le-optional-rpms \
      rhel-7-server-ansible-2.6-for-power-le-rpms \
      rhel-7-server-for-power-le-rhscl-rpms \
      rhel-7-for-power-le-ose-3.10-rpms
      do
        reposync --gpgcheck -lm --repoid=${repo} --download_path=</path/to/repos> 1
        createrepo -v </path/to/repos/>${repo} -o </path/to/repos/>${repo} 2
      done
      1 2
      作成したディレクトリーのパスを指定します。
    • IBM POWER9 サーバーでのオンプレミスインストールの場合は、以下のコマンドを実行します。

      $ for repo in \
      rhel-7-for-power-9-rpms \
      rhel-7-for-power-9-extras-rpms \
      rhel-7-for-power-9-optional-rpms \
      rhel-7-server-ansible-2.6-for-power-9-rpms \
      rhel-7-server-for-power-le-rhscl-rpms \
      rhel-7-for-power-le-ose-3.10-rpms
      do
        reposync --gpgcheck -lm --repoid=${repo} --download_path=/<path/to/repos> 1
        createrepo -v </path/to/repos/>${repo} -o </path/to/repos/>${repo} 2
      done
      1 2
      作成したディレクトリーのパスを指定します。

7.2.2. イメージの取得

必要なコンテナーイメージをプルします。

  1. Docker デーモンを起動します。

    $ systemctl start docker
  2. 必要な OpenShift Container Platform インフラストラクチャーコンポーネントイメージすべてをプルします。<tag> をインストールするバージョンに置き換えます。たとえば、最新バージョンの v3.10.45 を指定します。別のマイナーバージョンを指定することもできます。

    $ docker pull registry.access.redhat.com/openshift3/csi-attacher:<tag>
    $ docker pull registry.access.redhat.com/openshift3/csi-driver-registrar:<tag>
    $ docker pull registry.access.redhat.com/openshift3/csi-livenessprobe:<tag>
    $ docker pull registry.access.redhat.com/openshift3/csi-provisioner:<tag>
    $ docker pull registry.access.redhat.com/openshift3/image-inspector:<tag>
    $ docker pull registry.access.redhat.com/openshift3/local-storage-provisioner:<tag>
    $ docker pull registry.access.redhat.com/openshift3/manila-provisioner:<tag>
    $ docker pull registry.access.redhat.com/openshift3/ose-ansible:<tag>
    $ docker pull registry.access.redhat.com/openshift3/ose-cli:<tag>
    $ docker pull registry.access.redhat.com/openshift3/ose-cluster-capacity:<tag>
    $ docker pull registry.access.redhat.com/openshift3/ose-deployer:<tag>
    $ docker pull registry.access.redhat.com/openshift3/ose-descheduler:<tag>
    $ docker pull registry.access.redhat.com/openshift3/ose-docker-builder:<tag>
    $ docker pull registry.access.redhat.com/openshift3/ose-docker-registry:<tag>
    $ docker pull registry.access.redhat.com/openshift3/ose-egress-dns-proxy:<tag>
    $ docker pull registry.access.redhat.com/openshift3/ose-egress-http-proxy:<tag>
    $ docker pull registry.access.redhat.com/openshift3/ose-egress-router:<tag>
    $ docker pull registry.access.redhat.com/openshift3/ose-f5-router:<tag>
    $ docker pull registry.access.redhat.com/openshift3/ose-haproxy-router:<tag>
    $ docker pull registry.access.redhat.com/openshift3/ose-hyperkube:<tag>
    $ docker pull registry.access.redhat.com/openshift3/ose-hypershift:<tag>
    $ docker pull registry.access.redhat.com/openshift3/ose-keepalived-ipfailover:<tag>
    $ docker pull registry.access.redhat.com/openshift3/ose-pod:<tag>
    $ docker pull registry.access.redhat.com/openshift3/ose-node-problem-detector:<tag>
    $ docker pull registry.access.redhat.com/openshift3/ose-recycler:<tag>
    $ docker pull registry.access.redhat.com/openshift3/ose-web-console:<tag>
    $ docker pull registry.access.redhat.com/openshift3/ose-node:<tag>
    $ docker pull registry.access.redhat.com/openshift3/ose-control-plane:<tag>
    $ docker pull registry.access.redhat.com/openshift3/registry-console:<tag>
    $ docker pull registry.access.redhat.com/openshift3/snapshot-controller:<tag>
    $ docker pull registry.access.redhat.com/openshift3/snapshot-provisioner:<tag>
    $ docker pull registry.access.redhat.com/openshift3/apb-base:<tag>
    $ docker pull registry.access.redhat.com/openshift3/apb-tools:<tag>
    $ docker pull registry.access.redhat.com/openshift3/ose-service-catalog:<tag>
    $ docker pull registry.access.redhat.com/openshift3/ose-ansible-service-broker:<tag>
    $ docker pull registry.access.redhat.com/openshift3/mariadb-apb:<tag>
    $ docker pull registry.access.redhat.com/openshift3/mediawiki-apb:<tag>
    $ docker pull registry.access.redhat.com/openshift3/mysql-apb:<tag>
    $ docker pull registry.access.redhat.com/openshift3/ose-template-service-broker:<tag>
    $ docker pull registry.access.redhat.com/openshift3/postgresql-apb:<tag>
    $ docker pull registry.access.redhat.com/rhel7/etcd:3.2.22
  3. x86_64 サーバーのオンプレミスインストールの場合、以下のイメージをプルします。<tag> をインストールするバージョンに置き換えます。たとえば、最新バージョンの v3.10.45 を指定します。別のマイナーバージョンを指定することもできます。

    $ docker pull registry.access.redhat.com/openshift3/efs-provisioner:<tag>
  4. オプションのコンポーネントに必要な OpenShift Container Platform コンポーネントイメージすべてをプルします。<tag> をインストールするバージョンに置き換えます。たとえば、最新バージョンの v3.10.45 を指定します。別のマイナーバージョンを指定することもできます。

    • x86_64 サーバーでのオンプレミスインストールの場合は、以下のコマンドを実行します。

      $ docker pull registry.access.redhat.com/openshift3/logging-auth-proxy:<tag>
      $ docker pull registry.access.redhat.com/openshift3/logging-curator:<tag>
      $ docker pull registry.access.redhat.com/openshift3/logging-elasticsearch:<tag>
      $ docker pull registry.access.redhat.com/openshift3/logging-eventrouter:<tag>
      $ docker pull registry.access.redhat.com/openshift3/logging-fluentd:<tag>
      $ docker pull registry.access.redhat.com/openshift3/logging-kibana:<tag>
      $ docker pull registry.access.redhat.com/openshift3/oauth-proxy:<tag>
      $ docker pull registry.access.redhat.com/openshift3/metrics-cassandra:<tag>
      $ docker pull registry.access.redhat.com/openshift3/metrics-hawkular-metrics:<tag>
      $ docker pull registry.access.redhat.com/openshift3/metrics-hawkular-openshift-agent:<tag>
      $ docker pull registry.access.redhat.com/openshift3/metrics-heapster:<tag>
      $ docker pull registry.access.redhat.com/openshift3/metrics-schema-installer:<tag>
      $ docker pull registry.access.redhat.com/openshift3/prometheus:<tag>
      $ docker pull registry.access.redhat.com/openshift3/prometheus-alert-buffer:<tag>
      $ docker pull registry.access.redhat.com/openshift3/prometheus-alertmanager:<tag>
      $ docker pull registry.access.redhat.com/openshift3/prometheus-node-exporter:<tag>
      $ docker pull registry.access.redhat.com/cloudforms46/cfme-openshift-postgresql
      $ docker pull registry.access.redhat.com/cloudforms46/cfme-openshift-memcached
      $ docker pull registry.access.redhat.com/cloudforms46/cfme-openshift-app-ui
      $ docker pull registry.access.redhat.com/cloudforms46/cfme-openshift-app
      $ docker pull registry.access.redhat.com/cloudforms46/cfme-openshift-embedded-ansible
      $ docker pull registry.access.redhat.com/cloudforms46/cfme-openshift-httpd
      $ docker pull registry.access.redhat.com/cloudforms46/cfme-httpd-configmap-generator
      $ docker pull registry.access.redhat.com/rhgs3/rhgs-server-rhel7
      $ docker pull registry.access.redhat.com/rhgs3/rhgs-volmanager-rhel7
      $ docker pull registry.access.redhat.com/rhgs3/rhgs-gluster-block-prov-rhel7
      $ docker pull registry.access.redhat.com/rhgs3/rhgs-s3-server-rhel7
    • IBM POWER8 または IBM POWER9 サーバーでのオンプレミスインストールの場合は、以下のコマンドを実行します。

      $ docker pull registry.access.redhat.com/openshift3/logging-auth-proxy:<tag>
      $ docker pull registry.access.redhat.com/openshift3/logging-curator:<tag>
      $ docker pull registry.access.redhat.com/openshift3/logging-elasticsearch:<tag>
      $ docker pull registry.access.redhat.com/openshift3/logging-eventrouter:<tag>
      $ docker pull registry.access.redhat.com/openshift3/logging-fluentd:<tag>
      $ docker pull registry.access.redhat.com/openshift3/logging-kibana:<tag>
      $ docker pull registry.access.redhat.com/openshift3/oauth-proxy:<tag>
      $ docker pull registry.access.redhat.com/openshift3/metrics-cassandra:<tag>
      $ docker pull registry.access.redhat.com/openshift3/metrics-hawkular-metrics:<tag>
      $ docker pull registry.access.redhat.com/openshift3/metrics-hawkular-openshift-agent:<tag>
      $ docker pull registry.access.redhat.com/openshift3/metrics-heapster:<tag>
      $ docker pull registry.access.redhat.com/openshift3/metrics-schema-installer:<tag>
      $ docker pull registry.access.redhat.com/openshift3/prometheus:<tag>
      $ docker pull registry.access.redhat.com/openshift3/prometheus-alert-buffer:<tag>
      $ docker pull registry.access.redhat.com/openshift3/prometheus-alertmanager:<tag>
      $ docker pull registry.access.redhat.com/openshift3/prometheus-node-exporter:<tag>
    重要

    Red Hat サポートの場合、コンバージドモードのサブスクリプションが rhgs3/ イメージに必要です。

    重要

    OpenShift Container Platform 上での Prometheus はテクノロジープレビュー機能です。テクノロジープレビュー機能は Red Hat の実稼働環境でのサービスレベルアグリーメント (SLA) ではサポートされていないため、Red Hat では実稼働環境での使用を推奨していません。これらの機能は、近々発表予定の製品機能をリリースに先駆けてご提供することにより、お客様は機能性をテストし、開発プロセス中にフィードバックをお寄せいただくことができます。

    Red Hat のテクノロジープレビュー機能のサポートについての詳細は、https://access.redhat.com/support/offerings/techpreview/ を参照してください。

  5. OpenShift 環境で使用する Red Hat 認定の Source-to-Image (S2I) ビルダーイメージをプルします。

    バージョン番号を指定して正しいタグを使用していることを確認します。イメージバージョンの互換性についての詳細は、「OpenShift および Atomic プラットフォームのテスト済みの統合」についてのページを参照してください。

    以下のイメージをプルできます。

    $ docker pull registry.access.redhat.com/jboss-amq-6/amq63-openshift
    $ docker pull registry.access.redhat.com/jboss-datagrid-7/datagrid71-openshift
    $ docker pull registry.access.redhat.com/jboss-datagrid-7/datagrid71-client-openshift
    $ docker pull registry.access.redhat.com/jboss-datavirt-6/datavirt63-openshift
    $ docker pull registry.access.redhat.com/jboss-datavirt-6/datavirt63-driver-openshift
    $ docker pull registry.access.redhat.com/jboss-decisionserver-6/decisionserver64-openshift
    $ docker pull registry.access.redhat.com/jboss-processserver-6/processserver64-openshift
    $ docker pull registry.access.redhat.com/jboss-eap-6/eap64-openshift
    $ docker pull registry.access.redhat.com/jboss-eap-7/eap70-openshift
    $ docker pull registry.access.redhat.com/jboss-webserver-3/webserver31-tomcat7-openshift
    $ docker pull registry.access.redhat.com/jboss-webserver-3/webserver31-tomcat8-openshift
    $ docker pull registry.access.redhat.com/openshift3/jenkins-1-rhel7
    $ docker pull registry.access.redhat.com/openshift3/jenkins-2-rhel7
    $ docker pull registry.access.redhat.com/openshift3/jenkins-agent-maven-35-rhel7
    $ docker pull registry.access.redhat.com/openshift3/jenkins-agent-nodejs-8-rhel7
    $ docker pull registry.access.redhat.com/openshift3/jenkins-slave-base-rhel7
    $ docker pull registry.access.redhat.com/openshift3/jenkins-slave-maven-rhel7
    $ docker pull registry.access.redhat.com/openshift3/jenkins-slave-nodejs-rhel7
    $ docker pull registry.access.redhat.com/rhscl/mongodb-32-rhel7
    $ docker pull registry.access.redhat.com/rhscl/mysql-57-rhel7
    $ docker pull registry.access.redhat.com/rhscl/perl-524-rhel7
    $ docker pull registry.access.redhat.com/rhscl/php-56-rhel7
    $ docker pull registry.access.redhat.com/rhscl/postgresql-95-rhel7
    $ docker pull registry.access.redhat.com/rhscl/python-35-rhel7
    $ docker pull registry.access.redhat.com/redhat-sso-7/sso70-openshift
    $ docker pull registry.access.redhat.com/rhscl/ruby-24-rhel7
    $ docker pull registry.access.redhat.com/redhat-openjdk-18/openjdk18-openshift
    $ docker pull registry.access.redhat.com/redhat-sso-7/sso71-openshift
    $ docker pull registry.access.redhat.com/rhscl/nodejs-6-rhel7
    $ docker pull registry.access.redhat.com/rhscl/mariadb-101-rhel7

7.2.3. イメージのエクスポート

ご使用の環境に内部ネットワークへのアクセスがない場合で、コンテンツの移動に物理メディアが必要になる場合、イメージを圧縮されたファイルにエクスポートします。ホストがインターネットと内部ネットワークの両方に接続されている場合、以下の手順に従い、「リポジトリーサーバーの準備および設定」に進みます。

  1. 圧縮されたイメージを保存するディレクトリーを作成し、これに切り替えます。

    $ mkdir </path/to/images>
    $ cd </path/to/images>
  2. OpenShift Container Platform インフラストラクチャーコンポーネントのイメージをエクスポートします。

    $ docker save -o ose3-images.tar \
        registry.access.redhat.com/openshift3/csi-attacher \
        registry.access.redhat.com/openshift3/csi-driver-registrar \
        registry.access.redhat.com/openshift3/csi-livenessprobe \
        registry.access.redhat.com/openshift3/csi-provisioner \
        registry.access.redhat.com/openshift3/efs-provisioner \
        registry.access.redhat.com/openshift3/image-inspector \
        registry.access.redhat.com/openshift3/local-storage-provisioner \
        registry.access.redhat.com/openshift3/manila-provisioner \
        registry.access.redhat.com/openshift3/ose-ansible \
        registry.access.redhat.com/openshift3/ose-cli \
        registry.access.redhat.com/openshift3/ose-cluster-capacity \
        registry.access.redhat.com/openshift3/ose-deployer \
        registry.access.redhat.com/openshift3/ose-descheduler \
        registry.access.redhat.com/openshift3/ose-docker-builder \
        registry.access.redhat.com/openshift3/ose-docker-registry \
        registry.access.redhat.com/openshift3/ose-egress-dns-proxy \
        registry.access.redhat.com/openshift3/ose-egress-http-proxy \
        registry.access.redhat.com/openshift3/ose-egress-router \
        registry.access.redhat.com/openshift3/ose-f5-router \
        registry.access.redhat.com/openshift3/ose-haproxy-router \
        registry.access.redhat.com/openshift3/ose-hyperkube \
        registry.access.redhat.com/openshift3/ose-hypershift \
        registry.access.redhat.com/openshift3/ose-keepalived-ipfailover \
        registry.access.redhat.com/openshift3/ose-pod \
        registry.access.redhat.com/openshift3/ose-node-problem-detector \
        registry.access.redhat.com/openshift3/ose-recycler \
        registry.access.redhat.com/openshift3/ose-web-console \
        registry.access.redhat.com/openshift3/ose-node \
        registry.access.redhat.com/openshift3/ose-control-plane \
        registry.access.redhat.com/openshift3/registry-console \
        registry.access.redhat.com/openshift3/snapshot-controller \
        registry.access.redhat.com/openshift3/snapshot-provisioner \
        registry.access.redhat.com/openshift3/apb-base \
        registry.access.redhat.com/openshift3/apb-tools \
        registry.access.redhat.com/openshift3/ose-service-catalog \
        registry.access.redhat.com/openshift3/ose-ansible-service-broker \
        registry.access.redhat.com/openshift3/mariadb-apb \
        registry.access.redhat.com/openshift3/mediawiki-apb \
        registry.access.redhat.com/openshift3/mysql-apb \
        registry.access.redhat.com/openshift3/ose-template-service-broker \
        registry.access.redhat.com/openshift3/postgresql-apb \
        registry.access.redhat.com/rhel7/etcd:3.2.22
  1. オプションコンポーネントのイメージを同期している場合は、それらをエクスポートします。

    $ docker save -o ose3-optional-imags.tar \
        registry.access.redhat.com/openshift3/logging-curator5 \
        registry.access.redhat.com/openshift3/logging-elasticsearch5 \
        registry.access.redhat.com/openshift3/logging-eventrouter \
        registry.access.redhat.com/openshift3/logging-fluentd \
        registry.access.redhat.com/openshift3/logging-kibana5 \
        registry.access.redhat.com/openshift3/oauth-proxy \
        registry.access.redhat.com/openshift3/metrics-cassandra \
        registry.access.redhat.com/openshift3/metrics-hawkular-metrics \
        registry.access.redhat.com/openshift3/metrics-hawkular-openshift-agent \
        registry.access.redhat.com/openshift3/metrics-heapster \
        registry.access.redhat.com/openshift3/metrics-schema-installer \
        registry.access.redhat.com/openshift3/prometheus \
        registry.access.redhat.com/openshift3/prometheus-alert-buffer \
        registry.access.redhat.com/openshift3/prometheus-alertmanager \
        registry.access.redhat.com/openshift3/prometheus-node-exporter \
        registry.access.redhat.com/cloudforms46/cfme-openshift-postgresql \
        registry.access.redhat.com/cloudforms46/cfme-openshift-memcached \
        registry.access.redhat.com/cloudforms46/cfme-openshift-app-ui \
        registry.access.redhat.com/cloudforms46/cfme-openshift-app \
        registry.access.redhat.com/cloudforms46/cfme-openshift-embedded-ansible \
        registry.access.redhat.com/cloudforms46/cfme-openshift-httpd \
        registry.access.redhat.com/cloudforms46/cfme-httpd-configmap-generator \
        registry.access.redhat.com/rhgs3/rhgs-server-rhel7 \
        registry.access.redhat.com/rhgs3/rhgs-volmanager-rhel7 \
        registry.access.redhat.com/rhgs3/rhgs-gluster-block-prov-rhel7 \
        registry.access.redhat.com/rhgs3/rhgs-s3-server-rhel7
  2. プルした S2I ビルダーイメージをエクスポートします。たとえば、Jenkins および Tomcat イメージのみを同期している場合は、以下を実行します。

    $ docker save -o ose3-builder-images.tar \
        registry.access.redhat.com/jboss-webserver-3/webserver31-tomcat7-openshift \
        registry.access.redhat.com/jboss-webserver-3/webserver31-tomcat8-openshift \
        registry.access.redhat.com/openshift3/jenkins-1-rhel7 \
        registry.access.redhat.com/openshift3/jenkins-2-rhel7 \
        registry.access.redhat.com/openshift3/jenkins-agent-maven-35-rhel7 \
        registry.access.redhat.com/openshift3/jenkins-agent-nodejs-8-rhel7 \
        registry.access.redhat.com/openshift3/jenkins-slave-base-rhel7 \
        registry.access.redhat.com/openshift3/jenkins-slave-maven-rhel7 \
        registry.access.redhat.com/openshift3/jenkins-slave-nodejs-rhel7
  3. 圧縮されたファイルをインターネットに接続されたホストから内部ホストにコピーします。
  4. コピーしたイメージを読み込みます。

    $ docker load -i ose3-images.tar
    $ docker load -i ose3-builder-images.tar
    $ docker load -i ose3-optional-images.tar

7.3. リポジトリーサーバーの準備および設定

インストール時および追加の更新時に、ソフトウェアをホストする Web サーバーが必要になります。RHEL 7 は Apache Web サーバーを提供します。

  1. Web サーバーを準備します。

    1. 非接続環境に新規の Web サーバーをインストールする必要がある場合は、110 GB 以上の領域を持つ新規の RHEL 7 システムを LAN でインストールします。RHEL インストール時に、「Basic Web Server」オプションを選択します。
    2. OpenShift Container Platform ソフトウェアをダウンロードしており、イメージが必要なサーバーを再利用している場合、Apache をサーバーにインストールします。

      $ sudo yum install httpd
  2. リポジトリーファイルを Apache のルートフォルダーに配置します。

    • サーバーを再利用している場合は、以下を実行します。

      $ mv /path/to/repos /var/www/html/
      $ chmod -R +r /var/www/html/repos
      $ restorecon -vR /var/www/html
    • 新規サーバーをインストールしている場合、外部ストレージを割り当ててから、ファイルをコピーします。

      $ cp -a /path/to/repos /var/www/html/
      $ chmod -R +r /var/www/html/repos
      $ restorecon -vR /var/www/html
  3. ファイアウォールのルールを追加します。

    $ sudo firewall-cmd --permanent --add-service=http
    $ sudo firewall-cmd --reload
  4. 変更を有効にするには、Apache を有効にしてから起動します。

    $ systemctl enable httpd
    $ systemctl start httpd

7.4. レジストリーの設定

非接続環境でイメージにタグを付け、そのイメージを内部レジストリーにプッシュします。

重要

以下の手順では、イメージをレジストリーに読み込む方法についての概要を示します。イメージを読み込む際に、追加の、または異なるアクションを実行する必要がある可能性があります。

  1. イメージをレジストリーにプッシュする前に、それぞれのイメージに再度タグを付けます。

    • openshift3 リポジトリーのイメージについては、イメージにメジャーおよびマイナー番号の両方のタグを付けます。たとえば、OpenShift Container Platform ノードイメージにタグを付けるには、以下を実行します。

      $ docker tag registry.access.redhat.com/openshift3/ose-node:<tag> registry.example.com/openshift3/ose-node:<tag>
      $ docker tag registry.access.redhat.com/openshift3/ose-node:<tag> registry.example.com/openshift3/ose-node:{major-tag}
    • 他のイメージについては、イメージに完全に一致するバージョン番号のタグを付けます。たとえば、etcd イメージにタグを付けるには、以下を実行します。

      $ docker tag registry.access.redhat.com/rhel7/etcd:3.2.22 registry.example.com/rhel7/etcd:3.2.22
  2. 各イメージをレジストリーにプッシュします。たとえば、OpenShift Container Platform ノードイメージをプッシュするには、以下を実行します。

    $ docker push registry.example.com/openshift3/ose-node:<tag>
    $ docker push registry.example.com/openshift3/ose-node:{major-tag}

7.5. クラスターホストの準備

インストールファイルを準備したら、次にホストを準備します。

  1. OpenShift Container Platform クラスターのホストを作成します。最新バージョンの RHEL 7 を使用し、最小インストールを実行することが推奨されます。ホストがシステム要件を満たしていることを確認します。
  2. 各ノードホストで、リポジトリー定義を作成します。以下のテキストを /etc/yum.repos.d/ose.repo ファイルに配置します。

    [rhel-7-server-rpms]
    name=rhel-7-server-rpms
    baseurl=http://<server_IP>/repos/rhel-7-server-rpms 1
    enabled=1
    gpgcheck=0
    [rhel-7-server-extras-rpms]
    name=rhel-7-server-extras-rpms
    baseurl=http://<server_IP>/repos/rhel-7-server-extras-rpms 2
    enabled=1
    gpgcheck=0
    [rhel-7-server-ansible-2.4-rpms]
    name=rhel-7-server-ansible-2.4-rpms
    baseurl=http://<server_IP>/repos/rhel-7-server-ansible-2.4-rpms 3
    enabled=1
    gpgcheck=0
    [rhel-7-server-ose-3.10-rpms]
    name=rhel-7-server-ose-3.10-rpms
    baseurl=http://<server_IP>/repos/rhel-7-server-ose-3.10-rpms 4
    enabled=1
    gpgcheck=0
    1 2 3 4
    <server_IP> を IP アドレス、またはソフトウェアリポジトリーをホストする Apache サーバーの名前に置き換えます。
  3. ホストのインストールを準備します。「ホストの準備」の手順に従い、「ホスト登録」のセクションの手順は省略します。

7.6. OpenShift Container Platform のインストール

ソフトウェア、イメージおよびホストを準備したら、標準的なインストール方法を使用して OpenShift Container Platform をインストールします。

  1. 内部レジストリーを参照するようにインベントリーファイルを設定します。

    orge_url=registry.example.com/openshift3/ose-${component}:${version}
    openshift_examples_modify_imagestreams=true
  2. インストール Playbook の実行