第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 ファイルなどの外部の依存関係が含まれる可能性があります。
非接続環境内にレジストリーを指定します。オプションには以下が含まれます。
- スタンドアロン OpenShift Container Platform レジストリーのインストール
- Docker レジストリーとして動作する Red Hat Satellite 6.1 サーバーの使用
7.2. 必要なソフトウェアパッケージおよびイメージの取得
OpenShift Container Platform を非接続環境にインストールする前に、必要なイメージおよびコンポーネントを取得し、それらをリポジトリーに保存します。
非接続環境のクラスターと同じアーキテクチャーを持つシステムで必要なイメージおよびソフトウェアコンポーネントを取得する必要があります。
7.2.1. OpenShift Container Platform パッケージの取得
インターネット接続のある RHEL 7 サーバーで、リポジトリーを同期します。
リポジトリーの同期後にパッケージが削除されないように GPG キーをインポートします。
$ rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
サーバーを Red Hat カスタマーポータルに登録します。OpenShift Container Platform サブスクリプションにアクセスできるアカウントに関連付けられている認証情報を使用する必要があります。
$ subscription-manager register
RHSM から最新サブスクリプションデータをプルします。
$ subscription-manager refresh
OpenShift Container Platform チャンネルを提供するサブスクリプションをアタッチします。
OpenShift Container Platform チャンネルを提供する利用可能なサブスクリプションプールを検索します。
$ subscription-manager list --available --matches '*OpenShift*'
OpenShift Container Platform を提供するサブスクリプションのプール ID をアタッチします。
$ subscription-manager attach --pool=<pool_id> $ subscription-manager repos --disable="*"
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"
必要なパッケージをインストールします。
$ sudo yum -y install yum-utils createrepo docker git
yum-utils
パッケージは reposync ユーティリティーを提供します。これによって yum リポジトリーをミラーリングでき、createrepo
で使用可能なyum
リポジトリーをディレクトリーから作成できます。ソフトウェアを保存するディレクトリーをサーバーのストレージまたは、USB ドライブまたは他の外部デバイスに作成します。
$ mkdir -p </path/to/repos>
重要このサーバーを接続されていない LAN に再接続し、これをリポジトリーサーバーとして使用する場合、ファイルをローカルに保存します。ローカルに保存できない場合は、USB で接続されたストレージを使用し、ソフトウェアを接続されていない LAN のリポジトリーサーバーに移動できるようにします。
パッケージを同期し、各パッケージのリポジトリーを作成します。
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
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
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
7.2.2. イメージの取得
必要なコンテナーイメージをプルします。
Docker デーモンを起動します。
$ systemctl start docker
必要な 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
x86_64 サーバーのオンプレミスインストールの場合、以下のイメージをプルします。
<tag>
をインストールするバージョンに置き換えます。たとえば、最新バージョンのv3.10.45
を指定します。別のマイナーバージョンを指定することもできます。$ docker pull registry.access.redhat.com/openshift3/efs-provisioner:<tag>
オプションのコンポーネントに必要な 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/ を参照してください。
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. イメージのエクスポート
ご使用の環境に内部ネットワークへのアクセスがない場合で、コンテンツの移動に物理メディアが必要になる場合、イメージを圧縮されたファイルにエクスポートします。ホストがインターネットと内部ネットワークの両方に接続されている場合、以下の手順に従い、「リポジトリーサーバーの準備および設定」に進みます。
圧縮されたイメージを保存するディレクトリーを作成し、これに切り替えます。
$ mkdir </path/to/images> $ cd </path/to/images>
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
オプションコンポーネントのイメージを同期している場合は、それらをエクスポートします。
$ 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
プルした 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
- 圧縮されたファイルをインターネットに接続されたホストから内部ホストにコピーします。
コピーしたイメージを読み込みます。
$ 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 サーバーを提供します。
Web サーバーを準備します。
- 非接続環境に新規の Web サーバーをインストールする必要がある場合は、110 GB 以上の領域を持つ新規の RHEL 7 システムを LAN でインストールします。RHEL インストール時に、「Basic Web Server」オプションを選択します。
OpenShift Container Platform ソフトウェアをダウンロードしており、イメージが必要なサーバーを再利用している場合、Apache をサーバーにインストールします。
$ sudo yum install httpd
リポジトリーファイルを 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
ファイアウォールのルールを追加します。
$ sudo firewall-cmd --permanent --add-service=http $ sudo firewall-cmd --reload
変更を有効にするには、Apache を有効にしてから起動します。
$ systemctl enable httpd $ systemctl start httpd
7.4. レジストリーの設定
非接続環境でイメージにタグを付け、そのイメージを内部レジストリーにプッシュします。
以下の手順では、イメージをレジストリーに読み込む方法についての概要を示します。イメージを読み込む際に、追加の、または異なるアクションを実行する必要がある可能性があります。
イメージをレジストリーにプッシュする前に、それぞれのイメージに再度タグを付けます。
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
各イメージをレジストリーにプッシュします。たとえば、OpenShift Container Platform ノードイメージをプッシュするには、以下を実行します。
$ docker push registry.example.com/openshift3/ose-node:<tag> $ docker push registry.example.com/openshift3/ose-node:{major-tag}
7.5. クラスターホストの準備
インストールファイルを準備したら、次にホストを準備します。
- OpenShift Container Platform クラスターのホストを作成します。最新バージョンの RHEL 7 を使用し、最小インストールを実行することが推奨されます。ホストがシステム要件を満たしていることを確認します。
各ノードホストで、リポジトリー定義を作成します。以下のテキストを /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
- ホストのインストールを準備します。「ホストの準備」の手順に従い、「ホスト登録」のセクションの手順は省略します。
7.6. OpenShift Container Platform のインストール
ソフトウェア、イメージおよびホストを準備したら、標準的なインストール方法を使用して OpenShift Container Platform をインストールします。
内部レジストリーを参照するようにインベントリーファイルを設定します。
orge_url=registry.example.com/openshift3/ose-${component}:${version} openshift_examples_modify_imagestreams=true
- インストール Playbook の実行