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> は、ターゲットインストールのプロジェクトを表します。

手順

  1. OpenShift にログインします。「 基本的なセットアップとログイン 」を参照してください。

    $ oc login
  2. 以下のコマンドを実行して、oc OpenShift CLI 管理ツールのバージョンが 3.11 であることを確認します。

    $ oc version
    oc v3.11.0+0cbc58b
  3. 以下のコマンドを実行してダミープロジェクトを作成し、この 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
  4. ドメインを httpd-ex-hello-world.apps.rhpds311.openshift.opentlc.com から抽出します。これは、名前 apps.rhpds311.openshift.opentlc.com の後の 部分です。この URL は <OPENSHIFT_APPS_URL> として書き留めておきます。
  5. ダミープロジェクトを削除します。

    $ oc delete project hello-world
  6. 同じ 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
  7. 同じ 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"} }]'
  8. 以下のコマンドを実行して CodeReady Workspaces インスタンスを作成します。

    $ crwctl server:start -n <workspaces> --che-operator-cr-patch-yaml=operator-cr-patch.yaml

検証手順

  1. 直前のコマンドの出力は、以下で終了します。

    Command server:start has completed successfully.
  2. CodeReady Workspaces クラスターインスタンス https://codeready-<openshift_deployment_name>.<domain_name&gt ; に移動します。ドメインは Let's Encrypt ACME 証明書を使用します。