4.10. OpenShift Route のラベルおよびドメインがルーターのシャード化と連携する設定

以下の手順では、OpenShift Route が ルーターのシャード化 と連携し、既存のインスタンスでこれを行う方法や、既存のインスタンス、またはインストールする方法について説明します。

前提条件

  • oc および crwctl ツールが利用できる。

手順

  • 新規の OperatorHub インストールの場合:

    1. OpenShift Container Platform を使用して Red Hat CodeReady Workspaces クラスターを入力し、CheCluster カスタムリソース(CR)を作成します。Red Hat CodeReady Workspaces Operator のインスタンスの作成 を参照してください。
    2. 以下の値を codeready-workspaces カスタムリソース(CR)に設定します。

      spec:
        server:
          devfileRegistryRoute:
            labels: <labels> 1
            domain: <domain> 2
          pluginRegistryRoute:
            labels: <labels> 3
            domain: <domain> 4
          cheServerRoute:
            labels: <labels> 5
            domain: <domain> 6
          customCheProperties:
            CHE_INFRA_OPENSHIFT_ROUTE_LABELS: <labels> 7
            CHE_INFRA_OPENSHIFT_ROUTE_HOST_DOMAIN__SUFFIX: <domain> 8
        auth:
          identityProviderRoute:
            labels: <labels> 9
            domain: <domain> 10
      1 3 5 7 9
      ターゲット Ingress コントローラーがルートからサービスのセットをフィルタリングする時に使用するラベルのコンマ区切りの一覧
      2 4 6 8 10
      ターゲット Ingress コントローラーが提供する DNS 名
  • 新規の crwctl インストールの場合は、以下のようになります。

    1. 以下を使用して crwctl インストールを設定します。

      $ crwctl server:deploy --che-operator-cr-patch-yaml=patch.yaml ...

      patch.yaml には以下を含める必要があります。

      spec:
        server:
          devfileRegistryRoute:
            labels: <labels> 1
            domain: <domain> 2
          pluginRegistryRoute:
            labels: <labels> 3
            domain: <domain> 4
          cheServerRoute:
            labels: <labels> 5
            domain: <domain> 6
          customCheProperties:
            CHE_INFRA_OPENSHIFT_ROUTE_LABELS: <labels> 7
            CHE_INFRA_OPENSHIFT_ROUTE_HOST_DOMAIN__SUFFIX: <domain> 8
        auth:
          identityProviderRoute:
            labels: <labels> 9
            domain: <domain> 10
      1 3 5 7 9
      ターゲット Ingress コントローラーがルートからサービスのセットをフィルタリングする時に使用するラベルのコンマ区切りの一覧
      2 4 6 8 10
      ターゲット Ingress コントローラーが提供する DNS 名
  • 既存の CodeReady Workspaces インストールの場合:

    1. oc ツールを使用して codeready-workspaces CR を更新します。

      $ oc patch checluster codeready-workspaces -n openshift-workspaces --type=json -p \
      '[{"op": "replace", "path": "/spec/server/cheServerRoute/labels",'\
      '"value": "<labels for a codeready-workspaces server route>"}]'
      $ oc patch checluster codeready-workspaces -n openshift-workspaces --type=json -p \
      '[{"op": "replace", "path": "/spec/server/cheServerRoute/domain",'\
      '"value": "<ingress domain>"}]'
      $ oc patch checluster codeready-workspaces -n openshift-workspaces --type=json -p \
      '[{"op": "replace", "path": "/spec/server/pluginRegistryRoute/labels", '\
      '"value": "<labels for a plugin registry route>"}]'
      $ oc patch checluster codeready-workspaces -n openshift-workspaces --type=json -p \
      '[{"op": "replace", "path": "/spec/auth/identityProviderRoute/domain", '\
      '"value": "<ingress domain>"}]'
      $ oc patch checluster codeready-workspaces -n openshift-workspaces --type=json -p \
      '[{"op": "replace", "path": "/spec/server/pluginRegistryRoute/domain", '\
      '"value": "<ingress domain>"}]'
      $ oc patch checluster codeready-workspaces -n openshift-workspaces --type=json -p \
      '[{"op": "replace", "path": "/spec/server/devfileRegistryRoute/labels", '\
      '"value": "<labels for a devfile registry route>"}]'
      $ oc patch checluster codeready-workspaces -n openshift-workspaces --type=json -p \
      '[{"op": "replace", "path": "/spec/server/devfileRegistryRoute/domain", '\
      '"value": "<ingress domain>"}]'
      $ oc patch checluster codeready-workspaces -n openshift-workspaces --type=json -p \
      '[{"op": "replace", "path": "/spec/server/customCheProperties/CHE_INFRA_OPENSHIFT_ROUTE_LABELS", '\
      '"value": "<labels for a workspace routes>"}]'
      $ oc patch checluster codeready-workspaces -n openshift-workspaces --type=json -p \
      '[{"op": "replace", "path": "/spec/server/customCheProperties/CHE_INFRA_OPENSHIFT_ROUTE_HOST_DOMAIN__SUFFIX", '\
      '"value": "<ingress domain>"}]'