2.2.2. Operator を使用した OpenShift 3 への CodeReady Workspaces のインストール
本セクションでは、crwctl CLI
管理ツールを使用して、OpenShift 3 に CodeReady Workspaces をインストールする方法を説明します。インストールの方法は Operator を使用し、TLS(HTTPS)を有効にします。
Operator は、以下を提供する OpenShift アプリケーションをパッケージ化し、デプロイし、管理する方法です。
- インストールおよびアップグレードの反復性。
- すべてのシステムコンポーネントの定期的なヘルスチェック。
- OpenShift コンポーネントおよび独立したソフトウェアベンダー(ISV)コンテンツの OTA(Over-the-air)更新。
- フィールドエンジニアからの知識をカプセル化し、すべてのユーザーに展開する場所。
このアプローチは、OpenShift Container Platform および OpenShift Dedicated バージョン 3.11 でのみサポートされていますが、新しいバージョンの OpenShift Container Platform および OpenShift Dedicated でも機能し、OperatorHub を使用したインストール方法が利用できない状況のバックアップインストール方法として機能します。
前提条件
- OpenShift 3.11 の実行中のインスタンスに対する管理者権限。
-
oc
OpenShift 3.11 CLI 管理ツールのインストール「 OpenShift 3.11 CLI のインストール 」を参照してください。 -
crwctl 管理
ツール
のインストール「 crwctl管理
ツールの使用」を 参照してください。 -
主な crwctl コマンドラインパラメーターを設定できない設定を適用するには、Operator によって使用される CheCluster
カスタム
リソースのデフォルト値を上書きする設定ファイルoperator-cr-patch.yaml
を準備します。「 CodeReady Workspaces インストールの設定 」を参照してください。 - <workspaces> は、ターゲットインストールのプロジェクトを表します。
手順
OpenShift にログインします。「 基本的なセットアップとログイン 」を参照してください。
$ oc login
以下のコマンドを実行して、
oc
OpenShift CLI 管理ツールのバージョンが 3.11 であることを確認します。$ oc version oc v3.11.0+0cbc58b
以下のコマンドを実行してダミープロジェクトを作成し、この OpenShift インスタンスがアプリケーションをデプロイするのに使用する URL を検索します。
$ oc new-project hello-world $ oc new-app centos/httpd-24-centos7~https://github.com/openshift/httpd-ex $ oc expose svc/httpd-ex $ oc get route httpd-ex NAME HOST/PORT PATH SERVICES PORT TERMINATION WILDCARD httpd-ex httpd-ex-hello-world.apps.rhpds311.openshift.opentlc.com httpd-ex 8080-tcp None
-
ドメインを
httpd-ex-hello-world.apps.rhpds311.openshift.opentlc.com
から抽出します。これは、名前apps.rhpds311.openshift.opentlc.com の後の
部分です。この URL は<OPENSHIFT_APPS_URL>
として書き留めておきます。 ダミープロジェクトを削除します。
$ oc delete project hello-world
同じ OpenShift Container Platform 3.11 クラスターで以前の CodeReady Workspaces インストールからアップグレードするには、カスタムリソース定義とクラスターロールを削除します。
$ oc delete customresourcedefinition/checlusters.org.eclipse.che $ oc patch customresourcedefinition/checlusters.org.eclipse.che \ --type merge \ -p '{ "metadata": { "finalizers": null }}' $ oc delete clusterrole codeready-operator
同じ OpenShift Container Platform 3.11 クラスターで異なるバージョンを使用して複数の CodeReady Workspaces デプロイメントを並行して使用するには、新しいデプロイメント用に新しいサービスアカウントを作成します。ただし、このバージョンの組み合わせにより予期せぬ結果となる可能性があるため、古い CodeReady Workspaces デプロイメントをすべて最新バージョンに更新することが強く推奨されます。
$ oc patch clusterrolebinding codeready-operator \ --type='json' \ -p '[{"op": "add", "path": "/subjects/0", "value": {"kind":"ServiceAccount", "namespace": "<workspaces>", "name": "codeready-operator"} }]'
以下のコマンドを実行して CodeReady Workspaces インスタンスを作成します。
$ crwctl server:start -n <workspaces> --che-operator-cr-patch-yaml=operator-cr-patch.yaml
検証手順
直前のコマンドの出力は、以下で終了します。
Command server:start has completed successfully.
-
CodeReady Workspaces クラスターインスタンス https://codeready-<openshift_deployment_name>.<domain_name>
;
に移動します。ドメインは Let's Encrypt ACME 証明書を使用します。