インストールガイド
Red Hat CodeReady Workspaces 2.15 のインストール
概要
多様性を受け入れるオープンソースの強化 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。まずは、マスター (master)、スレーブ (slave)、ブラックリスト (blacklist)、ホワイトリスト (whitelist) の 4 つの用語の置き換えから始めます。この取り組みは膨大な作業を要するため、今後の複数のリリースで段階的に用語の置き換えを実施して参ります。詳細は、Red Hat CTO である Chris Wright のメッセージ をご覧ください。
第1章 サポートされるプラットフォーム リンクのコピーリンクがクリップボードにコピーされました!
このセクションでは、OpenShift Container Platform 4.10、4.8、3.11、および OpenShift Dedicated の CodeReady Workspaces 2.15 の可用性およびサポートされるインストール方法を説明します。
| プラットフォーム | アーキテクチャー | デプロイメント方法 |
| OpenShift Container Platform 3.11 | AMD64 および Intel 64 (x86_64) |
|
| OpenShift Container Platform 4.8 から 4.10 | AMD64 および Intel 64 (x86_64) |
OperatorHub, |
| OpenShift Container Platform 4.8 から 4.10 | IBM Z (s390x) |
OperatorHub, |
| OpenShift Container Platform 4.8 から 4.10 | IBM Power (ppc64le) |
OperatorHub, |
| OpenShift Dedicated 4.10 | AMD64 および Intel 64 (x86_64) | |
| Red Hat OpenShift Service on AWS (ROSA) | AMD64 および Intel 64 (x86_64) |
第2章 CodeReady Workspaces インストールの設定 リンクのコピーリンクがクリップボードにコピーされました!
以下のセクションでは、Operator を使用して Red Hat CodeReady Workspaces をインストールする設定オプションについて説明します。
関連情報
2.1. CheCluster カスタムリソースについて リンクのコピーリンクがクリップボードにコピーされました!
CodeReady Workspaces のデフォルトのデプロイメントは、Red Hat CodeReady Workspaces Operator によってパラメーター化された CheCluster カスタムリソースで設定されます。
CheCluster カスタムリソースは Kubernetes オブジェクトです。CheCluster カスタムリソース YAML ファイルを編集して設定できます。このファイルには、各コンポーネントを設定するセクション (auth、database、server、storage) が含まれます。
Red Hat CodeReady Workspaces オペレーターは、CheCluster カスタムリソースを CodeReady Workspaces インストールの各コンポーネントで使用できる設定マップに変換します。
OpenShift プラットフォームは、設定を各コンポーネントに適用し、必要な Pod を作成します。OpenShift がコンポーネントの設定で変更を検知すると、Pod を適宜再起動します。
例2.1 CodeReady Workspaces サーバーコンポーネントの主なプロパティーの設定
-
serverコンポーネントセクションで適切な変更を加えたCheClusterカスタムリソース YAML ファイルを適用します。 -
Operator は、
cheConfigMapを生成します。 -
OpenShift は
ConfigMapの変更を検知し、CodeReady Workspaces Pod の再起動をトリガーします。
2.2. OpenShift Web コンソールを使用してインストール中に CheCluster カスタムリソースの設定 リンクのコピーリンクがクリップボードにコピーされました!
適切な設定で CodeReady Workspaces をデプロイするには、CodeReady Workspaces のインストール中に CheCluster カスタムリソース YAML ファイルを編集します。それ以外の場合、CodeReady Workspaces デプロイメントは、Operator によってパラメーター化されたデフォルト設定を使用します。
CheCluster カスタムリソース YAML ファイルには、各コンポーネントを設定するセクション (auth、database、server、storage) が含まれます。
前提条件
- OpenShift のインスタンスの管理者アカウントへのアクセス。
手順
- 左側のパネルで、Operators をクリックし、Installed Operators をクリックします。
- Installed Operators ページで、Red Hat CodeReady Workspaces 名をクリックします。
Operator details ページで、Details タブの Provided APIs セクションの Create instance リンクをクリックします。
これにより、 Create CheCluster ページに移動します。このページには、
CheClusterカスタムリソースに保存される CodeReady Workspaces インスタンスの作成に必要な設定が含まれます。- Create CheCluster ページで、YAML view をクリックします。
YAML ファイルで、設定するプロパティーを検索または追加します。プロパティーを適切な値に設定します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - ページの最後にある ボタンを使用して、codeready-workspaces クラスターを作成します。
- Operator details ページの、Red Hat CodeReady Workspaces Cluster タブで、codeready-workspaces リンクをクリックします。
Red Hat CodeReady Workspaces URL の出力に表示されるリンクを使用して codeready-workspaces インスタンスに移動します。
注記インストールには 5 分以上かかる場合があります。Red Hat CodeReady Workspaces のインストールが完了すると、URL が表示されます。
検証
- 左側のパネルで、Workloads をクリックし、ConfigMaps をクリックします。
- ConfigMaps ページで、codeready をクリックします。
- YAML タブに移動します。
- YAML ファイルに設定済みのプロパティーと値が含まれていることを確認します。
2.3. OpenShift Web コンソールを使用した CheCluster カスタムリソースの設定 リンクのコピーリンクがクリップボードにコピーされました!
CodeReady Workspaces の実行中のインスタンスを設定するには、CheCluster カスタムリソース YAML ファイルを編集します。
CheCluster カスタムリソース YAML ファイルには、各コンポーネントを設定するセクション (auth、database、server、storage) が含まれます。
前提条件
- OpenShift 上の CodeReady Workspaces のインスタンス。
- OpenShift のインスタンスの管理者アカウントおよび OpenShift Web コンソールへのアクセス。
手順
- 左側のパネルで、Operators をクリックし、Installed Operators をクリックします。
- Installed Operators ページで、Red Hat CodeReady Workspaces をクリックします。
- Red Hat CodeReady Workspaces インスタンスの仕様 タブに移動し、codeready-workspaces をクリックします。
- YAML タブに移動します。
YAML ファイルで、設定するプロパティーを検索または追加します。プロパティーを適切な値に設定します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Save をクリックして変更を適用します。
検証
- 左側のパネルで、Workloads をクリックし、ConfigMaps をクリックします。
- ConfigMaps ページで、codeready をクリックします。
- YAML タブに移動します。
- YAML ファイルに設定済みのプロパティーと値が含まれていることを確認します。
2.4. crwctl を使用して、インストール中に CheCluster カスタムリソースを設定 リンクのコピーリンクがクリップボードにコピーされました!
適切な設定で CodeReady Workspaces をデプロイするには、CodeReady Workspaces のインストール中に CheCluster カスタムリソース YAML ファイルを編集します。それ以外の場合、CodeReady Workspaces デプロイメントは、Operator によってパラメーター化されたデフォルト設定を使用します。
前提条件
- OpenShift のインスタンスの管理者アカウントへのアクセス。
- crwctl ツールが利用できる。「crwctl CLI 管理ツールのインストール」 を参照してください。
手順
設定する
CheClusterカスタムリソースのサブセットを含むche-operator-cr-patch.yamlYAML ファイルを作成します。spec: <component>: <property-to-configure>: <value>spec: <component>: <property-to-configure>: <value>Copy to Clipboard Copied! Toggle word wrap Toggle overflow CodeReady Workspaces をデプロイし、
che-operator-cr-patch.yamlファイルに記述されている変更を適用します。{prod-cli} server:deploy \ --che-operator-cr-patch-yaml=che-operator-cr-patch.yaml \ --platform <chosen-platform>$ {prod-cli} server:deploy \ --che-operator-cr-patch-yaml=che-operator-cr-patch.yaml \ --platform <chosen-platform>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
設定されたプロパティーの値を確認します。
oc get configmap che -o jsonpath='{.data.<configured-property>}' \ -n openshift-workspaces$ oc get configmap che -o jsonpath='{.data.<configured-property>}' \ -n openshift-workspacesCopy to Clipboard Copied! Toggle word wrap Toggle overflow
2.5. CLI を使用して CheCluster カスタムリソースの設定 リンクのコピーリンクがクリップボードにコピーされました!
CodeReady Workspaces の実行中のインスタンスを設定するには、CheCluster カスタムリソース YAML ファイルを編集します。
前提条件
- OpenShift 上の CodeReady Workspaces のインスタンス。
- OpenShift のインスタンスの管理者アカウントへのアクセス。
-
ocツールが利用できる。
手順
クラスター上の CheCluster カスタムリソースを編集します。
oc edit checluster/eclipse-che -n openshift-workspaces
$ oc edit checluster/eclipse-che -n openshift-workspacesCopy to Clipboard Copied! Toggle word wrap Toggle overflow - ファイルを保存して閉じ、変更を適用します。
検証
設定されたプロパティーの値を確認します。
oc get configmap che -o jsonpath='{.data.<configured-property>}' \ -n openshift-workspaces$ oc get configmap che -o jsonpath='{.data.<configured-property>}' \ -n openshift-workspacesCopy to Clipboard Copied! Toggle word wrap Toggle overflow
2.6. CheCluster カスタムリソースフィールドの参照 リンクのコピーリンクがクリップボードにコピーされました!
このセクションでは、CheCluster カスタムリソースのカスタマイズに使用できるすべてのフィールドについて説明します。
-
例2.2「最小の
CheClusterカスタムリソースの例。」 -
表2.1「CodeReady Workspaces サーバーコンポーネントに関連する
CheClusterカスタムリソースのserver設定。」 -
表2.2「CodeReady Workspaces で使用されるデータベースに関連する
CheClusterカスタムリソースdatabase設定。」 -
表2.3「CodeReady Workspaces で使用される認証に関連するカスタムリソース
auth設定。」 -
表2.4「CodeReady Workspaces で使用される永続ストレージに関連する
CheClusterカスタムリソースstorage設定。」 -
表2.5「OpenShift の CodeReady Workspaces インストールに固有の
CheClusterカスタムリソースk8s設定。」 -
表2.6「CodeReady Workspaces によって使用される CodeReady Workspaces メトリクス収集に関連する
CheClusterカスタムリソースmetrics設定。」 -
表2.7「
CheClusterカスタムリソースstatusは、CodeReady Workspaces インストールの観察される状態を定義します。」
例2.2 最小の CheCluster カスタムリソースの例。
| プロパティー | 説明 |
|---|---|
| airGapContainerRegistryHostname | イメージのプルに使用する別のコンテナーレジストリーに対する、オプションのホスト名または URL。この値は、Che デプロイメントに関連するすべてのデフォルトコンテナーイメージで定義されるコンテナーレジストリーのホスト名を上書きします。これは、制限された環境で Che をインストールする場合にとくに便利です。 |
| airGapContainerRegistryOrganization | イメージのプルに使用する別のコンテナーレジストリーのオプションのリポジトリー名。この値は、Che デプロイメントに関連するすべてのデフォルトコンテナーイメージで定義されるコンテナーレジストリーの組織を上書きします。これは、制限された環境で CodeReady Workspaces をインストールする場合にとくに便利です。 |
| allowUserDefinedWorkspaceNamespaces |
非推奨。このフラグの値は無視されます。ユーザーが Kubernetes namespace またはデフォルトとは異なる OpenShift プロジェクトを指定できるように定義します。OpenShift OAuth を設定せずに |
| cheClusterRoles |
Che ServiceAccount に割り当てられる ClusterRole のコンマ区切りの一覧。各ロールには、 |
| cheDebug |
Che サーバーのデバッグモードを有効にします。デフォルトは |
| cheFlavor |
インストールのバリエーションを指定します。このオプションは、アップストリームの Che インストールの場合は |
| cheHost |
インストールされた Che サーバーのパブリックホスト名。値を省略すると、値は Operator によって自動的に設定されます。 |
| cheHostTLSSecret |
インストールされた Che サーバーのカスタムホスト名の Ingress またはルートのセキュリティーを保護するための証明書が含まれるシークレットの名前。シークレットには、 |
| cheImage | Che デプロイメントで使用されるコンテナーイメージを上書きします。これには、コンテナーイメージタグは含まれません。Operator によって提供されるデフォルトのコンテナーイメージを使用するには、これを省略するか、または空のままにします。 |
| cheImagePullPolicy |
Che デプロイメントで使用されるイメージプルポリシーを上書きします。デフォルト値は、 |
| cheImageTag | Che デプロイメントで使用されるコンテナーイメージのタグを上書きします。Operator によって提供されるデフォルトのイメージタグを使用するには、これを省略するか、または空のままにします。 |
| cheLogLevel |
Che サーバーのログレベル: |
| cheServerIngress | Che サーバー Ingress のカスタム設定。 |
| cheServerRoute | Che サーバールートのカスタム設定。 |
| cheWorkspaceClusterRole |
Che ワークスペースのユーザーにバインドされるカスタムロール。ロールには、 |
| customCheProperties |
|
| dashboardCpuLimit | ダッシュボードのデプロイメントで使用される CPU 制限を上書きします。コア(500m = .5 コア)。デフォルトは 500m に設定されます。 |
| dashboardCpuRequest | ダッシュボードのデプロイメントで使用される CPU 要求を上書きします。コア(500m = .5 コア)。デフォルトは 100m に設定されます。 |
| dashboardImage | ダッシュボードのデプロイメントで使用されるコンテナーイメージを上書きします。これには、イメージタグが含まれます。Operator によって提供されるデフォルトのコンテナーイメージを使用するには、これを省略するか、または空のままにします。 |
| dashboardImagePullPolicy |
ダッシュボードのデプロイメントで使用されるイメージプルポリシーを上書きします。デフォルト値は、 |
| dashboardIngress | ダッシュボード Ingress のカスタム設定。 |
| dashboardMemoryLimit | ダッシュボードのデプロイメントで使用されるメモリー制限を上書きします。デフォルトは 256Mi に設定されます。 |
| dashboardMemoryRequest | ダッシュボードのデプロイメントで使用されるメモリー要求を上書きします。デフォルトは 16Mi に設定されます。 |
| dashboardRoute | ダッシュボードルートのカスタム設定。 |
| devfileRegistryCpuLimit | devfile レジストリーのデプロイメントで使用される CPU 制限を上書きします。コア(500m = .5 コア)。デフォルトは 500m に設定されます。 |
| devfileRegistryCpuRequest | devfile レジストリーのデプロイメントで使用される CPU 要求を上書きします。コア(500m = .5 コア)。デフォルトは 100m に設定されます。 |
| devfileRegistryImage | devfile レジストリーのデプロイメントで使用されるコンテナーイメージを上書きします。これには、イメージタグが含まれます。Operator によって提供されるデフォルトのコンテナーイメージを使用するには、これを省略するか、または空のままにします。 |
| devfileRegistryIngress | devfile レジストリー Ingress のカスタム設定。 |
| devfileRegistryMemoryLimit | devfile レジストリーのデプロイメントで使用されるメモリー制限を上書きします。デフォルトは 256Mi に設定されます。 |
| devfileRegistryMemoryRequest | devfile レジストリーのデプロイメントで使用されるメモリー要求を上書きします。デフォルトは 16Mi に設定されます。 |
| devfileRegistryPullPolicy |
devfile レジストリーのデプロイメントで使用されるイメージプルポリシーを上書きします。デフォルト値は、 |
| devfileRegistryRoute | devfile レジストリールートのカスタム設定。 |
| devfileRegistryUrl |
|
| disableInternalClusterSVCNames | 内部クラスターの SVC 名の使用を無効にして、トラフィックを高速化し、プロキシーの問題を回避します。 |
| externalDevfileRegistries |
外部 devfile レジストリーで、すぐに使用可能な devfiles を提供します。( |
| externalDevfileRegistry |
専用の devfile レジストリーサーバーをデプロイするかどうかについて Operator に指示します。デフォルトでは、専用の devfile レジストリーサーバーが起動します。 |
| externalPluginRegistry |
専用のプラグインレジストリーサーバーをデプロイするかどうかについて Operator に指示します。デフォルトでは、専用のプラグインレジストリーサーバーが起動します。 |
| gitSelfSignedCert |
|
| nonProxyHosts |
プロキシーをバイパスして、直接到達されるホストの一覧。ワイルドカードのドメインを指定するには、以下の |
| pluginRegistryCpuLimit | プラグインレジストリーのデプロイメントで使用される CPU 制限を上書きします。コア(500m = .5 コア)。デフォルトは 500m に設定されます。 |
| pluginRegistryCpuRequest | プラグインレジストリーのデプロイメントで使用される CPU 要求を上書きします。コア(500m = .5 コア)。デフォルトは 100m に設定されます。 |
| pluginRegistryImage | プラグインレジストリーのデプロイメントで使用されるコンテナーイメージを上書きします。これには、イメージタグが含まれます。Operator によって提供されるデフォルトのコンテナーイメージを使用するには、これを省略するか、または空のままにします。 |
| pluginRegistryIngress | プラグインレジストリー Ingress のカスタム設定。 |
| pluginRegistryMemoryLimit | プラグインレジストリーのデプロイメントで使用されるメモリー制限を上書きします。デフォルトは 256Mi に設定されます。 |
| pluginRegistryMemoryRequest | プラグインレジストリーのデプロイメントで使用されるメモリー要求を上書きします。デフォルトは 16Mi に設定されます。 |
| pluginRegistryPullPolicy |
プラグインレジストリーのデプロイメントで使用されるイメージプルポリシーを上書きします。デフォルト値は、 |
| pluginRegistryRoute | プラグインレジストリールートのカスタム設定。 |
| pluginRegistryUrl |
サンプルのすぐに使できる devfile を提供するプラグインレジストリーの公開 URL。外部 devfile レジストリーを使用する必要がある場合は、この ONLY を設定します。 |
| proxyPassword |
プロキシーサーバーのパスワード。プロキシー設定が必要である場合にのみ使用します。 |
| proxyPort |
プロキシーサーバーのポート。プロキシーの設定が必要な場合にのみ使用します。 |
| proxySecret |
プロキシーサーバーの |
| proxyURL |
プロキシーサーバーの URL (プロトコル+ホスト名)。これにより、Che サーバーおよびワークスペースコンテナーの |
| proxyUser |
プロキシーサーバーのユーザー名。プロキシーの設定が必要な場合にのみ使用します。 |
| selfSignedCert | 非推奨。このフラグの値は無視されます。Che Operator は、ルーター証明書が自己署名されているかどうかを自動的に検知し、これを Che サーバーなどの他のコンポーネントに伝播します。 |
| serverCpuLimit | Che サーバーのデプロイメントで使用される CPU 制限を上書きします (コア単位)。(500m = .5 コア)。デフォルトは 1 に設定されます。 |
| serverCpuRequest | Che サーバーのデプロイメントで使用される CPU 要求を上書きします (コア単位)。(500m = .5 コア)。デフォルトは 100m に設定されます。 |
| serverExposureStrategy |
サーバーおよびワークスペースの公開タイプを設定します。設定可能な値は、 |
| serverMemoryLimit | Che サーバーのデプロイメントで使用されるメモリー制限を上書きします。デフォルトは 1Gi に設定されます。 |
| serverMemoryRequest | Che サーバーのデプロイメントで使用されるメモリー要求を上書きします。デフォルトは 512Mi に設定されます。 |
| serverTrustStoreConfigMapName |
Che サーバーの Java トラストストアに追加するパブリック証明書のある ConfigMap の名前。これは、HTTPS エンドポイントが自己署の証明書で署名されている OpenShift OAuth プロバイダーを追加する際に必要になります。Che サーバーは、要求できるように CA 証明書を認識できる必要があります。これはデフォルトで無効にされます。Config Map には、 |
| singleHostGatewayConfigMapLabels | ゲートウェイ設定を表す ConfigMap に存在する必要があるラベル。 |
| singleHostGatewayConfigSidecarImage | ゲートウェイに設定を提供するゲートウェイサイドカーに使用されるイメージ。Operator によって提供されるデフォルトのコンテナーイメージを使用するには、これを省略するか、または空のままにします。 |
| singleHostGatewayImage | 単一ホストモードでゲートウェイに使用されるイメージ。Operator によって提供されるデフォルトのコンテナーイメージを使用するには、これを省略するか、または空のままにします。 |
| tlsSupport | 非推奨。Operator に対して Che を TLS モードでデプロイするように指示します。これはデフォルトで有効になっています。TLS を無効にすると、Che コンポーネントが正しく機能しないことがあります。 |
| useInternalClusterSVCNames |
|
| workspaceNamespaceDefault |
ユーザーが上書きしない場合にユーザーのワークスペースが作成される Kubernetes のデフォルト namespace を定義します。 |
| workspacesDefaultPlugins | Devworkspaces に適用されるデフォルトのプラグイン。 |
| プロパティー | 説明 |
|---|---|
| chePostgresContainerResources | PostgreSQL コンテナーのカスタム設定 |
| chePostgresDb |
Che サーバーが DB への接続に使用する PostgreSQL データベース名。デフォルトは |
| chePostgresHostName |
Che サーバーが接続する PostgreSQL データベースのホスト名。デフォルトは |
| chePostgresPassword | Che サーバーが DB への接続に使用する PostgreSQL パスワード。これは、省略されるか、または空のままの場合は、自動的に生成される値に設定されます。 |
| chePostgresPort |
Che サーバーが接続する PostgreSQL データベースのポート。デフォルトは 5432 に設定されます。外部データベースを使用する場合、この値のみを上書きします。 |
| chePostgresSecret |
Che サーバーが DB への接続に使用する PosgreSQL の `user` および |
| chePostgresUser |
Che サーバーが DB への接続に使用する PostgreSQL ユーザー。デフォルトは |
| externalDb |
専用のデータベースをデプロイするかどうかについて Operator に指示します。デフォルトでは、専用の PostgreSQL データベースは Che インストールの一部としてデプロイされます。 |
| postgresImage | PostgreSQL データベースのデプロイメントで使用されるコンテナーイメージを上書きします。これには、イメージタグが含まれます。Operator によって提供されるデフォルトのコンテナーイメージを使用するには、これを省略するか、または空のままにします。 |
| postgresImagePullPolicy |
PostgreSQL データベースのデプロイメントで使用されるイメージプルポリシーを上書きします。デフォルト値は、 |
| postgresVersion |
使用する Postgre SQL バージョンイメージを示します。使用できる値は次のとおりです。 |
| pvcClaimSize |
データベースの永続ボリュームクレームのサイズ。デフォルトは |
| プロパティー | 説明 |
|---|---|
| debug | 内部 ID プロバイダーをデバッグします。 |
| externalIdentityProvider |
専用のアイデンティティープロバイダー (Keycloak または RH SSO インスタンス) をデプロイするかどうかについて Operator に指示します。専用のアイデンティティープロバイダー (Keycloak または RH-SSO インスタンス) をデプロイするかどうかについて Operator に指示します。デフォルトで、専用のアイデンティティープロバイダーサーバーは Che インストールの一部としてデプロイされます。 |
| gatewayAuthenticationSidecarImage | NativeUserMode が有効な場合に認証を行うゲートウェイサイドカー。oauth2-proxy または openshift/oauth-proxy を参照してください。 |
| gatewayAuthorizationSidecarImage | NativeUserMode が有効な場合に承認を行うゲートウェイサイドカー。kube-rbac-proxy または openshift/kube-rbac-proxy を参照してください。 |
| gatewayHeaderRewriteSidecarImage | 非推奨。このフラグの値は無視されます。サイドカー機能が Traefik プラグインに実装されるようになりました。 |
| identityProviderAdminUserName |
アイデンティティープロバイダーの管理者ユーザーの名前を上書きします。デフォルトは |
| identityProviderClientId |
Che に使用されるアイデンティティープロバイダー、Keycloak、または RH-SSO の |
| identityProviderContainerResources | アイデンティティープロバイダーコンテナーのカスタム設定。 |
| identityProviderImage | アイデンティティープロバイダー、Keycloak、または RH-SSO デプロイメントで使用するコンテナーイメージを上書きします。これには、イメージタグが含まれます。Operator によって提供されるデフォルトのコンテナーイメージを使用するには、これを省略するか、または空のままにします。 |
| identityProviderImagePullPolicy |
アイデンティティープロバイダー、Keycloak、または RH-SSO デプロイメントで使用するイメージプルポリシーを上書きします。デフォルト値は、 |
| identityProviderIngress | Ingress のカスタム設定。 |
| identityProviderPassword |
Keycloak 管理者ユーザーのパスワードを上書きします。外部アイデンティティープロバイダーが使用されている場合にこれを上書きします。 |
| identityProviderPostgresPassword |
データベースに接続するために使用するアイデンティティープロバイダー、Keycloak、または RH-SSO のパスワード外部アイデンティティープロバイダーが使用されている場合にこれを上書きします。 |
| identityProviderPostgresSecret |
データベースに接続するために使用するアイデンティティープロバイダー、Keycloak、または RH-SSO の |
| identityProviderRealm |
Che に使用されるアイデンティティープロバイダー、Keycloak、または RH-SSO のレルムの名前。外部アイデンティティープロバイダーが使用されている場合にこれを上書きします。 |
| identityProviderRoute | ルートのカスタム設定。 |
| identityProviderSecret |
アイデンティティープロバイダーの |
| identityProviderURL |
アイデンティティープロバイダーサーバー (Keycloak/RH-SSO サーバー) の公開 URL。外部アイデンティティープロバイダーを使用する必要がある場合は、これのみを設定します。 |
| initialOpenShiftOAuthUser |
OpenShift OAuth 認証の操作には、kubeadmin を使用できないため、新規ユーザーアカウントを作成します。値が true の場合には、HTPasswd アイデンティティープロバイダーに新しい OpenShift OAuth ユーザーが作成されます。値が false で、ユーザーがすでに作成されている場合は、削除されます。値が空白の場合は何も実行されません。ユーザーの認証情報は、Operator によって 'openshift-config' namespace にある |
| nativeUserMode | ネイティブユーザーモードを有効にします。現在、OpenShift および DevWorkspace エンジンでのみ動作します。ネイティブユーザーモードは、Keycloak なしで OpenShift OAuth を直接アイデンティティープロバイダーとして使用します。 |
| oAuthClientName |
OpenShift 側でアイデンティティーフェデレーションを設定するために使用される OpenShift |
| oAuthSecret |
OpenShift 側でアイデンティティーフェデレーションを設定するために使用される OpenShift |
| openShiftoAuth |
アイデンティティープロバイダー (Keycloak/RHSSO) と OpenShift OAuth の統合を有効にします。デフォルトでは OpenShift の値は空になります。これにより、ユーザーは OpenShift ログインで OpenShift ユーザーとして直接ログインでき、独自のワークスペースを個人の OpenShift namespace の下に作成できます。警告: |
| updateAdminPassword |
デフォルトの |
| プロパティー | 説明 |
|---|---|
| postgresPVCStorageClassName | PostgreSQL データベース専用の Persistent Volume Claim (永続ボリューム要求、PVC) のストレージクラス。省略されるか、または空のままの場合は、デフォルトのストレージクラスが使用されます。 |
| preCreateSubPaths |
Che サーバーに対し、永続ボリュームでサブパスを事前に作成するために特別な Pod を起動するように指示します。デフォルトは |
| pvcClaimSize |
ワークスペースの永続ボリューム要求 (PVC) のサイズ。デフォルトは |
| pvcJobsImage |
永続ボリュームでサブパスを作成するために使用されるコンテナーイメージを上書きします。これには、イメージタグが含まれます。Operator によって提供されるデフォルトのコンテナーイメージを使用するには、これを省略するか、または空のままにします。 |
| pvcStrategy |
Che サーバーの永続ボリューム要求ストラテジー。これには、'common' (1 つのボリュームにすべてのワークスペース PVC)、 |
| workspacePVCStorageClassName | Che ワークスペース専用の Persistent Volume Claim(永続ボリューム要求、PVC) のストレージクラス。省略されるか、または空のままの場合は、デフォルトのストレージクラスが使用されます。 |
| プロパティー | 説明 |
|---|---|
| ingressClass |
Ingress を管理するコントローラーを定義する Ingress クラス。デフォルトは |
| ingressDomain | Kubernetes クラスターのグローバル Ingress ドメイン。これは明示的に指定する必要があります。デフォルト値はありません。 |
| ingressStrategy |
Ingress 作成のストラテジー。オプション: |
| securityContextFsGroup |
Che Pod およびワークスペース Pod コンテナーが実行される FSGroup。デフォルト値は |
| securityContextRunAsUser |
Che Pod およびワークスペース Pod コンテナーの実行に使用するユーザーの ID。デフォルト値は |
| singleHostExposureType |
serverExposureStrategy が |
| tlsSecretName |
TLS が有効にされている場合に ingress TLS 終端を設定するために使用されるシークレットの名前。フィールドが空の文字列である場合、デフォルトのクラスター証明書が使用されます。 |
| プロパティー | 説明 |
|---|---|
| enable |
Che サーバーエンドポイント |
| プロパティー | 説明 |
|---|---|
| cheClusterRunning |
Che インストールのステータス。 |
| cheURL | Che サーバーへの公開 URL。 |
| cheVersion | 現在のインストールされている Che バージョン。 |
| dbProvisioned | PostgreSQL インスタンスが正しくプロビジョニングされているかどうかを示します。 |
| devfileRegistryURL | devfile レジストリーへの公開 URL。 |
| devworkspaceStatus | Devworkspace サブシステムのステータス |
| gitHubOAuthProvisioned | アイデンティティープロバイダーインスタンス、Keycloak または RH-SSO が GitHub OAuth と統合するように設定されているかどうかを示します。 |
| helpLink | 現在の Operator ステータスに関連するヘルプの検索に使用する URL を参照する URL。 |
| keycloakProvisioned | アイデンティティープロバイダーインスタンス、Keycloak または RH-SSO がレルム、クライアント、およびユーザーと共にプロビジョニングされているかどうかを示します。 |
| keycloakURL | アイデンティティープロバイダーサーバー (Keycloak/RH-SSO) の公開 URL。 |
| message | Pod がこの状態にある理由の詳細を示す、人が判読できるメッセージ。 |
| openShiftOAuthUserCredentialsSecret |
HTPasswd アイデンティティープロバイダーのユーザー認証情報を含む |
| openShiftoAuthProvisioned | アイデンティティープロバイダーインスタンス、Keycloak または RH-SSO が OpenShift OAuth と統合するように設定されているかどうかを示します。 |
| pluginRegistryURL | プラグインレジストリーへの公開 URL。 |
| reason | Pod がこの状態にある理由の詳細を示す簡単な CamelCase メッセージ。 |
第3章 CodeReady Workspaces のインストール リンクのコピーリンクがクリップボードにコピーされました!
本セクションでは、Red Hat CodeReady Workspaces をインストールする手順を説明します。インストール方法は、ターゲットプラットフォームと環境の制限によって異なります。
3.1. OperatorHub を使用した OpenShift 4 への CodeReady Workspaces のインストール リンクのコピーリンクがクリップボードにコピーされました!
本セクションでは、OpenShift 4 Web コンソールで利用可能な CodeReady Workspaces Operator を使用して CodeReady Workspaces をインストールする方法を説明します。
Operator は、OpenShift アプリケーションをパッケージ化し、デプロイし、管理する方法です。これは、以下も提供します。
- インストールおよびアップグレードの再現性。
- すべてのシステムコンポーネントの定期的なヘルスチェック。
- OpenShift コンポーネントおよび独立ソフトウェアベンダー (ISV) コンテンツの OTA (Over-the-air) 更新。
- フィールドエンジニアの知識をカプセル化し、すべてのユーザーに展開する場所。
前提条件
- OpenShift 4 の実行中のインスタンスの管理者アカウント
3.1.1. Red Hat CodeReady Workspaces Operator のインストール リンクのコピーリンクがクリップボードにコピーされました!
Red Hat CodeReady Workspaces Operator は、PostgreSQL、RH-SSO、イメージレジストリー、CodeReady Workspaces サーバーなどの CodeReady Workspaces を実行するためのすべてのリソースを提供し、これらのすべてのサービスも設定します。
前提条件
- クラスターの OpenShift Web コンソールへのアクセス。
手順
- 左側のパネルで Operators → OperatorHub ページに移動します。
-
Filter by keyword フィールドに
Red Hat CodeReady Workspacesを入力します。 - Red Hat CodeReady Workspaces タイルをクリックします。
- Red Hat CodeReady Workspaces のポップアップウィンドウで、 ボタンをクリックします。
- Install Operator ページで、 ボタンをクリックします。
検証手順
- Red Hat CodeReady Workspaces Operator が正しくインストールされたことを確認するには、左側のパネルで Operators → Installed Operators ページに移動します。
- Installed Operators ページで、Red Hat CodeReady Workspaces 名をクリックし、Details タブに移動します。
ClusterServiceVersion details セクションで、以下のメッセージが表示されるまで待機します。
-
Status:
Succeeded -
Status reason:
install strategy completed with no errors
-
Status:
-
Events タブに移動し、
install strategy completed with no errorsというメッセージが表示されるまで待機します。
3.1.2. Red Hat CodeReady Workspaces Operator のインスタンスの作成 リンクのコピーリンクがクリップボードにコピーされました!
以下の手順に従って、デフォルト設定で Red Hat CodeReady Workspaces をインストールします。設定を変更する場合は、2章CodeReady Workspaces インストールの設定 を参照してください。
手順
- 左側のパネルで、Operators をクリックし、Installed Operators をクリックします。
- Installed Operators ページで、Red Hat CodeReady Workspaces 名をクリックします。
Operator details ページで、Details タブの Provided APIs セクションの Create instance リンクをクリックします。
これにより、 Create CheCluster ページに移動します。このページには、
CheClusterカスタムリソースに保存される CodeReady Workspaces インスタンスの作成に必要な設定が含まれます。- デフォルト値を使用し、ページの最後にある ボタンを使用して codeready-workspaces クラスターを作成します。
- Operator details ページの、Red Hat CodeReady Workspaces Cluster タブで、codeready-workspaces リンクをクリックします。
Red Hat CodeReady Workspaces URL の出力に表示されるリンクを使用して codeready-workspaces インスタンスに移動します。
注記インストールには 5 分以上かかる場合があります。Red Hat CodeReady Workspaces のインストールが完了すると、URL が表示されます。
検証
- CodeReady Workspaces インスタンスが正しくインストールされたことを確認するには、Operator details ページの CodeReady Workspaces Cluster タブに移動します。CheClusters ページには、CodeReady Workspaces インスタンスの一覧およびそれらのステータスが表示されます。
-
codeready-workspaces
CheClusterをクリックし、Details タブに移動します。 以下のフィールドの内容を参照してください。
-
Message フィールドにはエラーメッセージが含まれます。予想される内容は
Noneです。 - Red Hat CodeReady Workspaces URL フィールドには、Red Hat CodeReady Workspaces インスタンスの URL が含まれます。デプロイメントが正常に終了すると、URL が表示されます。
-
Message フィールドにはエラーメッセージが含まれます。予想される内容は
- Resources タブに移動します。CodeReady Workspaces デプロイメントに割り当てられたリソースとそれらのステータスの一覧が表示されます。
関連情報
- https://access.redhat.com/documentation/ja-jp/red_hat_codeready_workspaces/2.15/html-single/end-user_guide/index#navigating-che-using-the-dashboard.adoc
- https://access.redhat.com/documentation/ja-jp/red_hat_codeready_workspaces/2.15/html-single/administration_guide/index#viewing-operator-events.adoc
3.2. CLI を使用した CodeReady Workspaces の OpenShift 4 へのインストール リンクのコピーリンクがクリップボードにコピーされました!
本セクションでは、crwctl CLI 管理ツールを使用して、OpenShift 4 に CodeReady Workspaces をインストールする方法を説明します。
前提条件
- OpenShift クラスターと管理者アカウント。
-
ocを利用できます。Getting started with the OpenShift CLI を参照してください。ocバージョンは OpenShift クラスターのバージョンと一致する必要があります。 - OpenShift にログインしている。Logging in to the CLI を参照してください。
-
crwctlが利用できる。「crwctl CLI 管理ツールのインストール」 を参照してください。
手順
server:deployコマンドを実行して CodeReady Workspaces インスタンスを作成します。crwctl server:deploy -n openshift-workspaces
$ crwctl server:deploy -n openshift-workspacesCopy to Clipboard Copied! Toggle word wrap Toggle overflow
検証手順
server:deployコマンドの出力は以下で終わります。Command server:deploy has completed successfully.
Command server:deploy has completed successfully.Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
CodeReady Workspaces クラスターインスタンス:
\https://codeready-<openshift_deployment_name>.<domain_name>に移動します。
3.3. CodeReady Workspaces の OpenShift Container Platform 3.11 へのインストール リンクのコピーリンクがクリップボードにコピーされました!
3.3.1. crwctl CLI 管理ツールのインストール リンクのコピーリンクがクリップボードにコピーされました!
本セクションでは、CodeReady Workspaces CLI 管理ツールを使用して crwctl をインストールする方法を説明します。
手順
- https://developers.redhat.com/products/codeready-workspaces/download に移動します。
- バージョン 2.15 の CodeReady Workspaces CLI 管理ツールアーカイブをダウンロードします。
-
$HOME/crwctlまたは/opt/crwctlなどのフォルダーにアーカイブを展開します。 -
展開したフォルダーから
crwctlの実行可能ファイルを実行します。この例では$HOME/crwctl/bin/crwctl versionです。 -
オプションで、
binフォルダーを$PATH(例:PATH=$PATH:$HOME/crwctl/bin) に追加し、完全パスの指定なしでcrwctlの実行を有効にします。
検証手順
crwctl version を実行すると、ツールの現在のバージョンが表示されます。
3.3.2. Operator を使用した CodeReady Workspaces の OpenShift 3 へのインストール リンクのコピーリンクがクリップボードにコピーされました!
本セクションでは、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 の実行中のインスタンスでの管理者権限
-
ocOpenShift 3.11 CLI 管理ツールのインストール。Installing the OpenShift 3.11 CLI を参照してください。 -
crwctl管理ツールのインストール。「crwctl CLI 管理ツールのインストール」 を参照してください。 -
主な crwctl コマンドラインパラメーターが設定できない設定を適用するには、Operator で使用される
CheClusterカスタムリソースのデフォルト値を上書きする設定ファイルoperator-cr-patch.yamlを準備します。2章CodeReady Workspaces インストールの設定 を参照してください。 - openshift-workspaces namespace をデフォルトのインストールプロジェクトとして使用します。
-
イメージを
registry.redhat.comからプルするように OpenShift を設定します。Red Hat コンテナーレジストリーの認証 を参照してください。
手順
OpenShift にログインします。Basic Setup and Login を参照してください。
oc login
$ oc loginCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のコマンドを実行して、
ocOpenShift CLI 管理ツールのバージョンが 3.11 であることを確認します。oc version oc v3.11.0+0cbc58b
$ oc version oc v3.11.0+0cbc58bCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のコマンドを実行して、openshift-workspaces というデフォルトプロジェクトに CodeReady Workspaces インスタンスを作成します。
crwctl server:deploy -p openshift
$ crwctl server:deploy -p openshiftCopy to Clipboard Copied! Toggle word wrap Toggle overflow
検証手順
上記のコマンドの出力は以下で終わります。
Command server:deploy has completed successfully.
Command server:deploy has completed successfully.Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
CodeReady Workspaces クラスターインスタンス:
\https://codeready-<openshift_deployment_name>.<domain_name>に移動します。
3.4. 制限された環境での CodeReady Workspaces のインストール リンクのコピーリンクがクリップボードにコピーされました!
デフォルトでは、Red Hat CodeReady Workspaces は、パブリックレジストリーで利用可能なコンテナーイメージを主として、各種の外部リソースを使用します。
これらの外部リソースが利用できない環境に CodeReady Workspaces をデプロイするには (例: 公開インターネットに公開されていないクラスターなど)、以下を実行します。
- OpenShift クラスターによって使用されるイメージレジストリーを特定し、これにプッシュできることを確認します。
- CodeReady Workspaces の実行に必要なすべてのイメージをこのレジストリーにプッシュします。
- レジストリーにプッシュされたイメージを使用するように CodeReady Workspaces を設定します。
- CodeReady Workspaces インストールに進みます。
制限された環境で CodeReady Workspaces をインストールする手順は、使用するインストール方法によって異なります。
制限された環境でのネットワーク接続に関する注
ネットワークが制限された環境は、クラウドプロバイダーのプライベートサブネットから、公開インターネットから切断された会社が所有する別個のネットワークに制限されます。ネットワーク設定に関係なく、CodeReady Workspaces は、CodeReady Workspaces コンポーネント (codeready-workspaces-server、アイデンティティープロバイダー、devfile、およびプラグインレジストリー) 用に作成されたルートが OpenShift クラスター内からアクセスできる場合 に機能します。
環境のネットワークトポロジーを考慮して、これを実行する最も良い方法を判断します。たとえば、会社または組織が所有するネットワークでは、ネットワーク管理者は、クラスターからのトラフィックがルートホスト名にルーティングできるようにする必要があります。たとえば、AWS で、トラフィックがノードを出て、外部に表示されるロードバランサーに到達できるようにプロキシー設定を作成します。
ネットワークが制限された環境にプロキシーが必要な場合は、「プロキシーの後ろでインストールするための CodeReady Workspaces カスタムリソースの準備」 に記載の手順に従います。
3.4.1. OperatorHub を使用した制限された環境での CodeReady Workspaces のインストール リンクのコピーリンクがクリップボードにコピーされました!
前提条件
- 実行中の OpenShift クラスター。OpenShift クラスターをネットワークが制限された環境にインストールする方法については、OpenShift Container Platform 4.3 ドキュメント を参照してください。
- ネットワークが制限された環境でインストールされた OpenShift の非接続クラスターに対して使用されるミラーレジストリーへのアクセス。ネットワークが制限された環境でのインストール用のミラーレジストリーの作成についての関連する OpenShift Container Platform 4.3 ドキュメント を参照してください。
ネットワークが制限された環境で実行される非接続 OpenShift 4 クラスターでは、Operator が ネットワークが制限された環境についての Operator の有効化 について定義された追加要件を満たす場合にのみ、Operator を OperatorHub からインストールできます。
CodeReady Workspaces Operator はこれらの要件を満たしているので、ネットワークが制限された環境での OLM に関する公式ドキュメント に記載の内容と互換性があります。
手順
OperatorHub から CodeReady Workspaces をインストールするには、以下を実行します。
-
redhat-operatorsカタログイメージをビルドします。Building an Operator catalog image を参照してください。 - OperatorHub を、Operator のインストールにこのカタログイメージを使用するように設定します。Configuring OperatorHub for restricted networks を参照してください。
- 「OperatorHub を使用した OpenShift 4 への CodeReady Workspaces のインストール」 の説明に従って、通常通りに CodeReady Workspaces のインストールに進みます。
3.4.2. CLI 管理ツールを使用した制限された環境での CodeReady Workspaces のインストール リンクのコピーリンクがクリップボードにコピーされました!
OperatorHub を使用したインストールが利用できない場合、CodeReady Workspaces CLI 管理ツールを使用して制限されたネットワークに CodeReady Workspaces をインストールします。この方法は OpenShift Container Platform 3.11 でサポートされます。
前提条件
- 実行中の OpenShift クラスター。OpenShift クラスターのインストール方法に関する詳細は、OpenShift Container Platform 3.11 のドキュメント を参照してください。
3.4.2.1. プライベートレジストリーの準備 リンクのコピーリンクがクリップボードにコピーされました!
前提条件
-
ocツールが利用できる。 -
skopeoツール (バージョン 0.1.40 以降) が利用できる。 -
podmanツールが利用できる。 - OpenShift クラスターからアクセスできるイメージ、および V2 イメージマニフェスト (スキーマバージョン 2) フォーマットのサポート。インターネットへのアクセスが一時的に可能な場所から、これにプッシュできることを確認します。
|
| レジストリー、組織、およびダイジェストなどのソースイメージの詳細な組み合わせ (coordinate)。 |
|
| ターゲットコンテナーイメージレジストリーのホスト名およびポート。 |
|
| ターゲットのコンテナーイメージレジストリー内の組織 |
|
| ターゲットのコンテナーイメージレジストリーのイメージ名とダイジェスト。 |
|
| ターゲットのコンテナーイメージレジストリーのユーザー名。 |
|
| ターゲットのコンテナーイメージレジストリーのユーザーパスワード。 |
手順
内部イメージレジストリーにログインします。
podman login --username <user> --password <password> <target-registry>
$ podman login --username <user> --password <password> <target-registry>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記内部レジストリーへのプッシュを試行する際に
x509: certificate signed by unknown authorityなどのエラーが発生した場合には、以下のいずれかの回避策を試してください。-
OpenShift クラスターの証明書を
/etc/containers/certs.d/<target-registry>に追加します。 -
/etc/containers/registries.confにある Podman 設定ファイルに以下の行を追加して、レジストリーを非セキュアなレジストリーとして追加する。
[registries.insecure] registries = ['<target-registry>']
[registries.insecure] registries = ['<target-registry>']Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
OpenShift クラスターの証明書を
ダイジェストを変更せずにイメージをコピーします。以下の表のすべてのイメージに対して、この手順を繰り返します。
skopeo copy --all docker://<source-image> docker://<target-registry>/<target-organization>/<target-image>
$ skopeo copy --all docker://<source-image> docker://<target-registry>/<target-organization>/<target-image>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記Expand 表3.2 名前に含まれる接頭辞またはキーワードからの container-images の使用について 使用 接頭辞またはキーワード Essential
stacks-やplugin-ではありませんWorkspaces
stacks-,plugin-Expand 表3.3 プライベートレジストリーでコピーするイメージ <source-image> <target-image> registry.redhat.io/codeready-workspaces/backup-rhel8@sha256:6b636d6bba6c509756803c4186960ed69adfa2eae42dde5af48b67c6e0794915backup-rhel8@sha256:6b636d6bba6c509756803c4186960ed69adfa2eae42dde5af48b67c6e0794915registry.redhat.io/codeready-workspaces/configbump-rhel8@sha256:15574551ec79aa8cd9e0eea3d379fc7a77a4e16cc92f937b4a89c6f9a6f2ce40configbump-rhel8@sha256:15574551ec79aa8cd9e0eea3d379fc7a77a4e16cc92f937b4a89c6f9a6f2ce40registry.redhat.io/codeready-workspaces/crw-2-rhel8-operator@sha256:1c8b06e457ba008f86e5fefc82013acdb4639317cde809e926931d202a194a17crw-2-rhel8-operator@sha256:1c8b06e457ba008f86e5fefc82013acdb4639317cde809e926931d202a194a17registry.redhat.io/codeready-workspaces/dashboard-rhel8@sha256:e46636f0c66221d9a01506b114e18f3d3afe61da99bf224e71cf4051235e51acdashboard-rhel8@sha256:e46636f0c66221d9a01506b114e18f3d3afe61da99bf224e71cf4051235e51acregistry.redhat.io/codeready-workspaces/devfileregistry-rhel8@sha256:fdcd72766757f08486a6e4dbf3a24bf084aefdb2e86971c440048aec0315d7e8devfileregistry-rhel8@sha256:fdcd72766757f08486a6e4dbf3a24bf084aefdb2e86971c440048aec0315d7e8registry.redhat.io/codeready-workspaces/idea-rhel8@sha256:eff6db1da4c9743ff77b91acf08378bce6a652826b3b252512e63f767de07785idea-rhel8@sha256:eff6db1da4c9743ff77b91acf08378bce6a652826b3b252512e63f767de07785registry.redhat.io/codeready-workspaces/jwtproxy-rhel8@sha256:6176e28c4c02f0a40f8192088ccb505ce5722258bcaab0addff9bafa310c1ca4jwtproxy-rhel8@sha256:6176e28c4c02f0a40f8192088ccb505ce5722258bcaab0addff9bafa310c1ca4registry.redhat.io/codeready-workspaces/machineexec-rhel8@sha256:dc0e082c9522158cb12345b1d184c3803d8a4a63a7189940e853e51557e43acfmachineexec-rhel8@sha256:dc0e082c9522158cb12345b1d184c3803d8a4a63a7189940e853e51557e43acfregistry.redhat.io/codeready-workspaces/plugin-java11-rhel8@sha256:315273182e1f4dc884365fc3330ada3937b40369f3faf7762847ec433c3ac537plugin-java11-rhel8@sha256:315273182e1f4dc884365fc3330ada3937b40369f3faf7762847ec433c3ac537registry.redhat.io/codeready-workspaces/plugin-java8-rhel8@sha256:8cb1e495825051b83cf903bb317e55823a6f57b3bad92e9407dc8fa59c24c0ccplugin-java8-rhel8@sha256:8cb1e495825051b83cf903bb317e55823a6f57b3bad92e9407dc8fa59c24c0ccregistry.redhat.io/codeready-workspaces/plugin-kubernetes-rhel8@sha256:75fe8823dea867489b68169b764dc8b0b03290a456e9bfec5fe0cc413eec7355plugin-kubernetes-rhel8@sha256:75fe8823dea867489b68169b764dc8b0b03290a456e9bfec5fe0cc413eec7355registry.redhat.io/codeready-workspaces/plugin-openshift-rhel8@sha256:d7603582f7ace76283641809b0c61dbcb78621735e536b789428e5a910d35af3plugin-openshift-rhel8@sha256:d7603582f7ace76283641809b0c61dbcb78621735e536b789428e5a910d35af3registry.redhat.io/codeready-workspaces/pluginbroker-artifacts-rhel8@sha256:6d13003539fcbda201065eae2e66dc67fed007ba3ba41fb3b8ec841650c52bc2pluginbroker-artifacts-rhel8@sha256:6d13003539fcbda201065eae2e66dc67fed007ba3ba41fb3b8ec841650c52bc2registry.redhat.io/codeready-workspaces/pluginbroker-metadata-rhel8@sha256:de8ede01ce5d3b06ae8b1866bb482bb937f020f7dee5dfb20b041f02c1e63f68pluginbroker-metadata-rhel8@sha256:de8ede01ce5d3b06ae8b1866bb482bb937f020f7dee5dfb20b041f02c1e63f68registry.redhat.io/codeready-workspaces/pluginregistry-rhel8@sha256:cbb82d5bcea22d6d65644c2a4c88ce1e3a082e8a696217d6a104b67daa60384epluginregistry-rhel8@sha256:cbb82d5bcea22d6d65644c2a4c88ce1e3a082e8a696217d6a104b67daa60384eregistry.redhat.io/codeready-workspaces/server-rhel8@sha256:e1694549ca2af22a1d1780cc7d92bb0829a411f74377f825eab3e0fba7c020d9server-rhel8@sha256:e1694549ca2af22a1d1780cc7d92bb0829a411f74377f825eab3e0fba7c020d9registry.redhat.io/codeready-workspaces/stacks-cpp-rhel8@sha256:c2f38140f52112b2a7688c2a179afcaa930ad6216925eb322cfd9634a71cfc13stacks-cpp-rhel8@sha256:c2f38140f52112b2a7688c2a179afcaa930ad6216925eb322cfd9634a71cfc13registry.redhat.io/codeready-workspaces/stacks-dotnet-rhel8@sha256:f48fe1caa5be1ae91140681bee159ca8b11dc687fa50fbf9dc5644f4852bf5c8stacks-dotnet-rhel8@sha256:f48fe1caa5be1ae91140681bee159ca8b11dc687fa50fbf9dc5644f4852bf5c8registry.redhat.io/codeready-workspaces/stacks-golang-rhel8@sha256:db76d04752973223e2c0de9401ebf06b84263e1bb6d29f1455daaff0cb39c1b3stacks-golang-rhel8@sha256:db76d04752973223e2c0de9401ebf06b84263e1bb6d29f1455daaff0cb39c1b3registry.redhat.io/codeready-workspaces/stacks-php-rhel8@sha256:d120c41ee8dd80fb960dd4c1657bede536d32f13f3c3ca84e986a830ec2ead3bstacks-php-rhel8@sha256:d120c41ee8dd80fb960dd4c1657bede536d32f13f3c3ca84e986a830ec2ead3bregistry.redhat.io/codeready-workspaces/theia-endpoint-rhel8@sha256:5d26cf000924716d8d03969121a4c636e7fc8ef08aa21148eafa28a2c4aeaff7theia-endpoint-rhel8@sha256:5d26cf000924716d8d03969121a4c636e7fc8ef08aa21148eafa28a2c4aeaff7registry.redhat.io/codeready-workspaces/theia-rhel8@sha256:6000d00ef1029583642c01fec588f92addb95f16d56d0c23991a8f19314b0f06theia-rhel8@sha256:6000d00ef1029583642c01fec588f92addb95f16d56d0c23991a8f19314b0f06registry.redhat.io/codeready-workspaces/traefik-rhel8@sha256:70215465e2ad65a61d1b5401378532a3a10aa60afdda0702fb6061d89b8ba3betraefik-rhel8@sha256:70215465e2ad65a61d1b5401378532a3a10aa60afdda0702fb6061d89b8ba3beregistry.redhat.io/devworkspace/devworkspace-rhel8-operator@sha256:3f96fb70c3f56dea3384ea31b9252a5c6aca8e0f33dc53be590f134912244078devworkspacedevworkspace-rhel8-operator@sha256:3f96fb70c3f56dea3384ea31b9252a5c6aca8e0f33dc53be590f134912244078registry.redhat.io/jboss-eap-7/eap-xp3-openjdk11-openshift-rhel8@sha256:bb3072afdbf31ddd1071fea37ed5308db3bf8a2478b5aa5aff8373e8042d6aebeap-xp3-openjdk11-openshift-rhel8@sha256:bb3072afdbf31ddd1071fea37ed5308db3bf8a2478b5aa5aff8373e8042d6aebregistry.redhat.io/jboss-eap-7/eap74-openjdk8-openshift-rhel7@sha256:b4a113c4d4972d142a3c350e2006a2b297dc883f8ddb29a88db19c892358632deap74-openjdk8-openshift-rhel7@sha256:b4a113c4d4972d142a3c350e2006a2b297dc883f8ddb29a88db19c892358632dregistry.redhat.io/openshift4/ose-kube-rbac-proxy@sha256:1dc542b5ab33368443f698305a90c617385b4e9b101acc4acc0aa7b4bf58a292openshift4ose-kube-rbac-proxy@sha256:1dc542b5ab33368443f698305a90c617385b4e9b101acc4acc0aa7b4bf58a292registry.redhat.io/openshift4/ose-oauth-proxy@sha256:83988048d5f585ca936442963e23b77520e1e4d8c3d5b8160e43ae834a24b720openshift4ose-oauth-proxy@sha256:83988048d5f585ca936442963e23b77520e1e4d8c3d5b8160e43ae834a24b720registry.redhat.io/rh-sso-7/sso75-openshift-rhel8@sha256:dd4ea229521fb58dda7e547ea6db993156f4c61aa8a00f2fd1375bb77168b6e6sso75-openshift-rhel8@sha256:dd4ea229521fb58dda7e547ea6db993156f4c61aa8a00f2fd1375bb77168b6e6registry.redhat.io/rhel8/postgresql-13@sha256:6032adb3eac903ee8aa61f296ca9aaa57f5709e5673504b609222e042823f195postgresql-13@sha256:6032adb3eac903ee8aa61f296ca9aaa57f5709e5673504b609222e042823f195registry.redhat.io/rhel8/postgresql-96@sha256:314747a4a64ac16c33ead6a34479dccf16b9a07abf440ea7eeef7cda4cd19e32postgresql-96@sha256:314747a4a64ac16c33ead6a34479dccf16b9a07abf440ea7eeef7cda4cd19e32registry.redhat.io/rhscl/mongodb-36-rhel7@sha256:9f799d356d7d2e442bde9d401b720600fd9059a3d8eefea6f3b2ffa721c0dc73mongodb-36-rhel7@sha256:9f799d356d7d2e442bde9d401b720600fd9059a3d8eefea6f3b2ffa721c0dc73registry.redhat.io/ubi8/ubi-minimal@sha256:2e4bbb2be6e7aff711ddc93f0b07e49c93d41e4c2ffc8ea75f804ad6fe25564eubi8ubi-minimal@sha256:2e4bbb2be6e7aff711ddc93f0b07e49c93d41e4c2ffc8ea75f804ad6fe25564e
検証手順
イメージに同じダイジェストがあることを確認します。
skopeo inspect docker://<source-image> skopeo inspect docker://<target-registry>/<target-organization>/<target-image>
$ skopeo inspect docker://<source-image> $ skopeo inspect docker://<target-registry>/<target-organization>/<target-image>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
関連情報
-
イメージ一覧のソースを見つけるには、CodeReady Workspaces Operator ClusterServiceVersion ソース の
relatedImages属性の値を参照してください。
3.4.2.2. 制限された環境用の CodeReady Workspaces カスタムリソースの準備 リンクのコピーリンクがクリップボードにコピーされました!
crwctl または OperatorHub を使用して制限された環境で CodeReady Workspaces をインストールする場合は、CheCluster カスタムリソースに追加の情報を提供します。
3.4.2.2.1. デフォルトの CheCluster カスタムリソースのダウンロード リンクのコピーリンクがクリップボードにコピーされました!
手順
- デフォルトのカスタムリソース YAML ファイル をダウンロードします。
-
ダウンロードしたカスタムリソース
org_v1_che_cr.yamlに名前を付けます。追加の変更および使用に備えてこれを保持します。
3.4.2.2.2. 制限された環境での CheCluster カスタムリソース のカスタマイズ リンクのコピーリンクがクリップボードにコピーされました!
前提条件
- CodeReady Workspaces がデプロイされる OpenShift クラスターに表示されるイメージレジストリーの利用可能な必要なすべてのイメージ。これについては、「プライベートレジストリーの準備」で説明されています。ここでは、以下の例で使用されているプレースホルダーも定義されています。
手順
CodeReady Workspaces Operator によって管理される
CheClusterカスタムリソースで、制限された環境で CodeReady Workspaces のインスタンスのデプロイを容易にするために使用されるフィールドを追加します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.4.2.3. CodeReady Workspaces CLI 管理ツールを使用した制限された環境での CodeReady Workspaces インストールの開始 リンクのコピーリンクがクリップボードにコピーされました!
本セクションでは、CodeReady Workspaces CLI 管理ツールを使用して、制限された環境で CodeReady Workspaces インストールを開始する方法を説明します。
前提条件
- CodeReady Workspaces CLI 管理ツールがインストールされている。「crwctl CLI 管理ツールのインストール」 を参照してください。
-
ocツールがインストールされている。 - OpenShift インスタンスへのアクセス。
手順
OpenShift Container Platform にログインします。
oc login ${OPENSHIFT_API_URL} --username ${OPENSHIFT_USERNAME} \ --password ${OPENSHIFT_PASSWORD}$ oc login ${OPENSHIFT_API_URL} --username ${OPENSHIFT_USERNAME} \ --password ${OPENSHIFT_PASSWORD}Copy to Clipboard Copied! Toggle word wrap Toggle overflow カスタマイズされたカスタムリソースで CodeReady Workspaces をインストールし、制限された環境に関連するフィールドを追加します。
crwctl server:start \ --che-operator-image=<target-registry>/<target-organization>/crw-2-rhel8-operator:2.15 \ --che-operator-cr-yaml=org_v1_che_cr.yaml
$ crwctl server:start \ --che-operator-image=<target-registry>/<target-organization>/crw-2-rhel8-operator:2.15 \ --che-operator-cr-yaml=org_v1_che_cr.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
低速なシステムまたはインターネット接続の場合は、--k8spodwaittimeout=1800000 フラグオプションを crwctl server:start コマンドに追加し、Pod のタイムアウト期間を 1800000 ms 以上に拡張します。
3.4.3. プロキシーの後ろでインストールするための CodeReady Workspaces カスタムリソースの準備 リンクのコピーリンクがクリップボードにコピーされました!
この手順では、CodeReady Workspaces をプロキシーの後ろでインストールする際に、CheCluster カスタムリソースに必要な追加情報を提供する方法を説明します。
手順
CodeReady Workspaces Operator によって管理される
CheClusterカスタムリソースで、制限された環境で CodeReady Workspaces のインスタンスのデプロイを容易にするために使用されるフィールドを追加します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow これらの基本設定のほかに、プロキシー設定では通常、プロキシーを使用せずに CodeReady Workspaces からアクセスされるホストの一覧に外部 OpenShift クラスター API URL のホストを追加する必要があります。
このクラスター API ホストを取得するには、OpenShift クラスターに対して以下のコマンドを実行します。
oc whoami --show-server | sed 's#https://##' | sed 's#:.*$##'
$ oc whoami --show-server | sed 's#https://##' | sed 's#:.*$##'Copy to Clipboard Copied! Toggle word wrap Toggle overflow CheClusterカスタムリソースの対応するフィールドはnonProxyHostsです。ホストがこのフィールドにすでに存在する場合は、|を区切り文字として使用し、クラスター API ホストを追加します。# [...] spec: server: nonProxyHosts: 'anotherExistingHost|<cluster api host>' # [...]# [...] spec: server: nonProxyHosts: 'anotherExistingHost|<cluster api host>' # [...]Copy to Clipboard Copied! Toggle word wrap Toggle overflow
第4章 CodeReady Workspaces の設定 リンクのコピーリンクがクリップボードにコピーされました!
次の章では、Red Hat CodeReady Workspaces の設定方法とオプションについて説明します。
- 「CodeReady Workspaces サーバーコンポーネントの詳細な設定オプション」 では、前述の方法を適用できない場合に使用する高度な設定方法を説明します。
特定のユースケース:
- 「ワークスペースターゲットプロジェクトの設定」
- 「ユーザーが作成できるワークスペースの数の設定」
- 「ユーザーが実行できるワークスペース数の設定」
- 「ワークスペース nodeSelector の設定」
- 「Red Hat CodeReady Workspaces サーバーのホスト名の設定」
- 「OpenShift ルートの設定」
- 「ルーターのシャード化と連携するように OpenShift ルートを設定」
- 「自己署名証明書を使用した Git リポジトリーをサポートする CodeReady Workspaces のデプロイ」
- 「ストレージクラスを使用した CodeReady Workspaces のインストール」
- 「ストレージタイプの設定」
- 「信頼できない TLS 証明書の CodeReady Workspaces へのインポート」
- 「CodeReady Workspaces コンポーネント間の通信の設定」
- 「Red Hat CodeReady Workspaces ログインページの RH-SSO codeready-workspaces-username-readonly テーマの設定」
- 「シークレットまたは ConfigMap をファイルまたは環境変数として CodeReady Workspaces コンテナーにマウントする」
- 「Dev Workspace オペレーターの有効化」
4.1. CodeReady Workspaces サーバーコンポーネントの詳細な設定オプション リンクのコピーリンクがクリップボードにコピーされました!
以下のセクションでは、CodeReady Workspaces サーバーコンポーネントの詳細なデプロイメントおよび設定方法を説明します。
4.1.1. Operator を使用した CodeReady Workspaces サーバーの詳細設定について リンクのコピーリンクがクリップボードにコピーされました!
以下のセクションでは、Operator を使用したデプロイメントの CodeReady Workspaces サーバーコンポーネントの詳細な設定方法について説明します。
詳細設定は以下を実行するために必要です。
-
標準の
CheClusterカスタムリソースフィールドから Operator によって自動的に生成されない環境変数を追加します。 -
標準の
CheClusterカスタムリソースフィールドから Operator によって自動的に生成されるプロパティーを上書きします。
CheCluster カスタムリソースの server 設定の一部である customCheProperties フィールドには、CodeReady Workspaces サーバーコンポーネントに適用する追加の環境変数のマップが含まれます。
例4.1 ワークスペースのデフォルトのメモリー制限の上書き
CHE_WORKSPACE_DEFAULT__MEMORY__LIMIT__MB プロパティーを customCheProperties に追加します。
以前のバージョンの CodeReady Workspaces Operator には、このロールを実行するために custom という名前の configMap が含まれていました。CodeReady Workspaces Operator が custom という名前の configMap を見つけると、これに含まれるデータを customCheProperties フィールドに追加し、CodeReady Workspaces を再デプロイし、custom configMap を削除します。
関連情報
-
CheClusterカスタムリソースで使用可能なすべてのパラメーターのリストについては、2章CodeReady Workspaces インストールの設定 を参照してください。 -
customChePropertiesの設定に使用できるすべてのパラメーターの一覧については、「CodeReady Workspaces サーバーコンポーネントのシステムプロパティー参照」 を参照してください。
4.1.2. CodeReady Workspaces サーバーコンポーネントのシステムプロパティー参照 リンクのコピーリンクがクリップボードにコピーされました!
以下のドキュメントでは、CodeReady Workspaces サーバーコンポーネントのすべての使用可能な設定プロパティーについて説明します。
4.1.2.1. CodeReady Workspaces サーバー リンクのコピーリンクがクリップボードにコピーされました!
4.1.2.1.1. CHE_API リンクのコピーリンクがクリップボードにコピーされました!
API サービス。ブラウザーは、この URL を使用して CodeReady Workspaces サーバーへの REST 通信を開始します。
- デフォルト
-
http://${CHE_HOST}:${CHE_PORT}/api
4.1.2.1.2. CHE_API_INTERNAL リンクのコピーリンクがクリップボードにコピーされました!
API サービスの内部ネットワーク URL。バックエンドサービスは、この URL を使用した CodeReady Workspaces サーバーへの REST 通信を開始する必要があります。
- デフォルト
-
NULL
4.1.2.1.3. CHE_WEBSOCKET_ENDPOINT リンクのコピーリンクがクリップボードにコピーされました!
CodeReady Workspaces websocket の主なエンドポイント。主な websocket の対話とメッセージング用の基本的な通信エンドポイントを提供します。
- デフォルト
-
ws://${CHE_HOST}:${CHE_PORT}/api/websocket
4.1.2.1.4. CHE_WEBSOCKET_INTERNAL_ENDPOINT リンクのコピーリンクがクリップボードにコピーされました!
CodeReady Workspaces WebSocket の主要な内部エンドポイント。主な websocket の対話とメッセージング用の基本的な通信エンドポイントを提供します。
- デフォルト
-
NULL
4.1.2.1.5. CHE_WORKSPACE_PROJECTS_STORAGE リンクのコピーリンクがクリップボードにコピーされました!
プロジェクトは、CodeReady Workspaces サーバーから各ワークスペースを実行するマシンに同期されます。これは、プロジェクトが配置されているマシンのディレクトリーです。
- デフォルト
-
/projects
4.1.2.1.6. CHE_WORKSPACE_PROJECTS_STORAGE_DEFAULT_SIZE リンクのコピーリンクがクリップボードにコピーされました!
devfile 要求の OpenShift タイプのコンポーネントがプロジェクト PVC 作成を要求する場合に使用されます (unique および 'per workspace PVC ストラテジーの場合に適用されます。common PVC ストラテジーの場合は、これは che.infra.kubernetes.pvc.quantity プロパティーの値で書き換えられます)。
- デフォルト
-
1Gi
4.1.2.1.7. CHE_WORKSPACE_LOGS_ROOT__DIR リンクのコピーリンクがクリップボードにコピーされました!
すべてのワークスペースログが置かれるマシン内のディレクトリーを定義します。環境変数などの値として、この値をマシンに指定します。これは、エージェントの開発者がこのディレクトリーを使用してエージェントのログをバックアップできるようにするためのものです。
- デフォルト
-
/workspace_logs
4.1.2.1.8. CHE_WORKSPACE_HTTP__PROXY リンクのコピーリンクがクリップボードにコピーされました!
環境変数 HTTP_PROXY は、ワークスペースを起動するコンテナーで指定された値に設定します。
- デフォルト
- 空
4.1.2.1.9. CHE_WORKSPACE_HTTPS__PROXY リンクのコピーリンクがクリップボードにコピーされました!
環境変数 HTTPS_PROXY は、ワークスペースを起動するコンテナーで指定された値に設定します。
- デフォルト
- 空
4.1.2.1.10. CHE_WORKSPACE_NO__PROXY リンクのコピーリンクがクリップボードにコピーされました!
環境変数 NO_PROXY は、ワークスペースを起動するコンテナーで指定された値に設定します。
- デフォルト
- 空
4.1.2.1.11. CHE_WORKSPACE_AUTO__START リンクのコピーリンクがクリップボードにコピーされました!
デフォルトでは、ユーザーがこの URL を使用してワークスペースにアクセスすると、ワークスペースは自動的に起動します (現時点で停止している場合)。この動作を無効にするには、このパラメーターを false に設定します。
- デフォルト
-
true
4.1.2.1.12. CHE_WORKSPACE_POOL_TYPE リンクのコピーリンクがクリップボードにコピーされました!
ワークスペーススレッドプールの設定。このプールは、非同期の実行が必要なワークスペース関連の操作 (例: 起動/停止) に使用されます。設定可能な値は fixed および cached です。
- デフォルト
-
固定:
4.1.2.1.13. CHE_WORKSPACE_POOL_EXACT__SIZE リンクのコピーリンクがクリップボードにコピーされました!
プールタイプが fixed と異なる場合に、このプロパティーは無視されます。これはプールのサイズを設定します。設定されると、multiplier プロパティーは無視されます。このプロパティーが設定されていない場合 (0, <0, NULL)、プールサイズはコア数と等しくなります。che.workspace.pool.cores_multiplier も参照してください。
- デフォルト
-
30
4.1.2.1.14. CHE_WORKSPACE_POOL_CORES__MULTIPLIER リンクのコピーリンクがクリップボードにコピーされました!
プールタイプが fixed に設定されておらず、che.workspace.pool.exact_size が設定されている場合は、このプロパティーは無視されます。設定されている場合、プールサイズは N_CORES * multiplier になります。
- デフォルト
-
2
4.1.2.1.15. CHE_WORKSPACE_PROBE__POOL__SIZE リンクのコピーリンクがクリップボードにコピーされました!
このプロパティーは、ワークスペースサーバーの liveness プローブに使用するスレッドの数を指定します。
- デフォルト
-
10
4.1.2.1.16. CHE_WORKSPACE_HTTP__PROXY__JAVA__OPTIONS リンクのコピーリンクがクリップボードにコピーされました!
ワークスペース JVM の HTTP プロキシー設定。
- デフォルト
-
NULL
4.1.2.1.17. CHE_WORKSPACE_JAVA__OPTIONS リンクのコピーリンクがクリップボードにコピーされました!
ワークスペースで実行されている JVM に追加される Java コマンドラインオプション。
- デフォルト
-
-XX:MaxRAM=150m-XX:MaxRAMFraction=2 -XX:+UseParallelGC -XX:MinHeapFreeRatio=10 -XX:MaxHeapFreeRatio=20 -XX:GCTimeRatio=4 -XX:AdaptiveSizePolicyWeight=90 -Dsun.zip.disableMemoryMapping=true -Xms20m -Djava.security.egd=file:/dev/./urandom
4.1.2.1.18. CHE_WORKSPACE_MAVEN__OPTIONS リンクのコピーリンクがクリップボードにコピーされました!
ワークスペースでエージェントを実行する JVM に追加される Maven コマンドラインオプション。
- デフォルト
-
-XX:MaxRAM=150m-XX:MaxRAMFraction=2 -XX:+UseParallelGC -XX:MinHeapFreeRatio=10 -XX:MaxHeapFreeRatio=20 -XX:GCTimeRatio=4 -XX:AdaptiveSizePolicyWeight=90 -Dsun.zip.disableMemoryMapping=true -Xms20m -Djava.security.egd=file:/dev/./urandom
4.1.2.1.19. CHE_WORKSPACE_DEFAULT__MEMORY__LIMIT__MB リンクのコピーリンクがクリップボードにコピーされました!
環境に RAM 設定のない各マシンの RAM 制限のデフォルト。0 以下の値値は、制限を無効にするものとして解釈されます。
- デフォルト
-
1024
4.1.2.1.20. CHE_WORKSPACE_DEFAULT__MEMORY__REQUEST__MB リンクのコピーリンクがクリップボードにコピーされました!
環境内に明示的な RAM 設定のない各コンテナーの RAM 要求。この量はワークスペースコンテナーの作成時に割り当てられます。このプロパティーは、すべてのインフラストラクチャー実装でサポートされる訳ではありません。現時点で、これは OpenShift によってサポートされます。メモリー制限を超えるメモリー要求は無視され、制限サイズのみが使用されます。0 以下の値値は、制限を無効にするものとして解釈されます。
- デフォルト
-
200
4.1.2.1.21. CHE_WORKSPACE_DEFAULT__CPU__LIMIT__CORES リンクのコピーリンクがクリップボードにコピーされました!
環境に CPU 設定のない各コンテナーの CPU 制限。浮動小数点のコア数 (例: 0.125) で、または OpenShift 形式 (125m などの整数のミリコア数) を使用して指定します。0 以下の値値は、制限を無効にするものとして解釈されます。
- デフォルト
-
-1
4.1.2.1.22. CHE_WORKSPACE_DEFAULT__CPU__REQUEST__CORES リンクのコピーリンクがクリップボードにコピーされました!
環境内に CPU 設定のない各コンテナーの CPU 要求。CPU 制限を超える CPU 要求は無視され、制限の数値のみが使用されます。0 以下の値値は、制限を無効にするものとして解釈されます。
- デフォルト
-
-1
4.1.2.1.23. CHE_WORKSPACE_SIDECAR_DEFAULT__MEMORY__LIMIT__MB リンクのコピーリンクがクリップボードにコピーされました!
CodeReady Workspaces プラグイン設定に RAM 設定のない各サイドカーの RAM 制限。0 以下の値値は、制限を無効にするものとして解釈されます。
- デフォルト
-
128
4.1.2.1.24. CHE_WORKSPACE_SIDECAR_DEFAULT__MEMORY__REQUEST__MB リンクのコピーリンクがクリップボードにコピーされました!
CodeReady Workspaces プラグイン設定に RAM 設定のない各サイドカーの RAM 要求。
- デフォルト
-
64
4.1.2.1.25. CHE_WORKSPACE_SIDECAR_DEFAULT__CPU__LIMIT__CORES リンクのコピーリンクがクリップボードにコピーされました!
CodeReady Workspaces プラグイン設定に CPU 設定のない各サイドカーの CPU 制限のデフォルト。浮動小数点のコア数 (例: 0.125) で、または OpenShift 形式 (125m などの整数のミリコア数) を使用して指定します。0 以下の値値は、制限を無効にするものとして解釈されます。
- デフォルト
-
-1
4.1.2.1.26. CHE_WORKSPACE_SIDECAR_DEFAULT__CPU__REQUEST__CORES リンクのコピーリンクがクリップボードにコピーされました!
CodeReady Workspaces プラグイン設定に CPU 設定のない各サイドカーの CPU 要求のデフォルト。浮動小数点のコア数 (例: 0.125) で、または OpenShift 形式 (125m などの整数のミリコア数) を使用して指定します。
- デフォルト
-
-1
4.1.2.1.27. CHE_WORKSPACE_SIDECAR_IMAGE__PULL__POLICY リンクのコピーリンクがクリップボードにコピーされました!
サイドカーのイメージプルストラテジーを定義します。以下の値が使用できます (Always、Never、IfNotPresent)。その他の値については、Always は :latest タグが付いたイメージに、その他の場合は IfNotPresent が想定されます。
- デフォルト
-
Always
4.1.2.1.28. CHE_WORKSPACE_ACTIVITY__CHECK__SCHEDULER__PERIOD__S リンクのコピーリンクがクリップボードにコピーされました!
非アクティブなワークスペースの一時停止ジョブの実行期間。
- デフォルト
-
60
4.1.2.1.29. CHE_WORKSPACE_ACTIVITY__CLEANUP__SCHEDULER__PERIOD__S リンクのコピーリンクがクリップボードにコピーされました!
アクティビティーテーブルのクリーンアップ期間。アクティビティーテーブルには、サーバーが特定の時点で障害が発生するなどの予想されないエラーが生じる場合に、無効なデータまたは古いデータを含まれることがあります。デフォルトでは、クリーンアップジョブは 1 時間ごとに実行されます。
- デフォルト
-
3600
4.1.2.1.30. CHE_WORKSPACE_ACTIVITY__CLEANUP__SCHEDULER__INITIAL__DELAY__S リンクのコピーリンクがクリップボードにコピーされました!
サーバーの起動後から最初のアクティビティーのクリーンアップジョブを開始するまでの遅延。
- デフォルト
-
60
4.1.2.1.31. CHE_WORKSPACE_ACTIVITY__CHECK__SCHEDULER__DELAY__S リンクのコピーリンクがクリップボードにコピーされました!
CodeReady Workspaces サーバーが非アクティブのタイムアウトまでの期間利用できない場合の、大規模な一時停止を回避するために最初のワークスペースのアイドルチェックジョブが開始されるまでの遅延。
- デフォルト
-
180
4.1.2.1.32. CHE_WORKSPACE_CLEANUP__TEMPORARY__INITIAL__DELAY__MIN リンクのコピーリンクがクリップボードにコピーされました!
一時ワークスペースのクリーンアップジョブの最初の実行を遅延させる時間。
- デフォルト
-
5
4.1.2.1.33. CHE_WORKSPACE_CLEANUP__TEMPORARY__PERIOD__MIN リンクのコピーリンクがクリップボードにコピーされました!
実行を終了してから次の一時的なワークスペースのクリーンアップジョブの実行を開始するまでの間に遅延する時間
- デフォルト
-
180
4.1.2.1.34. CHE_WORKSPACE_SERVER_PING__SUCCESS__THRESHOLD リンクのコピーリンクがクリップボードにコピーされました!
サーバーへの正常に順次実行される ping の数。この数を超えると、サーバーは利用可能な状態にあるものとして処理されます。CodeReady Workspaces Operator: このプロパティーは、ワークスペース、エージェント、ターミナル、exec などの全サーバーに共通します。
- デフォルト
-
1
4.1.2.1.35. CHE_WORKSPACE_SERVER_PING__INTERVAL__MILLISECONDS リンクのコピーリンクがクリップボードにコピーされました!
ワークスペースサーバーへの連続する ping の間隔 (ミリ秒単位)。
- デフォルト
-
3000
4.1.2.1.36. CHE_WORKSPACE_SERVER_LIVENESS__PROBES リンクのコピーリンクがクリップボードにコピーされました!
liveness プローブを必要とするサーバー名の一覧
- デフォルト
-
wsagent/http,exec-agent/http,terminal,theia,jupyter,dirigible,cloud-shell,intellij
4.1.2.1.37. CHE_WORKSPACE_STARTUP__DEBUG__LOG__LIMIT__BYTES リンクのコピーリンクがクリップボードにコピーされました!
ワークスペースの起動をデバッグする際に che-server で観察される単一コンテナーから収集されるログの制限サイズ。デフォルト値は 10MB=10485760 です。
- デフォルト
-
10485760
4.1.2.1.38. CHE_WORKSPACE_STOP_ROLE_ENABLED リンクのコピーリンクがクリップボードにコピーされました!
true の場合、OpenShift OAuth が有効な場合に、編集権限を持つ stop-workspace ロールが che ServiceAccount に付与されます。この設定は、OpenShift OAuth が有効な場合にワークスペースのアイドリングに主に必要になります。
- デフォルト
-
true
4.1.2.1.39. CHE_DEVWORKSPACES_ENABLED リンクのコピーリンクがクリップボードにコピーされました!
DevWorkspaces を有効にして CodeReady Workspaces をデプロイするかどうかを指定します。このプロパティーは、DevWorkspace のサポートもインストールされている場合に CodeReady Workspaces Operator によって設定されます。このプロパティーを使用して、このファクトを CodeReady Workspaces ダッシュボードにアドバタイズします。このプロパティーの値を手動で変更することは推奨されません。
- デフォルト
-
false
4.1.2.2. 認証パラメーター リンクのコピーリンクがクリップボードにコピーされました!
4.1.2.2.1. CHE_AUTH_USER__SELF__CREATION リンクのコピーリンクがクリップボードにコピーされました!
CodeReady Workspaces には単一のアイデンティティー実装があるため、これによるユーザーエクスペリエンスへの変更はありません。true の場合、API レベルでのユーザー作成を有効にします。
- デフォルト
-
false
4.1.2.2.2. CHE_AUTH_ACCESS__DENIED__ERROR__PAGE リンクのコピーリンクがクリップボードにコピーされました!
認証エラーページアドレス
- デフォルト
-
/error-oauth
4.1.2.2.3. CHE_AUTH_RESERVED__USER__NAMES リンクのコピーリンクがクリップボードにコピーされました!
予約済みのユーザー名
- デフォルト
- 空
4.1.2.2.4. CHE_OAUTH2_GITHUB_CLIENTID__FILEPATH リンクのコピーリンクがクリップボードにコピーされました!
GitHub OAuth2 クライアントの設定。パーソナルアクセストークンの取得に使用されます。GitHub クライアント ID を持つファイルの場所。
- デフォルト
-
NULL
4.1.2.2.5. CHE_OAUTH2_GITHUB_CLIENTSECRET__FILEPATH リンクのコピーリンクがクリップボードにコピーされました!
GitHub クライアントシークレットを含むファイルの場所。
- デフォルト
-
NULL
4.1.2.2.6. CHE_OAUTH_GITHUB_AUTHURI リンクのコピーリンクがクリップボードにコピーされました!
GitHub OAuth 認証 URI。
- デフォルト
-
https://github.com/login/oauth/authorize
4.1.2.2.7. CHE_OAUTH_GITHUB_TOKENURI リンクのコピーリンクがクリップボードにコピーされました!
GitHub OAuth トークン URI。
- デフォルト
-
https://github.com/login/oauth/access_token
4.1.2.2.8. CHE_OAUTH_GITHUB_REDIRECTURIS リンクのコピーリンクがクリップボードにコピーされました!
GitHub OAuth リダイレクト URI。複数の値はコンマで区切ります。例: URI,URI,URI
- デフォルト
-
http://localhost:${CHE_PORT}/api/oauth/callback
4.1.2.2.9. CHE_OAUTH_OPENSHIFT_CLIENTID リンクのコピーリンクがクリップボードにコピーされました!
OpenShift OAuth クライアントの設定。OpenShift OAuth トークンの取得に使用されます。OpenShift OAuth クライアント ID。
- デフォルト
-
NULL
4.1.2.2.10. CHE_OAUTH_OPENSHIFT_CLIENTSECRET リンクのコピーリンクがクリップボードにコピーされました!
OpenShift OAuth クライアントの設定。OpenShift OAuth トークンの取得に使用されます。OpenShift OAuth クライアント ID。OpenShift OAuth クライアントシークレット。
- デフォルト
-
NULL
4.1.2.2.11. CHE_OAUTH_OPENSHIFT_OAUTH__ENDPOINT リンクのコピーリンクがクリップボードにコピーされました!
Configurationof OpenShift OAuth クライアント。OpenShift OAuth トークンの取得に使用されます。OpenShift OAuth クライアント ID。OpenShift OAuth クライアントシークレット。OpenShift OAuth エンドポイント。
- デフォルト
-
NULL
4.1.2.2.12. CHE_OAUTH_OPENSHIFT_VERIFY__TOKEN__URL リンクのコピーリンクがクリップボードにコピーされました!
ConfigurationofOpenShiftOAuth クライアント。OpenShift OAuth トークンの取得に使用されます。OpenShift OAuth クライアント ID。OpenShift OAuth クライアントシークレット。OpenShift OAuth エンドポイント。OpenShift OAuth 検証トークン URL。
- デフォルト
-
NULL
4.1.2.2.13. CHE_OAUTH1_BITBUCKET_CONSUMERKEYPATH リンクのコピーリンクがクリップボードにコピーされました!
Bitbucket Server OAuth1 クライアントの設定。パーソナルアクセストークンの取得に使用されます。Bitbucket Server アプリケーションのコンシューマーキーが含まれるファイルの場所 (ユーザー名と同等)。
- デフォルト
-
NULL
4.1.2.2.14. CHE_OAUTH1_BITBUCKET_PRIVATEKEYPATH リンクのコピーリンクがクリップボードにコピーされました!
Bitbucket Server OAuth1 クライアントの設定パーソナルアクセストークンの取得に使用されます。Bitbucket Server アプリケーションのコンシューマーキーが含まれるファイルの場所 (ユーザー名と同等)。Bitbucket Server アプリケーションの秘密鍵が含まれるファイルの場所
- デフォルト
-
NULL
4.1.2.2.15. CHE_OAUTH1_BITBUCKET_ENDPOINT リンクのコピーリンクがクリップボードにコピーされました!
Bitbucket Server OAuth1 クライアントの設定パーソナルアクセストークンの取得に使用されます。Bitbucket Server アプリケーションのコンシューマーキーが含まれるファイルの場所 (ユーザー名と同等)。Bitbucket Server アプリケーションの秘密鍵の Bitbucket Server URL が含まれるファイルの場所ファクトリーと正しく連携するには、同じ URL を che.integration.bitbucket.server_endpoints に含める必要があります。
- デフォルト
-
NULL
4.1.2.3. 内部 リンクのコピーリンクがクリップボードにコピーされました!
4.1.2.3.1. SCHEDULE_CORE__POOL__SIZE リンクのコピーリンクがクリップボードにコピーされました!
CodeReady Workspaces 拡張には、時間ベースでスケジュールされる実行をスケジュールできます。これにより、繰り返されるスケジュールで起動する拡張に割り当てられるスレッドプールのサイズが設定されます。
- デフォルト
-
10
4.1.2.3.2. DB_SCHEMA_FLYWAY_BASELINE_ENABLED リンクのコピーリンクがクリップボードにコピーされました!
DB の初期化および移行設定。true の場合には、baseline.version で設定 Si たバージョンのスクリプトを無視します。
- デフォルト
-
true
4.1.2.3.3. DB_SCHEMA_FLYWAY_BASELINE_VERSION リンクのコピーリンクがクリップボードにコピーされました!
これまでのバージョンを含むスクリプトは無視されます。ベースラインバージョンと同じバージョンのスクリプトも無視されることに注意してください。
- デフォルト
-
5.0.0.8.1
4.1.2.3.4. DB_SCHEMA_FLYWAY_SCRIPTS_PREFIX リンクのコピーリンクがクリップボードにコピーされました!
移行スクリプトの接頭辞
- デフォルト
- 空
4.1.2.3.5. DB_SCHEMA_FLYWAY_SCRIPTS_SUFFIX リンクのコピーリンクがクリップボードにコピーされました!
移行スクリプトの接尾辞。
- デフォルト
-
.sql
4.1.2.3.6. DB_SCHEMA_FLYWAY_SCRIPTS_VERSION__SEPARATOR リンクのコピーリンクがクリップボードにコピーされました!
スクリプト名を他の部分からバージョンを区切るための区切り文字。
- デフォルト
-
__
4.1.2.3.7. DB_SCHEMA_FLYWAY_SCRIPTS_LOCATIONS リンクのコピーリンクがクリップボードにコピーされました!
移行スクリプトを検索する場所。
- デフォルト
-
classpath:che-schema
4.1.2.4. OpenShift インフラパラメーター リンクのコピーリンクがクリップボードにコピーされました!
4.1.2.4.1. CHE_INFRA_KUBERNETES_MASTER__URL リンクのコピーリンクがクリップボードにコピーされました!
インフラが使用する OpenShift クライアントのマスター URL の設定。
- デフォルト
- 空
4.1.2.4.2. CHE_INFRA_KUBERNETES_TRUST__CERTS リンクのコピーリンクがクリップボードにコピーされました!
信頼済み証明書を使用するように OpenShift クライアントを設定するブール値。
- デフォルト
-
false
4.1.2.4.3. CHE_INFRA_KUBERNETES_CLUSTER__DOMAIN リンクのコピーリンクがクリップボードにコピーされました!
OpenShift クラスタードメイン。設定されていない場合は、svc 名にはクラスタードメインに関する情報が含まれません。
- デフォルト
-
NULL
4.1.2.4.4. CHE_INFRA_KUBERNETES_SERVER__STRATEGY リンクのコピーリンクがクリップボードにコピーされました!
サーバーが Kubernetes インフラでグローバルに公開される方法を定義します。CodeReady Workspaces に実装されたストラテジーの一覧: default-host, multi-host, single-host
- デフォルト
-
multi-host
4.1.2.4.5. CHE_INFRA_KUBERNETES_SINGLEHOST_WORKSPACE_EXPOSURE リンクのコピーリンクがクリップボードにコピーされました!
ワークスペースのプラグインとエディターを単一ホストモードで公開する方法を定義します。サポートされているエクスポージャー: native: OpenShift Route を使用してサーバーを公開します。Kubernetes でのみ機能します。gateway:リバースプロキシーゲートウェイを使用してサーバーを公開します。
- デフォルト
-
native
4.1.2.4.6. CHE_INFRA_KUBERNETES_SINGLEHOST_WORKSPACE_DEVFILE__ENDPOINT__EXPOSURE リンクのコピーリンクがクリップボードにコピーされました!
single-host サーバーストラテジーで devfile エンドポイント、エンドユーザーのアプリケーションを公開する方法を定義します。これらは single-host ストラテジーに従い、サブパスで公開されるか、またはサブドメイン上で公開できます。multi-host はサブドメインで公開され、single-host はサブパスで公開されます。
- デフォルト
-
multi-host
4.1.2.4.7. CHE_INFRA_KUBERNETES_SINGLEHOST_GATEWAY_CONFIGMAP__LABELS リンクのコピーリンクがクリップボードにコピーされました!
single-host ゲートウェイを設定する ConfigMap に設定されるラベルを定義します。
- デフォルト
-
app=che,component=che-gateway-config
4.1.2.4.8. CHE_INFRA_KUBERNETES_INGRESS_DOMAIN リンクのコピーリンクがクリップボードにコピーされました!
che.infra.kubernetes.server_strategy プロパティーが multi-host に設定されている場合に、ワークスペースでサーバーのドメインを生成するために使用されます。
- デフォルト
- 空
4.1.2.4.9. CHE_INFRA_KUBERNETES_NAMESPACE_CREATION__ALLOWED リンクのコピーリンクがクリップボードにコピーされました!
CodeReady Workspaces サーバーがユーザーワークスペースのプロジェクトを作成できるかどうか、またはそれらはクラスター管理者によって手動で作成されるかどうかを示します。このプロパティーは OpenShift infra によっても使用されます。
- デフォルト
-
true
4.1.2.4.10. CHE_INFRA_KUBERNETES_NAMESPACE_DEFAULT リンクのコピーリンクがクリップボードにコピーされました!
ユーザーが上書きしない場合に、ユーザーのワークスペースが作成されるデフォルトの OpenShift プロジェクトを定義します。<username> および <userid> プレースホルダー (例: che-workspace-<username>) を使用できます。この場合、ユーザーごとに新規 namespace が作成されます。OpenShift インフラでプロジェクトの指定にも使用されます。<username> または <userid> プレースホルダーは必須です。
- デフォルト
-
<username>-che
4.1.2.4.11. CHE_INFRA_KUBERNETES_NAMESPACE_LABEL リンクのコピーリンクがクリップボードにコピーされました!
che-server がワークスペース namespace にラベルを付けるかどうかを定義します。
- デフォルト
-
true
4.1.2.4.12. CHE_INFRA_KUBERNETES_NAMESPACE_ANNOTATE リンクのコピーリンクがクリップボードにコピーされました!
che-server がワークスペース namespace にアノテーションを付けるかどうかを定義します。
- デフォルト
-
true
4.1.2.4.13. CHE_INFRA_KUBERNETES_NAMESPACE_LABELS リンクのコピーリンクがクリップボードにコピーされました!
CodeReady Workspaces に使用されるプロジェクトの検索に使用するラベルの一覧。これらは che.infra.kubernetes.namespace.annotations と組み合わせてユーザー用に準備されたプロジェクトを検索し、ワークスペースでプロジェクトをアクティブにラベル付けするのに使用されます。
- デフォルト
-
app.kubernetes.io/part-of=che.eclipse.org,app.kubernetes.io/component=workspaces-namespace
4.1.2.4.14. CHE_INFRA_KUBERNETES_NAMESPACE_ANNOTATIONS リンクのコピーリンクがクリップボードにコピーされました!
CodeReady Workspaces ユーザーワークスペース用に用意されたプロジェクトの検索に使用するアノテーションの一覧。これらのアノテーションと照合されるのは、che.infra.kubernetes.namespace.labels と一致するプロジェクトのみです。このプロジェクトは、che.infra.kubernetes.namespace.labels と che.infra.kubernetes.namespace.annotations 両方に一致するプロジェクトは、優先的にユーザーのワークスペースに使用されます。<username> プレースホルダーを使用して、具体的なユーザーにプロジェクトを指定できます。これらは che.infra.kubernetes.namespace.labels と組み合わせてユーザー用に準備されたプロジェクトを検索し、ワークスペースでプロジェクトにアクティブにアノテーションを付けるのに使用されます。
- デフォルト
-
che.eclipse.org/username=<username>
4.1.2.4.15. CHE_INFRA_KUBERNETES_SERVICE__ACCOUNT__NAME リンクのコピーリンクがクリップボードにコピーされました!
すべてのワークスペース Pod にバインドされるように指定する必要のある Kubernetes サービスアカウント名を定義します。OpenShift インフラストラクチャーがサービスアカウントを作成しない CodeReady Workspaces Operator は存在すべきです。OpenShift インフラストラクチャーは、プロジェクトが事前に定義されているかどうかをチェックします (che.infra.openshift.project が空でない場合)。これが事前に定義されている場合はサービスアカウントが存在するはずです。これが 'NULL' または空の文字列の場合、インフラストラクチャーはワークスペースごとに新しい OpenShift プロジェクトを作成し、必要なロールを持つワークスペーのスサービスアカウントをここに準備します。
- デフォルト
-
NULL
4.1.2.4.16. CHE_INFRA_KUBERNETES_WORKSPACE__SA__CLUSTER__ROLES リンクのコピーリンクがクリップボードにコピーされました!
ワークスペースサービスアカウントで使用するオプションの追加のクラスターロールを指定します。クラスターのロール名がすでに存在している必要があり、CodeReady Workspaces サービスアカウントはロールバインディングを作成して、これらのクラスターロールをワークスペースのサービスアカウントに関連付ける必要があります。名前はコンマで区切られます。このプロパティーは che.infra.kubernetes.cluster_role_name を非推奨にします。
- デフォルト
-
NULL
4.1.2.4.17. CHE_INFRA_KUBERNETES_USER__CLUSTER__ROLES リンクのコピーリンクがクリップボードにコピーされました!
名前空間でユーザーに割り当てるクラスターのロール
- デフォルト
-
NULL
4.1.2.4.18. CHE_INFRA_KUBERNETES_WORKSPACE__START__TIMEOUT__MIN リンクのコピーリンクがクリップボードにコピーされました!
Kubernetes ワークスペースの開始時間を制限する待機時間を定義します。
- デフォルト
-
8
4.1.2.4.19. CHE_INFRA_KUBERNETES_INGRESS__START__TIMEOUT__MIN リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Route が準備状態になる期間を制限するタイムアウトを分単位で定義します。
- デフォルト
-
5
4.1.2.4.20. CHE_INFRA_KUBERNETES_WORKSPACE__UNRECOVERABLE__EVENTS リンクのコピーリンクがクリップボードにコピーされました!
ワークスペースの起動中に、プロパティーで定義されたリカバリー不可能なイベントが発生する場合は、タイムアウトまで待機するのではなく、ワークスペースをすぐ終了します。CodeReady Workspaces Operator: リカバリー不能なイベントが発生する可能性があるため Failed の理由だけを追加できません。失敗したコンテナーの起動は、CodeReady Workspaces サーバーで明示的に処理されます。
- デフォルト
-
FailedMount,FailedScheduling,MountVolume.SetUpfailed,Failed to pull image,FailedCreate,ReplicaSetCreateError
4.1.2.4.21. CHE_INFRA_KUBERNETES_PVC_ENABLED リンクのコピーリンクがクリップボードにコピーされました!
CodeReady Workspaces ワークスペースに Persistent Volume Claim(永続ボリューム要求、PVC) を使用するかどうかを定義します (例: プロジェクトやログのバックアップや、無効化)。
- デフォルト
-
true
4.1.2.4.22. CHE_INFRA_KUBERNETES_PVC_STRATEGY リンクのコピーリンクがクリップボードにコピーされました!
ワークスペース用に PVC を選択する際に使用するストラテジーを定義します。サポートされている戦略: common: 同じプロジェクト内のすべてのワークスペースは同じ PVC を再利用します。PVC の名前は che.infra.kubernetes.pvc.name で設定できます。既存の PVC が使用されるか、または新規 PVC が存在しない場合にはこれが作成されます。unique:各ワークスペースのボリュームに別個の PVC が使用されます。PVC の名前は {che.infra.kubernetes.pvc.name} + '-' + {generated_8_chars} として評価されます。既存の PVC が使用されるか、存在しない場合は新しい PVC が作成されます。per-workspace:ワークスペースごとに個別の PVC が使用されます。PVC の名前は {che.infra.kubernetes.pvc.name} + '-' + {WORKSPACE_ID} として評価されます。既存の PVC が使用されるか、または新規 PVC が存在しない場合にはこれが作成されます。
- デフォルト
-
common
4.1.2.4.23. CHE_INFRA_KUBERNETES_PVC_PRECREATE__SUBPATHS リンクのコピーリンクがクリップボードにコピーされました!
ワークスペースを起動する前に、common ストラテジーの永続ボリュームでワークスペースのサブパスディレクトリーを作成するジョブを実行するかどうかを定義します。ワークスペースのサブパスのボリュームマウントは root 権限で作成され、ユーザーとして実行するワークスペースで変更できないため (CodeReady Workspace のワークスペースへのプロジェクトのインポートエラーが表示される)、一部の OpenShift のバージョンで必要です。デフォルトは true ですが、OpenShift のバージョンがユーザーパーミッションでサブディレクトリーを作成する場合は false に設定する必要があります。subPath in volumeMount is not writable for non-root users #41638 the CodeReady Workspaces Operator that this property that this property that only effect for the common PVC strategy used を参照してください。
- デフォルト
-
true
4.1.2.4.24. CHE_INFRA_KUBERNETES_PVC_NAME リンクのコピーリンクがクリップボードにコピーされました!
CodeReady Workspaces ワークスペースの PVC 名の設定を定義します。それぞれの PVC ストラテジーは、この値を異なる方法で指定します。che.infra.kubernetes.pvc.strategy プロパティーに関するドキュメントを参照してください。
- デフォルト
-
claim-che-workspace
4.1.2.4.25. CHE_INFRA_KUBERNETES_PVC_STORAGE__CLASS__NAME リンクのコピーリンクがクリップボードにコピーされました!
ワークスペースの Persistent Volume Claim(永続ボリューム要求、PVC) のストレージクラスを定義します。空の文字列は use default を意味します。
- デフォルト
- 空
4.1.2.4.26. CHE_INFRA_KUBERNETES_PVC_QUANTITY リンクのコピーリンクがクリップボードにコピーされました!
CodeReady Workspaces ワークスペースの Persistent Volume Claim(永続ボリューム要求、PVC) のサイズを定義します。参照:永続ストレージについて
- デフォルト
-
10Gi
4.1.2.4.27. CHE_INFRA_KUBERNETES_PVC_JOBS_IMAGE リンクのコピーリンクがクリップボードにコピーされました!
OpenShift で永続ボリューム要求 (PVC) のメンテナーンスジョブを実行する際に起動する Pod
- デフォルト
-
registry.access.redhat.com/ubi8-minimal:8.3-230
4.1.2.4.28. CHE_INFRA_KUBERNETES_PVC_JOBS_IMAGE_PULL__POLICY リンクのコピーリンクがクリップボードにコピーされました!
OpenShift クラスターのメンテナーンスジョブに使用されるコンテナーのイメージプルポリシー
- デフォルト
-
IfNotPresent
4.1.2.4.29. CHE_INFRA_KUBERNETES_PVC_JOBS_MEMORYLIMIT リンクのコピーリンクがクリップボードにコピーされました!
永続ボリューム要求のメンテナーンスジョブの Pod メモリー制限を定義します。
- デフォルト
-
250 Mi
4.1.2.4.30. CHE_INFRA_KUBERNETES_PVC_ACCESS__MODE リンクのコピーリンクがクリップボードにコピーされました!
Persistent Volume Claim(永続ボリューム要求、PVC) のアクセスモードを定義します。アクセスモードを変更する一般的な PVC ストラテジー向けの CodeReady Workspaces Operator は、同時に実行されるワークスペースの数に影響します。CodeReady Workspace を実行している OpenShift インスタンスが RWX アクセスモードで永続ボリュームを使用している場合には、同時に実行するワークスペース数の上限は、CodeReady Workspace の制限設定でのみバインドされます。RAM、CPU などです。参照:永続ストレージについて
- デフォルト
-
ReadWriteOnce
4.1.2.4.31. CHE_INFRA_KUBERNETES_PVC_WAIT__BOUND リンクのコピーリンクがクリップボードにコピーされました!
CodeReady Workspaces Server がワークスペース Persistent Volume Claim(永続ボリューム要求、PVC) の作成後にバインドする必要があるかどうかを定義します。デフォルト値は true です。このパラメーターは、全 Persistent Volume Claim(永続ボリューム要求、PVC) ストラテジーにより使用されます。volumeBindingMode が WaitForFirstConsumer に設定されている場合は、false に設定する必要があります。それ以外の場合は、ワークスペースの起動が PVC の待機フェーズでハングします。
- デフォルト
-
true
4.1.2.4.32. CHE_INFRA_KUBERNETES_INGRESS_ANNOTATIONS__JSON リンクのコピーリンクがクリップボードにコピーされました!
サーバーを公開するために使用される Ingress のアノテーションを定義します。値は Ingress コントローラーの種類によって異なります。OpenShift インフラストラクチャーは Ingress ではなくルートを使用するため、このプロパティーは無視されます。単一ホストデプロイメントストラテジーが機能する CodeReady Workspaces Operator は、URL の書き換えをサポートするコントローラーを使用する必要があります (そのため、サーバーはアプリケーションルートの変更をサポートする必要がありません)。che.infra.kubernetes.ingress.path.rewrite_transform プロパティーは、Ingress のパスが URL の書き換えをサポートするよう変換する方法を定義します。このプロパティーは、選択した Ingress コントローラーに対して実際に URL の書き換えを実行するように指示する ingress 自体のアノテーションのセットを定義します (選択された Ingress コントローラーで必要な場合)。たとえば、Nginx 入力コントローラー 0.22.0 以降の場合は、次の値が推奨されます: {"ingress.kubernetes.io/rewrite-target": "/$1","ingress.kubernetes.io/ssl-redirect": "false",\ "ingress.kubernetes.io/proxy-connect-timeout":"3600","ingress.kubernetes.io/proxy-read-timeout": "3600", "nginx.org/websocket-services": "<service-name>"} および che.infra.kubernetes.ingress.path.rewrite_transform は、"%s(.*)" に設定します。0.22.0 よりも古い nginx Ingress コントローラーの場合には、rewrite-target は / に設定するだけで、パスは %s に変換されます ( che.infra.kubernetes.ingress.path.rewrite_transform プロパティーを参照)。Ingress コントローラーが Ingress パスにある正規表現を使用する方法と、URL の書き換えを実行する方法についての説明は、nginx Ingress コントローラーのドキュメントを参照してください。
- デフォルト
-
NULL
4.1.2.4.33. CHE_INFRA_KUBERNETES_INGRESS_PATH__TRANSFORM リンクのコピーリンクがクリップボードにコピーされました!
サーバーを公開する Ingress のパスを宣言する方法についての recipe(レシピ) を定義します。%s はサーバーのベース公開 URL を表し、スラッシュで終了することが保証されています。このプロパティーは String.format() メソッドへの有効な入力であり、%s への参照が 1 つだけ含まれる必要があります。Ingress のアノテーションとパスを指定する際にこれら 2 つのプロパティーの相互作用を確認するには、che.infra.kubernetes.ingress.annotations_json プロパティーの説明を参照してください。これが定義されていない場合、このプロパティーはデフォルトで %s (引用符なし) に設定されます。これは、パスが Ingress コントローラーで使用する場合に変換されないことを意味します。
- デフォルト
-
NULL
4.1.2.4.34. CHE_INFRA_KUBERNETES_INGRESS_LABELS リンクのコピーリンクがクリップボードにコピーされました!
明確化できるように、CodeReady Workspaces サーバーによって作成されるすべての Ingress に追加する追加のラベル。
- デフォルト
-
NULL
4.1.2.4.35. CHE_INFRA_KUBERNETES_POD_SECURITY__CONTEXT_RUN__AS__USER リンクのコピーリンクがクリップボードにコピーされました!
OpenShift インフラによって作成される Pod のセキュリティーコンテキストを定義します。これは OpenShift インフラによって無視されます。
- デフォルト
-
NULL
4.1.2.4.36. CHE_INFRA_KUBERNETES_POD_SECURITY__CONTEXT_FS__GROUP リンクのコピーリンクがクリップボードにコピーされました!
OpenShift インフラによって作成される Pod のセキュリティーコンテキストを定義します。Pod の全コンテナーに適用される特別な補助グループです。OpenShift インフラは、このグループを無視します。
- デフォルト
-
NULL
4.1.2.4.37. CHE_INFRA_KUBERNETES_POD_TERMINATION__GRACE__PERIOD__SEC リンクのコピーリンクがクリップボードにコピーされました!
OpenShift インフラストラクチャーによって作成される Pod の猶予期間を定義します。デフォルト値:0これにより、Pod をすぐに停止し、ワークスペースの停止に必要な時間を短縮できます。CodeReady Workspaces Operator: terminationGracePeriodSeconds が OpenShift レシピで明示的に設定されている場合は上書きされません。
- デフォルト
-
0
4.1.2.4.38. CHE_INFRA_KUBERNETES_CLIENT_HTTP_ASYNC__REQUESTS_MAX リンクのコピーリンクがクリップボードにコピーされました!
KubernetesClient インスタンスの基礎となる共有 HTTP クライアントでサポートされる並行非同期 Web 要求 (HTTP 要求または継続的な WebSocket 呼び出し) の最大数。デフォルト値:max=64 および max_per_host:5CodeReady Workspaces はコマンドや ws-agent ログなど、コネクションを開いたままにするため、デフォルトの値はマルチユーザーシナリオには適していません。
- デフォルト
-
1000
4.1.2.4.39. CHE_INFRA_KUBERNETES_CLIENT_HTTP_ASYNC__REQUESTS_MAX__PER__HOST リンクのコピーリンクがクリップボードにコピーされました!
ホストごとの並行非同期 Web 要求の最大数。
- デフォルト
-
1000
4.1.2.4.40. CHE_INFRA_KUBERNETES_CLIENT_HTTP_CONNECTION__POOL_MAX__IDLE リンクのコピーリンクがクリップボードにコピーされました!
Kubernetes クライアント共有 http クライアントの接続プールにおけるアイドル状態の接続の最大数
- デフォルト
-
5
4.1.2.4.41. CHE_INFRA_KUBERNETES_CLIENT_HTTP_CONNECTION__POOL_KEEP__ALIVE__MIN リンクのコピーリンクがクリップボードにコピーされました!
Kubernetes クライアント共有 http クライアントの接続プールのキープアライブのタイムアウト (分単位)
- デフォルト
-
5
4.1.2.4.42. CHE_INFRA_KUBERNETES_TLS__ENABLED リンクのコピーリンクがクリップボードにコピーされました!
Transport Layer Security(TLS) を有効にして Ingress を作成します。OpenShift インフラストラクチャーではルートは TLS に対応します。
- デフォルト
-
false
4.1.2.4.43. CHE_INFRA_KUBERNETES_TLS__SECRET リンクのコピーリンクがクリップボードにコピーされました!
TLS でワークスペース Ingress を作成する際に使用すべきシークレットの名前。OpenShift インフラストラクチャーでは、このプロパティーは無視されます。
- デフォルト
- 空
4.1.2.4.44. CHE_INFRA_KUBERNETES_TLS__KEY リンクのコピーリンクがクリップボードにコピーされました!
ワークスペースの入力に使用する必要がある TLS シークレットのデータ。cert および key は Base64 アルゴリズムでエンコードする必要があります。OpenShift インフラストラクチャーでは、これらのプロパティーは無視されます。
- デフォルト
-
NULL
4.1.2.4.45. CHE_INFRA_KUBERNETES_TLS__CERT リンクのコピーリンクがクリップボードにコピーされました!
ワークスペース Ingress に使用する必要のある TLS Secret の証明書データ。証明書は、Base64 アルゴリズムでエンコードする必要があります。OpenShift インフラストラクチャーでは、このプロパティーは無視されます。
- デフォルト
-
NULL
4.1.2.4.46. CHE_INFRA_KUBERNETES_RUNTIMES__CONSISTENCY__CHECK__PERIOD__MIN リンクのコピーリンクがクリップボードにコピーされました!
ランタイムの整合性チェックが実行される期間を定義します。ランタイムに一貫性のない状態がある場合、ランタイムは自動的に停止します。値は 0 をより大きな値、または -1 である必要があります。ここで、-1 はチェックが実行されないことを意味します。これはデフォルトで無効にされます。CodeReady Workspaces Server は操作がユーザーによって呼び出しされない場合に Kubernetes API と対話できくなる CodeReady Workspaces サーバーの設定があることが予想されるためです。これは、CodeReady Workspace Server の配置先と同じ namespace でワークスペースオブジェクトが作成される場合、cluster-admin サービスアカウントトークンが CodeReady Workspace Server Pod にマウントされる場合に機能します。これは、CodeReady Workspaces Server が OAuth プロバイダーからトークンを使用して Kubernetes API と通信する場合には機能しません。
- デフォルト
-
-1
4.1.2.4.47. CHE_INFRA_KUBERNETES_TRUSTED__CA_SRC__CONFIGMAP リンクのコピーリンクがクリップボードにコピーされました!
すべてのユーザーのワークスペースに伝播される追加の CA TLS 証明書を含む、CodeReady Workspaces サーバー namespace の設定マップの名前。プロパティーを OpenShift 4 インフラストラクチャーに設定し、che.infra.openshift.trusted_ca.dest_configmap_labels に config.openshift.io/inject-trusted-cabundle=true ラベルが含まれる場合に、クラスター CA バンドルも伝播されます。
- デフォルト
-
NULL
4.1.2.4.48. CHE_INFRA_KUBERNETES_TRUSTED__CA_DEST__CONFIGMAP リンクのコピーリンクがクリップボードにコピーされました!
追加の CA TLS 証明書を含むワークスペース namespace の設定マップの名前。ワークスペース namespace にある che.infra.kubernetes.trusted_ca.src_configmap のコピーを保持します。この設定マップの内容は、プラグインブローカーを含むすべてのワークスペースコンテナーにマウントされます。既存の設定マップと競合しない限り、設定マップ名は変更しないでください。CodeReady Workspaces Operator: 結果として作成される設定マップ名を最終的に調整してプロジェクトで一意にすることができます。元の名前は che.original_name ラベルに保存されます。
- デフォルト
-
ca-certs
4.1.2.4.49. CHE_INFRA_KUBERNETES_TRUSTED__CA_MOUNT__PATH リンクのコピーリンクがクリップボードにコピーされました!
CA バンドルがマウントされるワークスペースコンテナーでパスを設定します。che.infra.kubernetes.trusted_ca.dest_configmap で指定される設定マップの内容がマウントされます。
- デフォルト
-
/public-certs
4.1.2.4.50. CHE_INFRA_KUBERNETES_TRUSTED__CA_DEST__CONFIGMAP__LABELS リンクのコピーリンクがクリップボードにコピーされました!
ユーザーワークスペースの CA 証明書の設定マップに追加するラベルのコンマ区切りの一覧。che.infra.kubernetes.trusted_ca.dest_configmap プロパティーを参照してください。
- デフォルト
- 空
4.1.2.5. OpenShift インフラパラメーター リンクのコピーリンクがクリップボードにコピーされました!
4.1.2.5.1. CHE_INFRA_OPENSHIFT_TRUSTED__CA_DEST__CONFIGMAP__LABELS リンクのコピーリンクがクリップボードにコピーされました!
ユーザーワークスペースの CA 証明書の設定マップに追加するラベルのコンマ区切りの一覧。che.infra.kubernetes.trusted_ca.dest_configmap プロパティーを参照してください。このデフォルト値は、OpenShift 4 でのクラスター CA バンドルの自動挿入に使用されます。
- デフォルト
-
config.openshift.io/inject-trusted-cabundle=true
4.1.2.5.2. CHE_INFRA_OPENSHIFT_ROUTE_LABELS リンクのコピーリンクがクリップボードにコピーされました!
明確化できるように、CodeReady Workspaces サーバーによって作成されるすべての Route に追加する追加のラベル。
- デフォルト
-
NULL
4.1.2.5.3. CHE_INFRA_OPENSHIFT_ROUTE_HOST_DOMAIN__SUFFIX リンクのコピーリンクがクリップボードにコピーされました!
ワークスペースルートの接尾辞として使用する必要のあるホスト名。以下に例を示します。domain_suffix=<codeready-__<openshift_deployment_name>__.__<domain_name>__> を使用する場合には、ルートは routed3qrtk.<codeready-__<openshift_deployment_name>__.__<domain_name>__> のようになります。有効な DNS 名である必要があります。
- デフォルト
-
NULL
4.1.2.5.4. CHE_INFRA_OPENSHIFT_PROJECT_INIT__WITH__SERVER__SA リンクのコピーリンクがクリップボードにコピーされました!
OpenShift OAuth が有効な場合には、CodeReady Workspaces サーバーのサービスアカウントで OpenShift プロジェクトを初期化します。
- デフォルト
-
true
4.1.2.6. 実験的なプロパティー リンクのコピーリンクがクリップボードにコピーされました!
4.1.2.6.1. CHE_WORKSPACE_PLUGIN__BROKER_METADATA_IMAGE リンクのコピーリンクがクリップボードにコピーされました!
ワークスペースツール設定を解決し、プラグインの依存関係をワークスペースにコピーする CodeReady Workspaces プラグインブローカーアプリケーションの Docker イメージCodeReady Workspaces Operator はデフォルトでこれらのイメージを上書きします。CodeReady Workspaces が Operator を使用してインストールされている場合は、ここでイメージを変更しても、効果がありません。
- デフォルト
-
quay.io/eclipse/che-plugin-metadata-broker:v3.4.0
4.1.2.6.2. CHE_WORKSPACE_PLUGIN__BROKER_ARTIFACTS_IMAGE リンクのコピーリンクがクリップボードにコピーされました!
CodeReady Workspaces プラグインアーティファクトブローカーの Docker イメージ。このブローカーは、ワークスペース Pod で init コンテナーとして実行されます。このジョブは、プラグインの ID (レジストリー内のプラグインへの参照または、プラグインの meta.yaml へのリンク) の一覧を取り、ワークスペース向けに要求されたプラグインごとに、正しい .vsix and .theia 拡張子が /plugins ディレクトリーにダウンロードされていることを確認します。
- デフォルト
-
quay.io/eclipse/che-plugin-artifacts-broker:v3.4.0
4.1.2.6.3. CHE_WORKSPACE_PLUGIN__BROKER_DEFAULT__MERGE__PLUGINS リンクのコピーリンクがクリップボードにコピーされました!
プラグインをワークスペースにプロビジョニングする際にプラグインブローカーのデフォルト動作を設定します。true に設定すると、プラグインブローカーは可能な場合にプラグインのマージを試行します (つまり、それらは同じサイドカーイメージで実行され、設定が競合することはありません)。この値は、devfile で mergePlugins 属性が指定されていない場合に使用されるデフォルト設定です。
- デフォルト
-
false
4.1.2.6.4. CHE_WORKSPACE_PLUGIN__BROKER_PULL__POLICY リンクのコピーリンクがクリップボードにコピーされました!
ワークスペースツール設定を解決し、プラグインの依存関係をワークスペースにコピーする CodeReady Workspaces プラグインブローカーアプリケーションの Docker イメージ
- デフォルト
-
Always
4.1.2.6.5. CHE_WORKSPACE_PLUGIN__BROKER_WAIT__TIMEOUT__MIN リンクのコピーリンクがクリップボードにコピーされました!
プラグインブローカーの待機中に結果の最大期間を制限するタイムアウトを分単位で定義します。
- デフォルト
-
3
4.1.2.6.6. CHE_WORKSPACE_PLUGIN__REGISTRY__URL リンクのコピーリンクがクリップボードにコピーされました!
ワークスペースプラグインレジストリーのエンドポイント。有効な HTTP URL でなければなりません。例: http://che-plugin-registry-eclipse-che.192.168.65.2.nip.io CodeReady Workspaces プラグインレジストリーが不要な場合、値 'NULL' を使用する必要があります。
- デフォルト
-
https://che-plugin-registry.prod-preview.openshift.io/v3
4.1.2.6.7. CHE_WORKSPACE_PLUGIN__REGISTRY__INTERNAL__URL リンクのコピーリンクがクリップボードにコピーされました!
ワークスペースプラグインレジストリーの内部エンドポイント。有効な HTTP URL でなければなりません。例: http://devfile-registry.che.svc.cluster.local:8080 CodeReady Workspaces プラグインレジストリーが不要な場合、値 'NULL' を使用する必要があります。
- デフォルト
-
NULL
4.1.2.6.8. CHE_WORKSPACE_DEVFILE__REGISTRY__URL リンクのコピーリンクがクリップボードにコピーされました!
devfile レジストリーエンドポイント。有効な HTTP URL でなければなりません。例: http://che-devfile-registry-eclipse-che.192.168.65.2.nip.io CodeReady Workspaces プラグインレジストリーが不要な場合、値 'NULL' を使用する必要があります。
- デフォルト
-
https://che-devfile-registry.prod-preview.openshift.io/
4.1.2.6.9. CHE_WORKSPACE_DEVFILE__REGISTRY__INTERNAL__URL リンクのコピーリンクがクリップボードにコピーされました!
devfile レジストリー "internal" エンドポイント。有効な HTTP URL でなければなりません。例: http://plugin-registry.che.svc.cluster.local:8080 CodeReady Workspaces プラグインレジストリーが不要な場合、値 'NULL' を使用する必要があります。
- デフォルト
-
NULL
4.1.2.6.10. CHE_WORKSPACE_STORAGE_AVAILABLE__TYPES リンクのコピーリンクがクリップボードにコピーされました!
ダッシュボードなどのクライアントがワークスペースの作成/更新時にユーザーに提案するストレージタイプに使用できる値を定義する設定プロパティー。使用可能な値: - persistent: 永続ストレージは I/O を遅くしますが、永続的です。 - ephemeral:エフェメラルストレージはより高速な I/O を可能にしますが、ストレージが制限されている可能性があり、永続的ではありません。 - async:実験的機能: 非同期ストレージは、エフェメラルストレージと永続ストレージの組み合わせです。高速な I/O を可能にし、変更を維持し、停止時にバックアップを実行し、ワークスペースの開始時に復元します。che.infra.kubernetes.pvc.strategy='common' - che.limits.user.workspaces.run.count=1 - che.infra.kubernetes.namespace.default に <username> が含まれる場合にのみ機能します。それ他の場合は、一覧から async を削除します。
- デフォルト
-
persistent,ephemeral,async
4.1.2.6.11. CHE_WORKSPACE_STORAGE_PREFERRED__TYPE リンクのコピーリンクがクリップボードにコピーされました!
ダッシュボードなどのクライアントがワークスペースの作成/更新時にユーザーに提案するストレージタイプのデフォルト値を定義する設定プロパティー。async 値は実験的な機能であるため、デフォルトタイプとしての使用は推奨されません。
- デフォルト
-
永続
4.1.2.6.12. CHE_SERVER_SECURE__EXPOSER リンクのコピーリンクがクリップボードにコピーされました!
セキュアなサーバーが認証で保護される方法を設定します。適切な値: default: jwtproxy はパススルーモードで設定されます。そのため、サーバーは要求を認証する必要があります。jwtproxy: jwtproxy は要求を認証します。そのため、サーバーは認証済みの要求のみを受信します。
- デフォルト
-
jwtproxy
4.1.2.6.13. CHE_SERVER_SECURE__EXPOSER_JWTPROXY_TOKEN_ISSUER リンクのコピーリンクがクリップボードにコピーされました!
署名のない要求をルーティングするための Jwtproxy 発行側の文字列、トークンの有効期間およびオプションの認証ページのパス。
- デフォルト
-
wsmaster
4.1.2.6.14. CHE_SERVER_SECURE__EXPOSER_JWTPROXY_TOKEN_TTL リンクのコピーリンクがクリップボードにコピーされました!
jwtproxy 発行者トークンの有効期間。
- デフォルト
-
8800h
4.1.2.6.15. CHE_SERVER_SECURE__EXPOSER_JWTPROXY_AUTH_LOADER_PATH リンクのコピーリンクがクリップボードにコピーされました!
署名なしの要求をルーティングする認証ページのパス (任意)。
- デフォルト
-
/_app/loader.html
4.1.2.6.16. CHE_SERVER_SECURE__EXPOSER_JWTPROXY_IMAGE リンクのコピーリンクがクリップボードにコピーされました!
jwtproxy イメージ。
- デフォルト
-
quay.io/eclipse/che-jwtproxy:0.10.0
4.1.2.6.17. CHE_SERVER_SECURE__EXPOSER_JWTPROXY_MEMORY__REQUEST リンクのコピーリンクがクリップボードにコピーされました!
jwtproxy メモリー要求。
- デフォルト
-
15mb
4.1.2.6.18. CHE_SERVER_SECURE__EXPOSER_JWTPROXY_MEMORY__LIMIT リンクのコピーリンクがクリップボードにコピーされました!
jwtproxy メモリー制限。
- デフォルト
-
128mb
4.1.2.6.19. CHE_SERVER_SECURE__EXPOSER_JWTPROXY_CPU__REQUEST リンクのコピーリンクがクリップボードにコピーされました!
jwtproxy CPU 要求。
- デフォルト
-
0.03
4.1.2.6.20. CHE_SERVER_SECURE__EXPOSER_JWTPROXY_CPU__LIMIT リンクのコピーリンクがクリップボードにコピーされました!
jwtproxy CPU 制限。
- デフォルト
-
0.5
4.1.2.7. 主な WebSocket エンドポイントの設定 リンクのコピーリンクがクリップボードにコピーされました!
4.1.2.7.1. CHE_CORE_JSONRPC_PROCESSOR__MAX__POOL__SIZE リンクのコピーリンクがクリップボードにコピーされました!
JSON RPC 処理プールの最大サイズ。プールサイズが超過すると、メッセージの実行が拒否されます。
- デフォルト
-
50
4.1.2.7.2. CHE_CORE_JSONRPC_PROCESSOR__CORE__POOL__SIZE リンクのコピーリンクがクリップボードにコピーされました!
初期 JSON 処理プール。主な JSON RPC メッセージを処理するために使用されるスレッドの最小数。
- デフォルト
-
5
4.1.2.7.3. CHE_CORE_JSONRPC_PROCESSOR__QUEUE__CAPACITY リンクのコピーリンクがクリップボードにコピーされました!
Json RPC メッセージの処理に使用するキューの設定。
- デフォルト
-
100000
4.1.2.7.4. CHE_METRICS_PORT リンクのコピーリンクがクリップボードにコピーされました!
Prometheus メトリクスで公開される HTTP サーバーエンドポイントのポート
- デフォルト
-
8087
4.1.2.8. CORS 設定 リンクのコピーリンクがクリップボードにコピーされました!
4.1.2.8.1. CHE_CORS_ALLOWED__ORIGINS リンクのコピーリンクがクリップボードにコピーされました!
許可される要求元を指定します。WS Master の CORS フィルターはデフォルトで無効にされます。環境変数 "CHE_CORS_ENABLED=true" を使用してオンにします。
- デフォルト
-
*
4.1.2.8.2. CHE_CORS_ALLOW__CREDENTIALS リンクのコピーリンクがクリップボードにコピーされました!
認証情報 (cookie、ヘッダー、TLS クライアント証明書) を使用して要求の処理を許可するかどうかを示します。
- デフォルト
-
false
4.1.2.9. Factory のデフォルト リンクのコピーリンクがクリップボードにコピーされました!
4.1.2.9.1. CHE_FACTORY_DEFAULT__PLUGINS リンクのコピーリンクがクリップボードにコピーされました!
CodeReady Workspaces 固有のワークスペース記述子が含まれないリモート git リポジトリーから作成される Factory 用に作成されるエディターおよびプラグイン。複数のプラグインは、以下のようにコンマで区切る必要があります。例: pluginFooPublisher/pluginFooName/pluginFooVersion,pluginBarPublisher/pluginBarName/pluginBarVersion
- デフォルト
-
redhat/vscode-commons/latest
4.1.2.9.2. CHE_FACTORY_DEFAULT__DEVFILE__FILENAMES リンクのコピーリンクがクリップボードにコピーされました!
リポジトリーベースの Factory(GitHub など) を検索する devfile のファイル名。Factory は、プロパティーで列挙される順序でこれらのファイルの特定を試みます。
- デフォルト
-
devfile.yaml,.devfile.yaml
4.1.2.10. devfile のデフォルト リンクのコピーリンクがクリップボードにコピーされました!
4.1.2.10.1. CHE_FACTORY_DEFAULT__EDITOR リンクのコピーリンクがクリップボードにコピーされました!
CodeReady Workspaces 固有のワークスペース記述子が含まれないリモート Git リポジトリーから作成される Factory に使用されるエディター。
- デフォルト
-
eclipse/che-theia/latest
4.1.2.10.2. CHE_FACTORY_SCM__FILE__FETCHER__LIMIT__BYTES リンクのコピーリンクがクリップボードにコピーされました!
SCM リポジトリーからファイルを取得する URL フェッチャーのファイルサイズ制限。
- デフォルト
-
102400
4.1.2.10.3. CHE_FACTORY_DEVFILE2__FILES__RESOLUTION__LIST リンクのコピーリンクがクリップボードにコピーされました!
devfile v2 を補完する追加ファイルで、リポジトリーに含まれる場合があり、取得するには Factory の SCM リゾルバーサービスへのリンクとして参照する必要があります。
- デフォルト
-
.che/che-editor.yaml,.che/che-theia-plugins.yaml,.vscode/extensions.json
4.1.2.10.4. CHE_WORKSPACE_DEVFILE_DEFAULT__EDITOR リンクのコピーリンクがクリップボードにコピーされました!
指定されていない場合に Devfile にプロビジョニングする必要があるデフォルトのエディター。エディター形式は、editorPublisher/editorName/editorVersion 値になります。NULL または値がない場合は、デフォルトのエディターはプロビジョニングされません。
- デフォルト
-
eclipse/che-theia/latest
4.1.2.10.5. CHE_WORKSPACE_DEVFILE_DEFAULT__EDITOR_PLUGINS リンクのコピーリンクがクリップボードにコピーされました!
デフォルトのエディター用にプロビジョニングする必要があるデフォルトのプラグイン。ユーザー定義の devfile で明示的に参照されていないこの一覧のすべてのプラグインはプロビジョニングされますが、これはデフォルトのエディターが使用されているか、またはユーザー定義のエディターが (異なるバージョンの場合でも) デフォルトと同じである場合に限ります。形式は、コンマ区切りの pluginPublisher/pluginName/pluginVersion 値および URL です。例: eclipse/che-theia-exec-plugin/0.0.1,eclipse/che-theia-terminal-plugin/0.0.1,https://cdn.pluginregistry.com/vi-mode/meta.yaml プラグインが URL の場合、プラグインの meta.yaml はその URL から取得されます。
- デフォルト
-
NULL
4.1.2.10.6. CHE_WORKSPACE_PROVISION_SECRET_LABELS リンクのコピーリンクがクリップボードにコピーされました!
ユーザー namespace からシークレットを選択するためにラベルのコンマ区切りの一覧を定義します。これは、ファイルまたは環境変数としてワークスペースコンテナーにマウントされます。すべての指定されるラベルに一致するシークレットのみが選択されます。
- デフォルト
-
app.kubernetes.io/part-of=che.eclipse.org,app.kubernetes.io/component=workspace-secret
4.1.2.10.7. CHE_WORKSPACE_DEVFILE_ASYNC_STORAGE_PLUGIN リンクのコピーリンクがクリップボードにコピーされました!
非同期ストレージ機能がワークスペース設定で有効にされ、環境でサポートされる場合に、プラグインが追加されます。
- デフォルト
-
eclipse/che-async-pv-plugin/latest
4.1.2.10.8. CHE_INFRA_KUBERNETES_ASYNC_STORAGE_IMAGE リンクのコピーリンクがクリップボードにコピーされました!
CodeReady Workspaces 非同期ストレージの Docker イメージ
- デフォルト
-
quay.io/eclipse/che-workspace-data-sync-storage:0.0.1
4.1.2.10.9. CHE_WORKSPACE_POD_NODE__SELECTOR リンクのコピーリンクがクリップボードにコピーされました!
オプションでワークスペース Pod のノードセレクターを設定します。形式は、コンマ区切りの key=value ペアです (例: disktype=ssd,cpu=xlarge,foo=bar)。
- デフォルト
-
NULL
4.1.2.10.10. CHE_WORKSPACE_POD_TOLERATIONS__JSON リンクのコピーリンクがクリップボードにコピーされました!
オプションでワークスペース Pod の容認を設定します。形式は、テイントの容認の JSON 配列を表す文字列か、または NULL の場合はこれを無効にします。配列に含まれるオブジェクトは、toleration v1 コア仕様 に準拠する必要があります。例: [{"effect":"NoExecute","key":"aNodeTaint","operator":"Equal","value":"aValue"}]
- デフォルト
-
NULL
4.1.2.10.11. CHE_INFRA_KUBERNETES_ASYNC_STORAGE_SHUTDOWN__TIMEOUT__MIN リンクのコピーリンクがクリップボードにコピーされました!
最後に使用されたワークスペースの停止後の非同期ストレージ Pod のシャットダウンのタイムアウト。0 以下の値は、シャットダウン機能を無効にするものとして解釈されます。
- デフォルト
-
120
4.1.2.10.12. CHE_INFRA_KUBERNETES_ASYNC_STORAGE_SHUTDOWN__CHECK__PERIOD__MIN リンクのコピーリンクがクリップボードにコピーされました!
非同期ストレージ Pod が機能を停止する期間を定義します (デフォルトでは 30 分ごと)。
- デフォルト
-
30
4.1.2.10.13. CHE_INTEGRATION_BITBUCKET_SERVER__ENDPOINTS リンクのコピーリンクがクリップボードにコピーされました!
Factory の統合に使用される Bitbucket エンドポイント。bitbucket サーバー URL のコンマ区切りの一覧、または統合が予想されない場合は NULL。
- デフォルト
-
NULL
4.1.2.10.14. CHE_INTEGRATION_GITLAB_SERVER__ENDPOINTS リンクのコピーリンクがクリップボードにコピーされました!
Factory の統合に使用される GitLab エンドポイント。GitLab サーバー URL のコンマ区切りの一覧、または統合が予想されない場合は NULL。
- デフォルト
-
NULL
4.1.2.10.15. CHE_INTEGRATION_GITLAB_OAUTH__ENDPOINT リンクのコピーリンクがクリップボードにコピーされました!
OAuth 2 統合が設定された GitLab サーバーのアドレス
- デフォルト
-
NULL
4.1.2.10.16. CHE_OAUTH2_GITLAB_CLIENTID__FILEPATH リンクのコピーリンクがクリップボードにコピーされました!
GitLab OAuth2 クライアントの設定。パーソナルアクセストークンの取得に使用されます。GitLab クライアント ID を持つファイルの場所。
- デフォルト
-
NULL
4.1.2.10.17. CHE_OAUTH2_GITLAB_CLIENTSECRET__FILEPATH リンクのコピーリンクがクリップボードにコピーされました!
GitLab クライアントシークレットを含むファイルの場所。
- デフォルト
-
NULL#
4.1.2.11. Che システム リンクのコピーリンクがクリップボードにコピーされました!
4.1.2.11.1. CHE_SYSTEM_SUPER__PRIVILEGED__MODE リンクのコピーリンクがクリップボードにコピーされました!
System Super Privileged Mode (システムのスーパー特権モード)。getByKey、getByNameSpace、stopWorkspaces、および getResources の manageSystem パーミッションの追加パーミッションをユーザーに付与します。これらは、デフォルトでは管理者には提供されず、これらのパーミッションにより、管理者は admin 権限でそれらのワークスペースに名前を指定し、ワークスペースへの可視性を得ることができます。
- デフォルト
-
false
4.1.2.11.2. CHE_SYSTEM_ADMIN__NAME リンクのコピーリンクがクリップボードにコピーされました!
che.admin.name ユーザーのシステムパーミッションを付与します。ユーザーがすでに存在する場合は、これはコンポーネントの起動時に生じます。ユーザーがすでに存在しない場合は、ユーザーがデータベースで永続化される初回のログイン時に発生します。
- デフォルト
-
admin
4.1.2.12. Workspace の制限 リンクのコピーリンクがクリップボードにコピーされました!
4.1.2.12.1. CHE_LIMITS_WORKSPACE_ENV_RAM リンクのコピーリンクがクリップボードにコピーされました!
ワークスペースは、開発を行う際のユーザー向けの基本的なランタイムです。ワークスペースの作成方法や、消費されるリソースを制限するパラメーターを設定できます。ユーザーが新規ワークスペースの作成時にワークスペースに割り当てることができる RAM の最大量。RAM スライダーは、この最大値に合わせて調整されます。
- デフォルト
-
16gb
4.1.2.12.2. CHE_LIMITS_WORKSPACE_IDLE_TIMEOUT リンクのコピーリンクがクリップボードにコピーされました!
システムがワークスペースを一時停止した後にこれを停止する際に、ユーザーがワークスペースでアイドル状態になる期間 (ミリ秒単位)。アイドル状態は、ユーザーがワークスペースと対話しない期間です。つまり、エージェントのいずれも対話を受け取っていない期間を意味します。ブラウザーウィンドウを開いたままにするとアイドル状態になります。
- デフォルト
-
1800000
4.1.2.12.3. CHE_LIMITS_WORKSPACE_RUN_TIMEOUT リンクのコピーリンクがクリップボードにコピーされました!
システムが一時停止するまでの、アクティビティーを問わず、ワークスペースが実行される期間 (ミリ秒単位)。一定期間後にワークスペースを自動的に停止する場合は、このプロパティーを設定します。デフォルトはゼロで、実行タイムアウトがないことを意味します。
- デフォルト
-
0
4.1.2.13. ユーザーワークスペースの制限 リンクのコピーリンクがクリップボードにコピーされました!
4.1.2.13.1. CHE_LIMITS_USER_WORKSPACES_RAM リンクのコピーリンクがクリップボードにコピーされました!
単一ユーザーがワークスペースの実行に割り当てることができる RAM の合計量。ユーザーは、この RAM を単一のワークスペースに割り当てるか、または複数のワークスペースに分散することができます。
- デフォルト
-
-1
4.1.2.13.2. CHE_LIMITS_USER_WORKSPACES_COUNT リンクのコピーリンクがクリップボードにコピーされました!
ユーザーが作成できるワークスペースの最大数。追加のワークスペースを作成しようとすると、ユーザーにはエラーメッセージが表示されます。これは、実行中および停止中のワークスペースの合計数に適用されます。
- デフォルト
-
-1
4.1.2.13.3. CHE_LIMITS_USER_WORKSPACES_RUN_COUNT リンクのコピーリンクがクリップボードにコピーされました!
単一ユーザーが持てる実行中のワークスペースの最大数。ユーザーがこのしきい値に達し、追加のワークスペースを開始しようとすると、エラーメッセージと共にプロンプトが表示されます。ユーザーは、実行中のワークスペースを停止してから別のワークスペースをアクティべートする必要があります。
- デフォルト
-
1
4.1.2.14. 組織ワークスペースの制限 リンクのコピーリンクがクリップボードにコピーされました!
4.1.2.14.1. CHE_LIMITS_ORGANIZATION_WORKSPACES_RAM リンクのコピーリンクがクリップボードにコピーされました!
単一組織 (チーム) がワークスペースの実行に割り当てることができる RAM の合計量。組織の所有者はこの RAM を割り当てることができますが、チームのワークスペース全体で適切に割り当てられているように見えます。
- デフォルト
-
-1
4.1.2.14.2. CHE_LIMITS_ORGANIZATION_WORKSPACES_COUNT リンクのコピーリンクがクリップボードにコピーされました!
組織が所有できるワークスペースの最大数。追加のワークスペースを作成しようとすると、組織にはエラーメッセージが表示されます。これは、実行中および停止中のワークスペースの合計数に適用されます。
- デフォルト
-
-1
4.1.2.14.3. CHE_LIMITS_ORGANIZATION_WORKSPACES_RUN_COUNT リンクのコピーリンクがクリップボードにコピーされました!
単一組織が持てる実行中のワークスペースの最大数。組織がこのしきい値に達し、追加のワークスペースを開始しようとすると、エラーメッセージと共にプロンプトが表示されます。組織は、実行中のワークスペースを停止してから別のワークスペースをアクティべートする必要があります。
- デフォルト
-
-1
4.1.2.15. マルチユーザー固有の OpenShift インフラストラクチャー設定 リンクのコピーリンクがクリップボードにコピーされました!
4.1.2.15.1. CHE_INFRA_OPENSHIFT_OAUTH__IDENTITY__PROVIDER リンクのコピーリンクがクリップボードにコピーされました!
Keycloak に登録されている OpenShift アイデンティティープロバイダーのエイリアス。これは、現行の CodeReady Workspaces ユーザーが所有する OpenShift namespace にワークスペース OpenShift リソースを作成するために使用されます。che.infra.openshift.project が空白以外の値に設定する場合は NULL に設定する必要があります。参照:OpenShift アイデンティティープロバイダー
- デフォルト
-
NULL
4.1.2.16. OIDC 設定 リンクのコピーリンクがクリップボードにコピーされました!
4.1.2.16.1. CHE_OIDC_AUTH__SERVER__URL リンクのコピーリンクがクリップボードにコピーされました!
OIDC ID プロバイダーサーバーへの URL は、che.oidc.oidcProvider が使用されている場合にのみ NULL に設定できます。
- デフォルト
-
http://${CHE_HOST}:5050/auth
4.1.2.16.2. CHE_OIDC_AUTH__INTERNAL__SERVER__URL リンクのコピーリンクがクリップボードにコピーされました!
内部ネットワークサービス URL から OIDC ID プロバイダーサーバー
- デフォルト
-
NULL
4.1.2.16.3. CHE_OIDC_ALLOWED__CLOCK__SKEW__SEC リンクのコピーリンクがクリップボードにコピーされました!
exp または nbf 要求を検証する際にクロックスキューについて許容される秒数。
- デフォルト
-
3
4.1.2.16.4. CHE_OIDC_USERNAME__CLAIM リンクのコピーリンクがクリップボードにコピーされました!
ユーザー名は、JWT トークンを解析するときにユーザー表示名として使用されると主張します。定義されていない場合、フォールバック値は Keycloak インストールでは 'preferred_username' であり、Dex インストールでは name です。
- デフォルト
-
NULL
4.1.2.16.5. CHE_OIDC_OIDC__PROVIDER リンクのコピーリンクがクリップボードにコピーされました!
この仕様 (Obtaining OpenID Provider Configuration Information) で詳細に検出エンドポイントを指定する別の OIDC プロバイダーのベース URL。非推奨。代わりに che.oidc.auth_server_url および che.oidc.auth_internal_server_url を使用します。
- デフォルト
-
NULL
4.1.2.17. Keycloak の設定 リンクのコピーリンクがクリップボードにコピーされました!
4.1.2.17.1. CHE_KEYCLOAK_REALM リンクのコピーリンクがクリップボードにコピーされました!
Keycloak レルムを使用してユーザーを認証するために使用されます。che.keycloak.oidcProvider が使用している場合のみ NULL に設定できます。
- デフォルト
-
che
4.1.2.17.2. CHE_KEYCLOAK_CLIENT__ID リンクのコピーリンクがクリップボードにコピーされました!
ダッシュボード、IDE、および CLI でユーザーを認証する che.keycloak.realm の Keycloak クライアント識別子。
- デフォルト
-
che-public
4.1.2.17.3. CHE_KEYCLOAK_OSO_ENDPOINT リンクのコピーリンクがクリップボードにコピーされました!
OSO OAuth トークンにアクセスするための URL
- デフォルト
-
NULL
4.1.2.17.4. CHE_KEYCLOAK_GITHUB_ENDPOINT リンクのコピーリンクがクリップボードにコピーされました!
Github OAuth トークンにアクセスするための URL
- デフォルト
-
NULL
4.1.2.17.5. CHE_KEYCLOAK_USE__NONCE リンクのコピーリンクがクリップボードにコピーされました!
OIDC オプションの nonce 機能を使用して、セキュリティーを強化します。
- デフォルト
-
true
4.1.2.17.6. CHE_KEYCLOAK_JS__ADAPTER__URL リンクのコピーリンクがクリップボードにコピーされました!
使用する Keycloak Javascript アダプターの URL。NULL に設定すると、デフォルト値が ${che.keycloak.auth_server_url}/js/keycloak.js になり、別の oidc_provider を使用する場合には、<che-server>/api/keycloak/OIDCKeycloak.js になります。
- デフォルト
-
NULL
4.1.2.17.7. CHE_KEYCLOAK_USE__FIXED__REDIRECT__URLS リンクのコピーリンクがクリップボードにコピーされました!
固定されたリダイレクト URL のみをサポートする別の OIDC プロバイダーを使用する場合は true に設定します。このプロパティーは、che.keycloak.oidc_provider が NULL の場合は無視されます。
- デフォルト
-
false
4.1.2.17.8. CHE_OAUTH_SERVICE__MODE リンクのコピーリンクがクリップボードにコピーされました!
"embedded" モードまたは "delegated" モードで使用できる OAuth 認証サービスの設定。"embedded" に設定すると、サービスは、(Single User モードの場合のように) CodeReady Workspaces の OAuthAuthenticator のラッパーとして機能します。"delegated" に設定すると、サービスは Keycloak IdentityProvider メカニズムを使用します。このプロパティーが正しく設定されていない場合は、ランタイム例外 wii が出力されます。
- デフォルト
-
delegated
4.1.2.17.9. CHE_KEYCLOAK_CASCADE__USER__REMOVAL__ENABLED リンクのコピーリンクがクリップボードにコピーされました!
CodeReady Workspaces データベースからユーザーを削除する際の Keycloak サーバーからのユーザーの削除を有効にするための設定。デフォルトで、これは無効にされます。CodeReady Workspaces データベースでユーザーを削除する際に Keycloak からの関連ユーザーの削除が実行される特別なケースでは有効にされある場合があります。適切に機能するには、管理ユーザー名 ${che.keycloak.admin_username} とパスワード ${che.keycloak.admin_password} を設定する必要があります。
- デフォルト
-
false
4.1.2.17.10. CHE_KEYCLOAK_ADMIN__USERNAME リンクのコピーリンクがクリップボードにコピーされました!
Keycloak 管理者のユーザー名。CodeReady Workspaces データベースからユーザーを削除する際に Keycloak からユーザーを削除するために使用します。${che.keycloak.cascade_user_removal_enabled} が 'true' に設定されている場合にのみ機能します。
- デフォルト
-
NULL
4.1.2.17.11. CHE_KEYCLOAK_ADMIN__PASSWORD リンクのコピーリンクがクリップボードにコピーされました!
Keycloak 管理者パスワード。CodeReady Workspaces データベースからユーザーを削除する際に Keycloak からユーザーを削除するために使用します。${che.keycloak.cascade_user_removal_enabled} が 'true' に設定されている場合にのみ機能します。
- デフォルト
-
NULL
4.1.2.17.12. CHE_KEYCLOAK_USERNAME_REPLACEMENT__PATTERNS リンクのコピーリンクがクリップボードにコピーされました!
ユーザー名の調整の設定。CodeReady Workspaces は、ユーザー名を Kubernetes オブジェクト名とラベルの一部として使用する必要があるため、アイデンティティープロバイダーが通常許可する場合よりもフォーマットの要件が厳しくなります (DNS に準拠する必要があります)。この調整は、コンマ区切りのキー/値のペアで表されます。これらは元のユーザー名の String.replaceAll 関数への引数として順次使用されます。キーは正規表現で、値は正規表現に一致するユーザー名の文字を置き換える置換文字列です。変更したユーザー名は CodeReady Workspaces データベースのみに保存され、アイデンティティープロバイダーには再び公開されません。DNS に準拠する文字を代替文字列として使用することが推奨されます (キー/値のペアの値)。例:\\=-,@=-at- では \ は - に、@ は -at- に変更され、ユーザー名 org\user@com は org-user-at-com. になります。
- デフォルト
-
NULL
4.2. ワークスペースターゲットプロジェクトの設定 リンクのコピーリンクがクリップボードにコピーされました!
新規ワークスペースがデプロイされる OpenShift プロジェクトは、CodeReady Workspaces サーバー設定によって異なります。CodeReady Workspaces は、各ワークスペースをユーザー専用のプロジェクトにデプロイして、対象のユーザーが作成した全 CodeReady Workspaces をホストします。OpenShift プロジェクトの名前は、CodeReady Workspaces サーバー設定プロパティーとして指定するか、CodeReady Workspaces 管理者が事前に作成しておく必要があります。
OpenShift プロジェクトストラテジーは、server.workspaceNamespaceDefault プロパティーを使用して設定されます。
Operator CheCluster CR パッチ
- 1
- - CodeReady Workspaces ワークスペースプロジェクト設定
CodeReady Workspaces サーバーが使用する基礎となる環境変数は CHE_INFRA_KUBERNETES_NAMESPACE_DEFAULT です。
デフォルトでは、同じプロジェクト内で同時に実行できるワークスペースは 1 つだけです。「ユーザーが実行できるワークスペース数の設定」を参照してください。
Kubernetes はプロジェクト名の長さを 63 文字に制限します (これには評価されるプレースホルダーが含まれます)。さらに、名前 (プレースホルダーの評価後) は有効な DNS 名である必要があります。
マルチホストサーバーの脆弱性ストラテジーのある OpenShift では、長さはさらに 49 文字に制限されます。
<userid> プレースホルダーは 36 文字の長さの UUID 文字列として評価されることに注意してください。
以下の場合は 「各ユーザーのプロジェクトの事前作成」 を使用します。
-
新規プロジェクトの作成時に、
CheServiceAccount に十分なパーミッションがない
-
クラスターロールが
self-provisionerの OpenShift OAuth がsystem:authenticated:oauthグループにリンクされていない
- CodeReady Workspaces が namespace を作成できない
4.2.1. ユーザーストラテジーごとに 1 つのプロジェクト リンクのコピーリンクがクリップボードにコピーされました!
ストラテジーは、独自のプロジェクトの各ユーザーを分離します。
ストラテジーを使用するには、CodeReady Workspaces workspace プロジェクト設定 の値を 1 つ以上のユーザー ID が含まれるように設定します。現在サポートされている識別子は <username> と <userid> です。
例4.2 ユーザーごとに 1 つのプロジェクト
'codeready-ws' 接頭辞および個々のユーザー名 (codeready-ws-user1、codeready-ws-user2) で設定されるプロジェクト名を割り当てるには、CheCluster Custom Resource に以下を設定します。
...
spec:
server:
workspaceNamespaceDefault: codeready-ws-<username>
...
...
spec:
server:
workspaceNamespaceDefault: codeready-ws-<username>
...
4.2.2. 互換性のないユーザー名またはユーザー ID の処理 リンクのコピーリンクがクリップボードにコピーされました!
CodeReady Workspaces サーバーは、テンプレートからプロジェクトを作成する前に、OpenShift オブジェクトの命名規則との互換性についてユーザー名と ID を自動的にチェックします。互換性のないユーザー名または ID は、適切ではないシンボルのグループを - に置き換えることにより減少し、ほぼ有効な名前のみに絞られます。ID が競合しないように、無作為に選択された 6 記号の接尾辞を追加します。再利用できるように、結果は設定に保存されます。
4.2.3. 各ユーザーのプロジェクトの事前作成 リンクのコピーリンクがクリップボードにコピーされました!
各ユーザーにプロジェクトを事前に作成するには、OpenShift のラベルとアノテーションを使用します。このプロジェクトは、CHE_INFRA_KUBERNETES_NAMESPACE_DEFAULT 変数よりも優先して使用されます。
- 1
- ターゲットユーザーのユーザー名
ラベルを設定するには、CHE_INFRA_KUBERNETES_NAMESPACE_LABELS を必要なラベルに設定します。アノテーションを設定するには、CHE_INFRA_KUBERNETES_NAMESPACE_ANNOTATIONS を必要なアノテーションに設定します。詳細は、CodeReady Workspaces サーバーコンポーネントのシステムプロパティーのリファレンス を参照してください。
単一ユーザーに複数の namespace を作成しないでください。これにより、定義されていない動作が生じる可能性があります。
4.2.4. namespace のラベル付け リンクのコピーリンクがクリップボードにコピーされました!
CodeReady Workspaces は、CHE_INFRA_KUBERNETES_NAMESPACE_LABELS で定義されるラベルを追加して、ワークスペースの起動時にワークスペースのプロジェクトを更新します。これを実行するには、che ServiceAccout に update および get namespaces に対する以下のようなクラスター全体のパーミッションが必要になります。
- 1
- クラスターロールの名前
パーミッションがない場合には、CodeReady Workspaces ワークスペースが起動しなくなり、警告のみがログに記録されます。CodeReady Workspaces ログに警告が表示される場合は、CHE_INFRA_KUBERNETES_NAMESPACE_LABEL=false を定義して機能を無効にすることを検討してください。
4.3. ストレージストラテジーの設定 リンクのコピーリンクがクリップボードにコピーされました!
本セクションでは、CodeReady Workspaces ワークスペースのストレージストラテジーを設定する方法を説明します。
4.3.1. codeready-workspaces ワークスペースのストレージストラテジー リンクのコピーリンクがクリップボードにコピーされました!
- ストレージ戦略
- CodeReady Workspaces ワークスペースが永続ボリュームクレーム (PVC) と永続ボリューム (PV) を使用する方法を定義する設定可能なメソッド。このメソッドは、プロジェクト、ワークスペースログ、またはユーザーが定義した追加のボリュームなどのワークスペースデータのストレージを定義します。
| ストレージ戦略名 | common | per-workspace | unique |
|---|---|---|---|
| PV 数 | ユーザーごとに 1 つ | ワークスペースごとに 1 つ | ワークスペースごとに複数の PV |
| デフォルト | はい | いいえ | いいえ |
| 制限事項 |
PV が | PV カウントは、ワークスペースの数によって異なります | 予測できない PV カウント |
- 永続ボリューム (PV) アクセスモード
-
PV の性質により、使用可能なアクセスモードが決まります (
ReadWriteManyまたはReadWriteOnce)。Kubernetes のドキュメント-アクセスモード を参照してください。たとえば、Amazon EBS はReadWriteOnceアクセスモードのみをサポートします。
4.3.1.1. common ストレージ戦略 リンクのコピーリンクがクリップボードにコピーされました!
これはデフォルトのストレージ戦略です。ユーザーごとに、すべてのワークスペースがデフォルトのデータストレージに同じ PV を使用します。
ユーザーが最初の非一時的なワークスペースを開始すると、ワークスペースエンジンは共通の PV を作成します。
ユーザーが別の非一時的なワークスペースを開始すると、ワークスペースエンジンは同じ共通の PV を使用します。ワークスペースは、OpenShift クラスター内の 1 つのノードに同時にバインドするだけです。ワークスペースエンジンは、ユーザー定義のボリュームを無視します。ワークスペースエンジンは、ユーザー定義ボリュームに関連するボリュームを共通ボリュームの subPath に置き換えます。サブパスには、<workspace-ID> または <original-volume-name> 接頭辞が付いています。「永続ボリューム (PV) でのサブパスの使用方法」 を参照してください。CodeReady Workspaces ボリューム名は、ユーザー定義 PV の名前と同じです。したがって、ワークスペースコンテナーがユーザー定義 PV と同じ名前の CodeReady Workspaces ボリュームを使用する場合、それらは共通 PV 内の同じ共有フォルダーを使用します。
ユーザーがワークスペースを削除すると、ワークスペースエンジンは、PV ディレクトリー内の対応するサブディレクトリー (${ws-id}) を削除します。
ユーザーが最後のワークスペースを削除すると、ワークスペースエンジンは共通の PV を削除します。
ReadWriteOnceアクセスモードでのcommonストレージ戦略の制限-
ReadWriteOnceアクセスモードでは、各ユーザーが 1 つの同時ワークスペースのみを実行するように制限されます。「ユーザーが実行できるワークスペース数の設定」 を参照してください。 - スケーラビリティー
-
commonストレージ戦略は、ユーザーごとに同時に実行されるワークスペースの数が 1 を超える場合は、PV の 'ReadWriteOnce' アクセスモードのマルチノードクラスターには適していません。 - 永続ボリューム (PV) プロビジョニング
- 1 つのプロジェクトが他のプロジェクトのリソースを使い果たす状況を防ぐために、すべてのプロジェクトに対応するのに十分な大きさの PV を作成します。
4.3.1.2. per-workspace ストレージ戦略 リンクのコピーリンクがクリップボードにコピーされました!
各ワークスペースは 1 つの専用 PV を使用します。単一のワークスペース内で定義されたすべての CodeReady Workspaces ボリュームは、同じ PV を使用します。
- 永続ボリューム (PV) プロビジョニング
- ユーザーは複数のワークスペースを同時に実行できます。このアクションにより、PV が増加します。
4.3.1.3. unique ストレージ戦略 リンクのコピーリンクがクリップボードにコピーされました!
ワークスペースで定義された各 CodeReady Workspaces ボリュームには、独自の PV があります。
ユーザーがワークスペースを開始すると、ワークスペースエンジンがワークスペース PV を作成します。
ワークスペースエンジンは、PV ごとに一意の名前を生成して、同じプロジェクト内の他の PV との名前の競合を防ぎます。
異なるストレージ戦略が同じ PV データ構造を使用することを保証するために、ユーザー定義の PV を参照するマウントされた PV のサブパスには、接頭辞 <workspace-ID> または <persistent-volume-name> が付けられます。「永続ボリューム (PV) でのサブパスの使用方法」 を参照してください。
ユーザーがワークスペースを削除すると、ワークスペースエンジンはすべてのワークスペース PV を削除します。
- PV プロビジョニング
- これは、最大のボリューム数を作成する戦略です。
4.3.1.4. 永続ボリューム (PV) でのサブパスの使用方法 リンクのコピーリンクがクリップボードにコピーされました!
サブパスは、PV 内のフォルダー階層を示しています。
ユーザーが devfile でコンポーネントのボリュームを定義すると、同じ名前のボリュームを定義するすべてのコンポーネントは、PV 内の <persistent-volume-name>、<workspace-ID>、または <original-volume-name> と同じディレクトリーでサポートされます。各コンポーネントでは、コンテナー内の異なるパスにこの場所をマウントすることができます。
4.3.2. 永続ボリュームストラテジーを使用した CodeReady Workspaces ワークスペースの設定 リンクのコピーリンクがクリップボードにコピーされました!
永続ボリューム (PV) は、ボリュームをクラスターに追加する仮想ストレージインスタンスとして機能します。
永続ボリューム要求 (PVC) は、以下の CodeReady Workspaces ストレージ設定ストラテジーで利用可能な特定のタイプおよび設定の永続ストレージのプロビジョニング要求です。
- Common
- Per-workspace
- Unique
マウントされた PVC はコンテナーのファイルシステムのフォルダーとして表示されます。
4.3.2.1. Operator を使用した PVC ストラテジーの設定 リンクのコピーリンクがクリップボードにコピーされました!
以下のセクションでは、Operator を使用して CodeReady Workspaces サーバーのワークプレースの永続ボリューム要求 (PVC) ストラテジーを設定する方法を説明します。
既存のワークスペースを使用して既存の CodeReady Workspaces クラスターに PVC ストラテジーを再設定することは推奨されません。これを実行すると、データが失われます。
Operator は、カスタムリソース を使用してアプリケーションとそのコンポーネントを管理する OpenShift に対するソフトウェアの拡張機能です。
Operator を使用して CodeReady Workspaces をデプロイする場合は、CheCluster カスタムリソースオブジェクトの YAML ファイルの spec.storage.pvcStrategy プロパティーを変更して、目的のストラテジーを設定します。
前提条件
-
ocツールが利用できる。
手順
以下の手順は、OpenShift コマンドラインツール oc で使用できます。
CheCluster YAML ファイルに変更を加えるには、以下のいずれかを選択します。
oc applyコマンドを実行して新規クラスターを作成します。以下に例を示します。oc apply -f <my-cluster.yaml>
$ oc apply -f <my-cluster.yaml>Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc patchコマンドを実行して、すでに実行中のクラスターの YAML ファイルプロパティーを更新します。以下に例を示します。oc patch checluster/codeready-workspaces --type=json \ -p '[{"op": "replace", "path": "/spec/storage/pvcStrategy", "value": "per-workspace"}]'$ oc patch checluster/codeready-workspaces --type=json \ -p '[{"op": "replace", "path": "/spec/storage/pvcStrategy", "value": "per-workspace"}]'Copy to Clipboard Copied! Toggle word wrap Toggle overflow
使用されるストラテジーに応じて、上記の例の per-workspace オプションを unique または common に置き換えます。
4.4. ストレージタイプの設定 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat CodeReady Workspaces は、さまざまな機能を備えた 3 種類のストレージをサポートします。
- Persistent (永続)
- Ephemeral (一時)
- Asynchronous (非同期)
4.4.1. 永続ストレージ リンクのコピーリンクがクリップボードにコピーされました!
永続ストレージにより、マウントされた永続ボリュームにユーザーの変更を直接保存できます。とくに小さなファイルが数多くある場合に I/O が低速になりますが、ユーザーの変更は OpenShift インフラストラクチャー (ストレージバックエンド) によって保護されます。たとえば、Node.js プロジェクトには多くの依存関係が含まれることがあり、node_modules/ ディレクトリーには数千の小さなファイルが含まれます。
I/O の速度は、環境内で設定されている ストレージクラス によって異なります。
永続ストレージは、新規ワークスペースのデフォルトモードです。この設定をワークスペース設定で表示できるようにするには、以下を devfile に追加します。
attributes: persistVolumes: 'true'
attributes:
persistVolumes: 'true'
4.4.2. 一時ストレージ リンクのコピーリンクがクリップボードにコピーされました!
一時ストレージでは、ファイルを emptyDir ボリュームに保存します。このボリュームは最初は空の状態です。Pod がノードから削除されると、emptyDir ボリュームのデータは永久に削除されます。つまり、ワークスペースの停止または再起動時にすべての変更が失われます。
変更を保存するには、一時ワークスペースを停止する前に、リモートへのコミットおよびプッシュを実行します。
一時モードは、永続ストレージよりも高速な I/O を提供します。このストレージタイプを有効にするには、以下をワークスペース設定に追加します。
attributes: persistVolumes: 'false'
attributes:
persistVolumes: 'false'
| コマンド | 一時ストレージ | 永続データストレージ |
|---|---|---|
| Red Hat CodeReady Workspaces のクローン作成 | 0 m 19 s | 1 m 26 s |
| 1000 のランダムなファイルの生成 | 1 m 12 s | 44 m 53 s |
4.4.3. 非同期ストレージ リンクのコピーリンクがクリップボードにコピーされました!
非同期ストレージは実験的な機能です。
非同期ストレージは、永続ストレージと一時モードの組み合わせです。初期ワークスペースコンテナーは emptyDir ボリュームをマウントします。次に、ワークスペースの停止時にバックアップが実行され、変更がワークスペースの起動時に復元されます。非同期ストレージは、(一時モードと同様の) 高速 I/O を提供し、ワークスペースプロジェクトの変更は永続化されます。
同期は、SSH プロトコルを使用して rsync ツールで実行されます。ワークスペースが非同期ストレージで設定されている場合、workspace-data-sync プラグインはワークスペース設定に自動的に追加されます。プラグインはワークスペースの開始時に rsync コマンドを実行して変更を復元します。ワークスペースが停止したら、変更を永続ストレージに送信します。
比較的小規模なプロジェクトの場合、復元手順は高速で、Che-Theia が初期化されるとプロジェクトのソースファイルはすぐに利用可能になります。rsync にかかる時間が長いと、同期プロセスは Che-Theia のステータスバーの領域に表示されます。(Che-Theia リポジトリーの拡張)。
非同期モードには、以下の制限があります。
- common PVC ストラテジーのみをサポートします。
- ユーザーごとの プロジェクトストラテジーのみをサポートします。
- 1 度に実行できるワークスペースは 1 つのみです。
ワークスペースの非同期ストレージを設定するには、以下をワークスペース設定に追加します。
attributes: asyncPersist: 'true' persistVolumes: 'false'
attributes:
asyncPersist: 'true'
persistVolumes: 'false'
4.4.4. CodeReady Workspaces ダッシュボードのストレージタイプのデフォルトの設定 リンクのコピーリンクがクリップボードにコピーされました!
以下の 2 つの che.properties を使用して、CodeReady Workspaces ダッシュボードでデフォルトのクライアント値を設定します。
che.workspace.storage.available_typesワークスペースの作成または更新時に、ダッシュボードなどのクライアントがユーザーに提案するストレージタイプに使用できる値を定義します。使用できる値は
persistent、ephemeralおよびasyncです。複数の値をコンマで区切ります。以下に例を示します。che.workspace.storage.available_types=persistent,ephemeral,async
che.workspace.storage.available_types=persistent,ephemeral,asyncCopy to Clipboard Copied! Toggle word wrap Toggle overflow che.workspace.storage.preferred_typeワークスペースの作成時に、ダッシュボードなどのクライアントがユーザーに提案するストレージタイプのデフォルト値を定義します。
async値は、実験的な取組であるため、デフォルトタイプとしての使用は推奨されません。以下に例を示します。che.workspace.storage.preferred_type=persistent
che.workspace.storage.preferred_type=persistentCopy to Clipboard Copied! Toggle word wrap Toggle overflow
ユーザーは、ワークスペースの作成時に CodeReady Workspaces ダッシュボードの Create Custom Workspace タブでストレージタイプを設定できます。既存のワークスペースのストレージタイプは、ワークスペースの詳細について Overview タブで設定できます。
4.4.5. 非同期ストレージ Pod のアイドリング リンクのコピーリンクがクリップボードにコピーされました!
CodeReady Workspaces は、設定された期間に使用されていない場合に、非同期ストレージ Pod をシャットダウンできます。
動作を調整するには、以下の設定プロパティーを使用します。
che.infra.kubernetes.async.storage.shutdown_timeout_min- 最後のアクティブなワークスペースの停止後に非同期ストレージ Pod が停止されるアイドル時間を定義します。デフォルト値は 120 分です。
che.infra.kubernetes.async.storage.shutdown_check_period_min- 非同期ストレージ Pod でアイドル状態をチェックする頻度を定義します。デフォルト値は 30 分です。
CodeReady Workspaces ワークスペースのタイムアウトを増やすには、以下の例を使用して、ワークスペースタイムアウトを 30 分間隔 (1800000 ミリ秒) に設定します。
+
oc patch checluster/codeready-workspaces --patch "{\"spec\":{\"server\":{\"customCheProperties\": {\"CHE_LIMITS_WORKSPACE_IDLE_TIMEOUT\": \"1800000\"}}}}" --type=merge -n openshift-workspaces
$ oc patch checluster/codeready-workspaces --patch "{\"spec\":{\"server\":{\"customCheProperties\": {\"CHE_LIMITS_WORKSPACE_IDLE_TIMEOUT\": \"1800000\"}}}}" --type=merge -n openshift-workspaces
4.5. ユーザーが実行できるワークスペース数の設定 リンクのコピーリンクがクリップボードにコピーされました!
この手順では、複数のワークスペースを同時に実行するように、CodeReady Workspaces を設定する方法を説明します。複数のワークスペースを実行すると、ユーザーは異なる作業環境を同時に使用できます。
前提条件
- Operator を使用して CodeReady Workspaces のインスタンスがインストールされている。
ストレージ戦略とアクセスモードの組み合わせは、次のいずれかの場合に一致します。
Expand 表4.3 複数のワークスペースの互換性リスト ストレージ戦略 common(デフォルト)per-workspaceuniqueReadWriteManyアクセスモードはい
はい
はい
ReadWriteOnceアクセスモードいいえ
はい
はい
-
ストレージでサポートされているアクセスモードを確認するには、Kubernetes のドキュメント - アクセスモード を参照してください。たとえば、Amazon EBS は
ReadWriteOnceアクセスモードのみをサポートします。 - 「ストレージストラテジーの設定」 を参照してください。
-
ストレージでサポートされているアクセスモードを確認するには、Kubernetes のドキュメント - アクセスモード を参照してください。たとえば、Amazon EBS は
<number-of-workspaces>プレースホルダーの値を特定している。注記値が
-1の場合には、各ユーザーが実行できるワークスペース数は無制限になります。値が正の整数である場合には、この整数値と同じ数だけ、ワークスペースを実行できます。デフォルト値は1です。
手順
CheClusterカスタムリソースのserver設定では、CHE_LIMITS_USER_WORKSPACES_RUN_COUNTプロパティーをcustom ChePropertiesに追加して、ユーザーが実行できるワークスペース数を設定します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.6. ユーザーが作成できるワークスペースの数の設定 リンクのコピーリンクがクリップボードにコピーされました!
この手順では、ユーザーが作成できるワークスペースの数を設定する方法を説明します。複数のワークスペースを作成すると、ユーザーは同時に設定が異なるワークスペースにアクセスできます。
前提条件
-
Operator を使用して
CodeReady Workspacesのインスタンスがインストールされている。 <number-of-workspaces>プレースホルダーの値を特定している。注記値が
-1の場合には、ユーザーが無制限にワークスペースを作成できます。値が正の整数である場合には、この整数値と同じ数だけ、ワークスペースを作成できます。デフォルト値は-1です。
手順
CheClusterカスタムリソースのserver設定では、CHE_LIMITS_USER_WORKSPACES_RUN_COUNTプロパティーをcustom ChePropertiesに追加して、ユーザーが作成できるワークスペース数を設定します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.7. ワークスペース公開ストラテジーの設定 リンクのコピーリンクがクリップボードにコピーされました!
CodeReady Workspaces サーバーのワークスペース公開ストラテジーを設定し、内部で実行されているアプリケーションが外部からの攻撃を受けないようにする方法を説明します。
4.7.1. Operator を使用したワークスペース公開ストラテジーの設定 リンクのコピーリンクがクリップボードにコピーされました!
Operator は、カスタムリソース を使用してアプリケーションとそのコンポーネントを管理する OpenShift に対するソフトウェアの拡張機能です。
前提条件
-
ocツールが利用できる。
手順
Operator を使用して CodeReady Workspaces をデプロイする場合は、CheCluster カスタムリソースオブジェクトの YAML ファイルの spec.server.serverExposureStrategy プロパティーを変更して、目的のストラテジーを設定します。
spec.server.serverExposureStrategy でサポートされる値は次のとおりです。
個別のストラテジーの詳細は、「ワークスペース公開ストラテジー」 を参照してください。
CheCluster YAML ファイルに加えた変更を有効にするには、以下のいずれかを実行します。
パッチを適用して
crwctlコマンドを実行して、新しいクラスターを作成します。以下に例を示します。crwctl server:deploy --installer=operator --platform=<platform> \ --che-operator-cr-patch-yaml=patch.yaml
$ crwctl server:deploy --installer=operator --platform=<platform> \ --che-operator-cr-patch-yaml=patch.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注記利用可能な OpenShift デプロイメントプラットフォームの一覧については、
crwctl server:deploy --platform --helpを使用します。以下の
patch.yamlファイルを使用します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- - ワークスペース公開ストラテジーの使用
oc patchコマンドを実行して、すでに実行中のクラスターの YAML ファイルプロパティーを更新します。以下に例を示します。oc patch checluster/codeready-workspaces --type=json \ -p '[{"op": "replace", "path": "/spec/server/serverExposureStrategy", "value": "<exposure-strategy>"}]' \ -n openshift-workspaces$ oc patch checluster/codeready-workspaces --type=json \ -p '[{"op": "replace", "path": "/spec/server/serverExposureStrategy", "value": "<exposure-strategy>"}]' \1 -n openshift-workspacesCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- - ワークスペース公開ストラテジーの使用
4.7.2. ワークスペース公開ストラテジー リンクのコピーリンクがクリップボードにコピーされました!
ワークスペースの特定のコンポーネントは、OpenShift クラスター外からアクセスできるようにする必要があります。通常、これはワークスペースの IDE のユーザーインターフェイスですが、開発されるアプリケーションの Web UI である可能性もあります。これにより、開発プロセスでの開発者のアプリケーションとの対話が可能になります。
ワークスペースをユーザーが使用できるようにするためのサポートされる方法は、ストラテジー と呼ばれます。このストラテジーは、ワークスペースコンポーネントに新しいサブドメインが作成されるかどうか、およびこれらのコンポーネントを利用可能にするホストを定義します。
CodeReady Workspaces は以下をサポートします。
-
Multi-hostストラテジー single-hostストラテジー-
gatewayサブタイプの使用
-
4.7.2.1. Multihost ストラテジー リンクのコピーリンクがクリップボードにコピーされました!
Multihost ストラテジーでは、各ワークスペースコンポーネントには、CodeReady Workspaces サーバーに設定された主なドメインの新規サブドメインが割り当てられます。これはデフォルトのストラテジーです。
このストラテジーは、URL のコンポーネントへのいずれのパスもコンポーネントごとにそのまま受信されるため、コンポーネントのデプロイメントの点で最も理解しやすいストラテジーです。
Transport Layer Security (TLS) プロトコルの使用によってセキュリティーが保護された CodeReady Workspaces サーバーで、各ワークスペースの各コンポーネントに新規のサブドメインを作成するには、CodeReady Workspaces デプロイメントが機能するため、このようなサブドメインすべてについてワイルドカード証明書が利用可能である必要があります。
4.7.2.2. 単一ホストストラテジー リンクのコピーリンクがクリップボードにコピーされました!
single-host ストラテジーでは、すべてのワークスペースが主な CodeReady Workspaces サーバードメインのサブパスにデプロイされます。
これは、すべてのワークスペースコンポーネントのデプロイメントに対応する CodeReady Workspaces サーバーの単一の証明書のみが必要となるため、TLS で保護される CodeReady Workspaces サーバーの場合に便利です。
単一ホストストラテジーには、異なる実装方法が設定された 2 つのサブタイプがあります。最初のサブタイプの名前は native です。このストラテジーは Kubernetes でデフォルトで利用できますが、サーバーの公開に Ingress を使用するため、OpenShift では利用できません。gateway という名前の 2 つ目のサブタイプは OpenShift の両方で機能し、内部で実行されるリバースプロキシーのある特別な Pod を使用して要求をルーティングします。
gateway single-host ストラテジーでは、クラスターのネットワークポリシーを設定して、ワークスペースのサービスが (通常は CodeReady Workspaces プロジェクトの) リバースプロキシー Pod から到達できるように設定する必要があります。通常、これらは異なるプロジェクトに置かれます。
devfile に指定されたエンドポイントを公開する方法を定義するには、CodeReady Workspaces インスタンスの CHE_INFRA_KUBERNETES_SINGLEHOST_WORKSPACE_DEVFILE__ENDPOINT__EXPOSURE 環境変数を定義します。この環境変数は、single-host サーバーストラテジーでのみ有効であり、すべてのユーザーのすべてのワークスペースに適用できます。
4.7.2.2.1. devfile エンドポイント:single-host リンクのコピーリンクがクリップボードにコピーされました!
CHE_INFRA_KUBERNETES_SINGLEHOST_WORKSPACE_DEVFILE__ENDPOINT__EXPOSURE: 'single-host'
この単一ホスト設定は、サブパスのエンドポイントを公開します (例:https://<che-host>/serverihzmuqqc/go-cli-server-8080 )。これにより、公開されるコンポーネントおよびユーザーアプリケーションが制限されます。サーバーを参照するサーバー側で生成される絶対 URL は機能しません。これは、サーバーが、コンポーネントまたはユーザーアプリケーションから一意の URL パスの接頭辞を非表示にするパスが書き換えられるリバースプロキシーの背後にあるためです。
たとえば、ユーザーが仮の \https://codeready-<openshift_deployment_name>.<domain_name>/component-prefix-djh3d/app/index.php URL にアクセスする場合に、アプリケーションには要求が https://internal-host/app/index.php に送信されるように表示されます。アプリケーションが UI で生成する URL でホストを使用している場合、内部ホストが外部に表示されるホストとは異なるため、これは機能しません。ただし、アプリケーションが URL に絶対パスを使用している場合 (上記の場合は /app/index.php)、この URL は依然として機能しません。これは、外部ではこの URL はコンポーネント固有の接頭辞がなく、アプリケーションを参照しないためです。
そのため、UI で相対 URL を使用するアプリケーションのみが、single-host ワークスペース公開ストラテジーで機能します。
4.7.2.2.2. devfile エンドポイント: multi-host リンクのコピーリンクがクリップボードにコピーされました!
CHE_INFRA_KUBERNETES_SINGLEHOST_WORKSPACE_DEVFILE__ENDPOINT__EXPOSURE: 'multi-host'
この単一ホスト設定は、サブドメインのエンドポイントを公開します (例:http://serverihzmuqqc-go-cli-server-8080.<che-host)。これらのエンドポイントは、セキュアでない HTTP ポートで公開されます。gateway 単一ホストの設定でも、専用の Ingress または Route がこのエンドポイントに使用されます。
この設定により、CodeReady Workspaces が TLS で設定されている場合に、エディターページに直接表示されるプレビューの使用が制限されます。https ページはセキュリティーが保護されたエンドポイントとの通信のみを許可するため、ユーザーは別のブラウザータブでアプリケーションのプレビューを開く必要があります。
4.7.3. セキュリティーに関する考慮事項 リンクのコピーリンクがクリップボードにコピーされました!
本セクションでは、さまざまな CodeReady Workspaces ワークスペースの公開ストラテジーを使用するセキュリティー上の影響について説明します。
4.7.3.1. JSON Web トークン (JWT) プロキシー リンクのコピーリンクがクリップボードにコピーされました!
すべての CodeReady Workspaces プラグイン、エディター、およびコンポーネントには、それらにアクセスするユーザーの認証が必要になる場合があります。この認証は、その設定に基づいて対応するコンポーネントのリバースプロキシーとして機能し、コンポーネントの代わりに認証を実行する JSON Web トークン (JWT) プロキシーを使用して実行されます。
認証では、CodeReady Workspaces サーバーの特別なページへのリダイレクトを使用して、ワークスペースおよびユーザー固有の認証トークン (ワークスペースアクセストークン) を最初に要求されたページに伝播します。
JWT プロキシーは、受信要求の以下の場所からのワークスペースアクセストークンを受け入れます。
- トークンクエリーパラメーター
- bearer-token 形式の Authorization ヘッダー
-
access_tokenクッキー
4.7.3.2. セキュリティーが保護されたプラグインおよびエディター リンクのコピーリンクがクリップボードにコピーされました!
CodeReady Workspaces ユーザーはワークスペースのプラグインやワークスペースのエディター (Che-Theia など) のセキュリティーを保護する必要はありません。これは、JWT プロキシー認証はユーザーに透過的であり、meta.yaml 記述子のプラグインまたはエディター定義によって制御されるためです。
4.7.3.3. セキュリティー保護されたコンテナーイメージコンポーネント リンクのコピーリンクがクリップボードにコピーされました!
コンテナーイメージのコンポーネントは、必要に応じて devfile の作成者側が CodeReady Workspaces が提供する認証を要求するカスタムエンドポイントを定義できます。この認証は、エンドポイントの 2 つのオプション属性を使用して設定されます。
-
secure- CodeReady Workspaces サーバーに対し、エンドポイントの前に JWT プロキシーを配置するよう指示するブール値属性。このエンドポイントでは、「JSON Web トークン (JWT) プロキシー」 で説明されているいくつかの方法のいずれかを使用して、ワークスペースのアクセストークンが提供される必要があります。属性のデフォルト値はfalseです。 -
cookiesAuthEnabled- 「JSON Web トークン (JWT) プロキシー」 で説明されているように、CodeReady Workspaces サーバーに対し、現在のユーザー認証の非認証要求を自動的にリダイレクトするように指示するブール値属性。この属性をtrueに設定すると、CSRF (クロスサイトリクエストフォージェリー) 攻撃が可能になり、セキュリティー上の影響が発生します。属性のデフォルト値はfalseです。
4.7.3.4. クロスサイトリクエストフォージェリー攻撃 リンクのコピーリンクがクリップボードにコピーされました!
cookie ベースの認証に、JWT プロキシーによってセキュリティーが保護されたアプリケーションは CSRF (Cross-site Request forgery) 攻撃の対象となりやすくする場合があります。アプリケーションに脆弱性がないことを確認するには、CSRF (Cross-site request forgery) についての Wikipedia ページやその他のリソースを参照してください。
4.7.3.5. フィッシング攻撃 リンクのコピーリンクがクリップボードにコピーされました!
JWT プロキシーの背後にあるサービスとホストを共有するワークスペースを使用してクラスター内に Ingress またはルートを作成できる攻撃者は、サービスの作成やとくに偽造された Ingress オブジェクトの作成が可能になる場合があります。このようなサービスまたは Ingress がワークスペースで以前に認証されている適切なユーザーによってアクセスされる際に、攻撃者は偽の URL への適切なユーザーのブラウザーが送信する cookie からワークスペースアクセストークンを盗むことができる可能性があります。この攻撃ベクトルを排除するには、Ingress のホストの設定を禁止するように OpenShift を設定します。
4.8. ワークスペース nodeSelector の設定 リンクのコピーリンクがクリップボードにコピーされました!
このセクションでは、CodeReady Workspaces ワークスペースの Pod について nodeSelector を設定する方法を説明します。
手順
CodeReady Workspaces は CHE_WORKSPACE_POD_NODE__SELECTOR 環境変数を使用して nodeSelector を設定します。この変数には、nodeSelector ルールを形成するためにコンマ区切りの key=value ペアのセットが含まれるか、またはこれを無効にする NULL が含まれる場合があります。
CHE_WORKSPACE_POD_NODE__SELECTOR=disktype=ssd,cpu=xlarge,[key=value]
CHE_WORKSPACE_POD_NODE__SELECTOR=disktype=ssd,cpu=xlarge,[key=value]
nodeSelector は CodeReady Workspaces のインストール時に設定する必要があります。これにより、既存のワークスペース PVC および Pod が異なるゾーンにスケジュールされることによってボリュームのアフィニティーの競合が生じ、既存のワークスペースが実行できなくなることを防ぐことができます。
大規模なマルチゾーンクラスターの異なるゾーンに Pod および PVC がスケジュールされないようにするには、PVC の作成プロセスを調整する追加の StorageClass オブジェクトを作成します (allowedTopologies フィールドに注目してください)。
新規に作成された StorageClass の名前を、CHE_INFRA_KUBERNETES_PVC_STORAGE__CLASS__NAME 環境変数で CodeReady Workspaces に指定します。この変数のデフォルトの空の値の場合、CodeReady Workspaces に対し、クラスターのデフォルト StorageClass を使用するように指示します。
4.9. Red Hat CodeReady Workspaces サーバーのホスト名の設定 リンクのコピーリンクがクリップボードにコピーされました!
この手順では、カスタムホスト名を使用するように CodeReady Workspaces を設定する方法を説明します。
前提条件
-
ocツールが利用できる。 - 証明書とプライベートキーファイルが生成されます。
秘密鍵と証明書のペアを生成するには、他の CodeReady Workspaces ホストと同じ認証局 (CA) を使用する必要があります。
DNS プロバイダーに対し、カスタムホスト名をクラスター Ingress を参照するよう要求します。
手順
CodeReady Workspaces のプロジェクトを事前に作成します。
oc create project openshift-workspaces
$ oc create project openshift-workspacesCopy to Clipboard Copied! Toggle word wrap Toggle overflow TLS Secret を作成します。
oc create secret TLS <tls-secret-name> \ --key <key-file> \ --cert <cert-file> \ -n openshift-workspaces
$ oc create secret TLS <tls-secret-name> \1 --key <key-file> \2 --cert <cert-file> \3 -n openshift-workspacesCopy to Clipboard Copied! Toggle word wrap Toggle overflow シークレットに必要なラベルを追加します。
oc label secret <tls-secret-name> \ app.kubernetes.io/part-of=che.eclipse.org -n openshift-workspaces
$ oc label secret <tls-secret-name> \1 app.kubernetes.io/part-of=che.eclipse.org -n openshift-workspacesCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- TLS Secret 名
カスタムリソースに以下の値を設定します。
spec: server: cheHost: <hostname> cheHostTLSSecret: <secret>spec: server: cheHost: <hostname>1 cheHostTLSSecret: <secret>2 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - CodeReady Workspaces がすでにデプロイされている場合は、すべての CodeReady Workspaces コンポーネントのロールアウトが完了するまで待ちます。
4.10. OpenShift ルートの設定 リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Route のラベルおよびアノテーションを設定することで、オブジェクトをスコープ操作および選択することで編成し、分類できます。
前提条件
-
ocツールが利用できる。 - OpenShift で実行される CodeReady Workspaces のインスタンス。
手順
OpenShift Route のラベルを設定するには、カスタムリソースを更新します。
重要コンマを使用して、ラベルを区切ります (
key1=value1,key2=value2)。Copy to Clipboard Copied! Toggle word wrap Toggle overflow OpenShift Route のアノテーションを設定するには、以下のコマンドを使用してカスタムリソースを更新します。
重要オブジェクトを使用してアノテーションを指定します (
{"key1": "value1", "key2" : "value2"})。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.11. ルーターのシャード化と連携するように OpenShift ルートを設定 リンクのコピーリンクがクリップボードにコピーされました!
この手順では、OpenShift Route が ルーターのシャード化 と連携するようにラベル、アノテーション、およびドメインを設定する方法を説明します 。本章では、既存のインスタンスの設定プロセス、またはインストール予定の設定プロセスを説明します。
前提条件
-
ocおよびcrwctlツールが利用できる。
手順
新規の OperatorHub インストールの場合:
- OpenShift Container Platform を使用して CodeReady Workspaces クラスターを入力し、CheCluster カスタムリソース (CR) を作成します。Red Hat CodeReady Workspaces Operator のインスタンスの作成 を参照してください。
以下の値を codeready-workspaces カスタムリソース (CR) に設定します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
新規の
crwctlインストールの場合は、以下のようになります。以下を使用してインストールを設定します。
crwctl server:deploy --che-operator-cr-patch-yaml=patch.yaml ...
$ crwctl server:deploy --che-operator-cr-patch-yaml=patch.yaml ...Copy to Clipboard Copied! Toggle word wrap Toggle overflow patch.yamlファイルには以下を含める必要があります。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
既存の CodeReady Workspaces インストールの場合:
ocツールを使用してcodeready-workspacesCR を更新します。ラベルを設定するには、以下を実行します。
重要コンマを使用して、ラベルを区切ります:
key1=value1,key2=value2oc 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/labels",'\ '"value": "<labels for a codeready-workspaces server route>"}]'Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc patch checluster/codeready-workspaces -n openshift-workspaces --type=json -p \ '[{"op": "replace", "path": "/spec/server/pluginRegistryRoute/labels", '\ '"value": "<labels for a plug-ins registry route>"}]'$ oc patch checluster/codeready-workspaces -n openshift-workspaces --type=json -p \ '[{"op": "replace", "path": "/spec/server/pluginRegistryRoute/labels", '\ '"value": "<labels for a plug-ins registry route>"}]'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 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/labels", '\ '"value": "<labels for a devfile registry route>"}]'Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc patch checluster/codeready-workspaces -n openshift-workspaces --type=json -p \ '[{"op": "replace", "path": "/spec/server/dashboardRoute/labels", '\ '"value": "<labels for a dashboard route>"}]'$ oc patch checluster/codeready-workspaces -n openshift-workspaces --type=json -p \ '[{"op": "replace", "path": "/spec/server/dashboardRoute/labels", '\ '"value": "<labels for a dashboard route>"}]'Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc patch checluster/codeready-workspaces -n openshift-workspaces --type=json -p \ '[{"op": "replace", "path": "/spec/auth/identityProviderRoute/labels", '\ '"value": "<labels for a RH-SSO route>"}]'$ oc patch checluster/codeready-workspaces -n openshift-workspaces --type=json -p \ '[{"op": "replace", "path": "/spec/auth/identityProviderRoute/labels", '\ '"value": "<labels for a RH-SSO route>"}]'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 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_LABELS", '\ '"value": "<labels for a workspace routes>"}]'Copy to Clipboard Copied! Toggle word wrap Toggle overflow ドメインを設定するには、以下を行います。
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/cheServerRoute/domain",'\ '"value": "<ingress domain>"}]'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 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/pluginRegistryRoute/domain", '\ '"value": "<ingress domain>"}]'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 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/devfileRegistryRoute/domain", '\ '"value": "<ingress domain>"}]'Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc patch checluster/codeready-workspaces -n openshift-workspaces --type=json -p \ '[{"op": "replace", "path": "/spec/server/dashboardRoute/domain", '\ '"value": "<ingress domain>"}]'$ oc patch checluster/codeready-workspaces -n openshift-workspaces --type=json -p \ '[{"op": "replace", "path": "/spec/server/dashboardRoute/domain", '\ '"value": "<ingress domain>"}]'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 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/auth/identityProviderRoute/domain", '\ '"value": "<ingress domain>"}]'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 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>"}]'$ 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>"}]'Copy to Clipboard Copied! Toggle word wrap Toggle overflow アノテーションを設定するには、以下を行います。
重要オブジェクトを使用してアノテーションを指定します:
{"key1": "value1", "key2" : "value2"}oc patch checluster/codeready-workspaces -n openshift-workspaces --type=json -p \ '[{"op": "replace", "path": "/spec/server/cheServerRoute/annotations",'\ '"value": <annotations for a codeready-workspaces ingress>}]'$ oc patch checluster/codeready-workspaces -n openshift-workspaces --type=json -p \ '[{"op": "replace", "path": "/spec/server/cheServerRoute/annotations",'\ '"value": <annotations for a codeready-workspaces ingress>}]'Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc patch checluster/codeready-workspaces -n openshift-workspaces --type=json -p \ '[{"op": "replace", "path": "/spec/server/pluginRegistryRoute/annotations", '\ '"value": <annotations for a plug-ins registry ingress>}]'$ oc patch checluster/codeready-workspaces -n openshift-workspaces --type=json -p \ '[{"op": "replace", "path": "/spec/server/pluginRegistryRoute/annotations", '\ '"value": <annotations for a plug-ins registry ingress>}]'Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc patch checluster/codeready-workspaces -n openshift-workspaces --type=json -p \ '[{"op": "replace", "path": "/spec/server/devfileRegistryRoute/annotations", '\ '"value": <annotations for a devfile registry ingress>}]'$ oc patch checluster/codeready-workspaces -n openshift-workspaces --type=json -p \ '[{"op": "replace", "path": "/spec/server/devfileRegistryRoute/annotations", '\ '"value": <annotations for a devfile registry ingress>}]'Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc patch checluster/codeready-workspaces -n openshift-workspaces --type=json -p \ '[{"op": "replace", "path": "/spec/server/dashboardRoute/annotations", '\ '"value": <annotations for a dashboard ingress>}]'$ oc patch checluster/codeready-workspaces -n openshift-workspaces --type=json -p \ '[{"op": "replace", "path": "/spec/server/dashboardRoute/annotations", '\ '"value": <annotations for a dashboard ingress>}]'Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc patch checluster/codeready-workspaces -n openshift-workspaces --type=json -p \ '[{"op": "replace", "path": "/spec/auth/identityProviderRoute/annotations", '\ '"value": <annotations for a RH-SSO ingress>}]'$ oc patch checluster/codeready-workspaces -n openshift-workspaces --type=json -p \ '[{"op": "replace", "path": "/spec/auth/identityProviderRoute/annotations", '\ '"value": <annotations for a RH-SSO ingress>}]'Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.12. 自己署名証明書を使用した Git リポジトリーをサポートする CodeReady Workspaces のデプロイ リンクのコピーリンクがクリップボードにコピーされました!
この手順では、自己署名証明書を使用するリポジトリーで Git 操作のサポートのあるデプロイメント用に CodeReady Workspaces を設定する方法を説明します。
前提条件
- Git バージョン 2 以降
手順
自己署名の Git リポジトリーのサポートの設定。
Git サーバーの詳細情報を使用して新規の configMap を作成します。
oc create configmap che-git-self-signed-cert \ --from-file=ca.crt=<path_to_certificate> \ --from-literal=githost=<host:port> -n openshift-workspaces
$ oc create configmap che-git-self-signed-cert \ --from-file=ca.crt=<path_to_certificate> \1 --from-literal=githost=<host:port> -n openshift-workspaces2 Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記-
githostを指定しないと、指定された証明書がすべての HTTPS リポジトリーに使用されます。 -
証明書ファイルは、通常、
.pem、.crt、.ca-bundleなどの Base64 ASCII ファイルとして保存されます。また、これらはバイナリーデータとしてエンコードすることもできます (例:.cer)。証明書ファイルを保持するすべてのSecretsは、バイナリーデータ証明書ではなく、Base64 ASCII 証明書を使用する必要があります。
-
必要なラベルを ConfigMap に追加します。
oc label configmap che-git-self-signed-cert \ app.kubernetes.io/part-of=che.eclipse.org -n openshift-workspaces
$ oc label configmap che-git-self-signed-cert \ app.kubernetes.io/part-of=che.eclipse.org -n openshift-workspacesCopy to Clipboard Copied! Toggle word wrap Toggle overflow Git リポジトリーの自己署名証明書を使用するように CodeReady Workspaces を設定します。
gitSelfSignedCertプロパティーを更新します。これを行うには、以下を実行します。oc patch checluster/codeready-workspaces -n openshift-workspaces --type=json \ -p '[{"op": "replace", "path": "/spec/server/gitSelfSignedCert", \ "value": true}]'$ oc patch checluster/codeready-workspaces -n openshift-workspaces --type=json \ -p '[{"op": "replace", "path": "/spec/server/gitSelfSignedCert", \ "value": true}]'Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
新規ワークスペースを作成および開始します。ワークスペースによって使用されるすべてのコンテナーは、自己署名証明書のあるファイルを含む特殊なボリュームをマウントします。リポジトリーの
.git/configファイルには、Git サーバーホスト (その URL) とhttpセクションの証明書へのパスについての情報が含まれます (git-config に関する Git ドキュメントを参照してください)。以下に例を示します。
[http "https://10.33.177.118:3000"] sslCAInfo = /etc/che/git/cert/ca.crt
[http "https://10.33.177.118:3000"]
sslCAInfo = /etc/che/git/cert/ca.crt
4.13. ストレージクラスを使用した CodeReady Workspaces のインストール リンクのコピーリンクがクリップボードにコピーされました!
設定済みのインフラストラクチャーストレージを使用するように CodeReady Workspaces を設定するには、ストレージクラスを使用して CodeReady Workspaces をインストールします。これは、ユーザーがデフォルト以外のプロビジョナーによって提供される永続ボリュームをバインドする必要がある場合にとくに役立ちます。これを実行するには、ユーザーは CodeReady Workspaces のデータを節約するためにこのストレージをバインドし、そのストレージのパラメーターを設定します。これらのパラメーターは、以下を決定します。
- 特殊なホストパス
- ストレージ容量
- ボリューム mod
- マウントオプション
- ファイルシステム
- アクセスモード
- ストレージタイプ
- その他多数
CodeReady Workspaces には、データの格納に永続ボリュームが必要な 2 つのコンポーネントがあります。
- PostgreSQL データベース。
-
CodeReady Workspaces ワークスペース。CodeReady Workspaces ワークスペースは、ボリューム (例:
/projectsボリューム) を使用してソースコードを保存します。
CodeReady Workspaces ワークスペースのソースコードは、ワークスペースが一時的ではない場合にのみ永続ボリュームに保存されます。
永続ボリューム要求 (PVC) のファクト:
- CodeReady Workspaces はインフラストラクチャーに永続ボリュームを作成しません。
- CodeReady Workspaces は永続ボリューム要求 (PVC) を使用して永続ボリュームをマウントします。
CodeReady Workspaces サーバーは永続ボリューム要求を作成します。
ユーザーは、CodeReady Workspaces PVC でストレージクラス機能を使用するために、CodeReady Workspaces 設定でストレージクラス名を定義します。ストレージクラスを使用すると、ユーザーは追加のストレージパラメーターを使用してインフラストラクチャーストレージを柔軟に設定します。クラス名を使用して、静的にプロビジョニングされた永続ボリュームを CodeReady Workspaces PVC にバインドすることもできます。
手順
CheCluster カスタムリソース定義を使用してストレージクラスを定義します。
ストレージクラス名を定義します。
これを行うには、以下のいずれかの方法を使用します。
server:deployコマンドの引数の使用PostgreSQL PVC のストレージクラス名を指定します。
--postgres-pvc-storage-class-nameフラグを指定してcrwctlserver:deployコマンドを使用します。crwctl server:deploy -p minikube -a operator --postgres-pvc-storage-class-name=postgress-storage
$ crwctl server:deploy -p minikube -a operator --postgres-pvc-storage-class-name=postgress-storageCopy to Clipboard Copied! Toggle word wrap Toggle overflow CodeReady Workspaces ワークスペースのストレージクラス名を指定します。
--workspace-pvc-storage-class-nameフラグを指定してserver:deployコマンドを使用します。crwctl server:deploy -p minikube -a operator --workspace-pvc-storage-class-name=workspace-storage
$ crwctl server:deploy -p minikube -a operator --workspace-pvc-storage-class-name=workspace-storageCopy to Clipboard Copied! Toggle word wrap Toggle overflow CodeReady Workspaces ワークスペースでは、ワークスペースの PVC ストラテジーに応じてストレージクラスの名前の動作が異なります。
カスタムリソース YAML ファイルを使用してストレージクラス名を定義します。
- CodeReady Workspaces インストールに定義されたカスタムリソースで YAML ファイルを作成します。
フィールド
spec#storage#postgresPVCStorageClassNameおよびspec#storage#workspacePVCStorageClassNameを定義します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow カスタムリソースで codeready-workspaces サーバーを起動します。
crwctl server:deploy -p minikube -a operator --che-operator-cr-yaml=/path/to/custom/che/resource/org_v1_che_cr.yaml
$ crwctl server:deploy -p minikube -a operator --che-operator-cr-yaml=/path/to/custom/che/resource/org_v1_che_cr.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
CodeReady Workspaces を、ワークスペースを 1 つ目の永続ボリュームに、PostreSQL データベースを 2 つ目の永続ボリュームに保存するように設定します。
カスタムリソース YAML ファイルを変更します。
-
pvcStrategyをcommonに設定します。 - 単一のプロジェクトでワークスペースを開始するように CodeReady Workspaces を設定します。
-
postgresPVCStorageClassNameおよびworkspacePVCStorageClassNameのストレージクラス名を定義します。 YAML ファイルの例:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
-
カスタムリソースで codeready-workspaces サーバーを起動します。
crwctl server:deploy -p minikube -a operator --che-operator-cr-yaml=/path/to/custom/che/resource/org_v1_che_cr.yaml
$ crwctl server:deploy -p minikube -a operator --che-operator-cr-yaml=/path/to/custom/che/resource/org_v1_che_cr.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
クラス名を使用して静的にプロビジョニングされたボリュームをバインドします。
PostgreSQL データベースの永続ボリュームを定義します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow CodeReady Workspaces ワークスペースの永続ボリュームを定義します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 2 つの永続ボリュームをバインドします。
oc apply -f che-workspace-pv.yaml -f che-postgres-pv.yaml
$ oc apply -f che-workspace-pv.yaml -f che-postgres-pv.yaml
ボリュームの有効なファイルパーミッションを指定する必要があります。これは、ストレージクラスの設定を使用して実行することも、手動で実行することもできます。パーミッションを手動で定義するには、storageClass#mountOptions uid と gid を定義します。PostgreSQL ボリュームには uid=26 と gid=26 が必要です。
4.14. 信頼できない TLS 証明書の CodeReady Workspaces へのインポート リンクのコピーリンクがクリップボードにコピーされました!
CodeReady Workspaces コンポーネントの外部通信は、デフォルトでは TLS で暗号化されます。CodeReady Workspaces コンポーネントと、プロキシー、ソースコードリポジトリー、"RH-SSO Identity Provider" などの外部サービスとの通信では、TLS の使用が必要になる場合があります。これらの通信では、信頼できる認証局が署名する TLS 証明書を使用する必要があります。
CodeReady Workspaces コンポーネントまたは外部サービスで使用される証明書が信頼できない CA によって署名される場合、CodeReady Workspaces インストールで CA 証明書をインポートする必要があるため、すべての CodeReady Workspaces コンポーネントがそれらを信頼できる CA によって署名されているものと見なす必要があります。
この追加が必要になる可能性のある典型的なケースは以下のとおりです。
- 基礎となる OpenShift クラスターが信頼されていない CA によって署名される TLS 証明書を使用する場合
- CodeReady Workspaces サーバーまたはワークスペースコンポーネントが、信頼できない CA で署名された TLS 証明書を使用する RH-SSO や Git サーバーなどの外部サービスに接続する場合
CodeReady Workspaces は、プロジェクトのラベルが付いた ConfigMaps を TLS 証明書のソースとして使用します。ConfigMap には、それぞれ証明書数の乱数を持つ任意の数のキーを指定できます。
クラスターに、クラスター全体のプロキシー設定 を使用して追加されたクラスター全体の信頼される CA 証明書が含まれる場合、CodeReady Workspaces Operator はそれらを検知し、それらをこの ConfigMap に自動的に挿入します。
-
CodeReady Workspaces は、ConfigMap に自動的に
config.openshift.io/inject-trusted-cabundle="true"ラベルを付けます。 -
このアノテーションに基づいて、OpenShift は ConfigMap の
ca-bundle.crtキー内にクラスター全体で信頼される CA 証明書を自動的に挿入します。
一部の CodeReady Workspaces コンポーネントには、エンドポイントを信頼するための完全な証明書チェーンが必要です。クラスターが中間証明書で設定されている場合には、チェーン全体 (自己署名ルートを含む) を CodeReady Workspaces に追加する必要があります。
4.14.1. 新規 CA 証明書の CodeReady Workspaces への追加 リンクのコピーリンクがクリップボードにコピーされました!
次の手順は、すでにインストールおよび実行されているインスタンスと、インストールされるインスタンスに適用されます。
2.5.1 より前の CodeReady Workspaces バージョンを使用している場合は、本書 で追加の TLS 証明書を適用する方法について参照してください。
前提条件
-
ocツールが利用できる。 - CodeReady Workspaces の namespace が存在する。
手順
インポートする必要のある証明書をローカルファイルシステムに保存します。
Important-
証明書ファイルは、通常、
.pem、.crt、.ca-bundleなどの Base64 ASCII ファイルとして保存されます。ただし、それらにはバイナリーエンコード (例:.cerファイル) を使用することもできます。証明書ファイルを保持するすべてのシークレットでは、バイナリーでエンコードされる証明書ではなく、Base64 ASCII 証明書を使用する必要があります。 CodeReady Workspaces はすでに予約済みのファイル名を使用して証明書を ConfigMap に自動的に挿入するため、以下の予約済みのファイル名を使用して証明書を保存しないようにしてください。
-
ca-bundle.crt -
ca.crt
-
-
証明書ファイルは、通常、
必要な TLS 証明書で新規 ConfigMap を作成します。
oc create configmap custom-certs --from-file=<bundle-file-path> -n=openshift-workspaces
$ oc create configmap custom-certs --from-file=<bundle-file-path> -n=openshift-workspacesCopy to Clipboard Copied! Toggle word wrap Toggle overflow 複数のバンドルを適用するには、別の
-from-file=<bundle-file-path>フラグを追加します。それ以外の場合は別の ConfigMap を作成します。app.kubernetes.io/part-of=che.eclipse.orgとapp.kubernetes.io/component=ca-bundleの両方のラベルを使用して作成した ConfigMap にラベルを付けます。oc label configmap custom-certs app.kubernetes.io/part-of=che.eclipse.org app.kubernetes.io/component=ca-bundle -n <crw-namespace-name>
$ oc label configmap custom-certs app.kubernetes.io/part-of=che.eclipse.org app.kubernetes.io/component=ca-bundle -n <crw-namespace-name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow - CodeReady Workspaces がデプロイされていない場合はデプロイします。それ以外の場合は、CodeReady Workspaces コンポーネントのロールアウトが完了するまで待機します。実行中のワークスペースがある場合は、変更を有効にするためにそれらを再起動する必要があります。
4.14.2. CodeReady Workspaces のインストールレベルでの検証 リンクのコピーリンクがクリップボードにコピーされました!
証明書の追加後に、予想通りに機能しない場合は、以下の一覧を確認してください。
CodeReady Workspaces Operator デプロイメントの場合、
CheClusterに適切なコンテンツと共にラベルが付けられた ConfigMap が含まれる namespace。oc get cm --selector=app.kubernetes.io/component=ca-bundle,app.kubernetes.io/part-of=che.eclipse.org -n openshift-workspaces
$ oc get cm --selector=app.kubernetes.io/component=ca-bundle,app.kubernetes.io/part-of=che.eclipse.org -n openshift-workspacesCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下を実行して ConfigMap の内容を確認します。
{orch-cli} get cm __<name>__ -n {prod-namespace} -o yaml
$ {orch-cli} get cm __<name>__ -n {prod-namespace} -o yaml
CodeReady Workspaces Pod ボリューム一覧には、
ca-certs-mergedConfigMap をデータソースとして使用するボリュームが含まれます。CodeReady Workspaces Pod のボリュームの一覧を取得するには、以下を実行します。oc get pod -o json <codeready-workspaces-pod-name> -n openshift-workspaces | jq .spec.volumes
$ oc get pod -o json <codeready-workspaces-pod-name> -n openshift-workspaces | jq .spec.volumesCopy to Clipboard Copied! Toggle word wrap Toggle overflow CodeReady Workspaces は、証明書を CodeReady Workspaces サーバーコンテナーのフォルダー
/public-certs/にマウントします。このコマンドは、そのフォルダー内のファイルの一覧を返します。oc exec -t <codeready-workspaces-pod-name> -n openshift-workspaces -- ls /public-certs/
$ oc exec -t <codeready-workspaces-pod-name> -n openshift-workspaces -- ls /public-certs/Copy to Clipboard Copied! Toggle word wrap Toggle overflow CodeReady Workspaces サーバーログに、設定された CodeReady Workspaces 証明書を含む、Java トラストストアに追加されたすべての証明書についての行があります。
oc logs <codeready-workspaces-pod-name> -n openshift-workspaces
$ oc logs <codeready-workspaces-pod-name> -n openshift-workspacesCopy to Clipboard Copied! Toggle word wrap Toggle overflow CodeReady Workspaces サーバーの Java トラストストアに証明書が含まれる。証明書の SHA1 フィンガープリントは、以下のコマンドで返されるトラストストアに含まれる証明書の SHA1 の一覧にあります。
oc exec -t <codeready-workspaces-pod-name> -n openshift-workspaces -- keytool -list -keystore /home/jboss/cacerts Your keystore contains 141 entries: + (...)
$ oc exec -t <codeready-workspaces-pod-name> -n openshift-workspaces -- keytool -list -keystore /home/jboss/cacerts Your keystore contains 141 entries: + (...)Copy to Clipboard Copied! Toggle word wrap Toggle overflow ローカルファイルシステムの証明書の SHA1 ハッシュを取得するには、以下のコマンドを実行します。
openssl x509 -in <certificate-file-path> -fingerprint -noout SHA1 Fingerprint=3F:DA:BF:E7:A7:A7:90:62:CA:CF:C7:55:0E:1D:7D:05:16:7D:45:60
$ openssl x509 -in <certificate-file-path> -fingerprint -noout SHA1 Fingerprint=3F:DA:BF:E7:A7:A7:90:62:CA:CF:C7:55:0E:1D:7D:05:16:7D:45:60Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.14.3. ワークスペースレベルでの検証 リンクのコピーリンクがクリップボードにコピーされました!
- ワークスペースを起動し、これが作成されたプロジェクト名を取得し、ワークスペースが開始するまで待機します。
以下のコマンドを使用してワークスペース Pod の名前を取得します。
oc get pods -o=jsonpath='{.items[0].metadata.name}' -n <workspace namespace> | grep '^workspace.*'$ oc get pods -o=jsonpath='{.items[0].metadata.name}' -n <workspace namespace> | grep '^workspace.*'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のコマンドを使用して、ワークスペース Pod の Che-Theia IDE コンテナーの名前を取得します。
oc get -o json pod <workspace pod name> -n <workspace namespace> | \ jq -r '.spec.containers[] | select(.name | startswith("theia-ide")).name'$ oc get -o json pod <workspace pod name> -n <workspace namespace> | \ jq -r '.spec.containers[] | select(.name | startswith("theia-ide")).name'Copy to Clipboard Copied! Toggle word wrap Toggle overflow ワークスペース namespace 内に作成されている必要がある
ca-certsConfigMap を検索します。oc get cm ca-certs <workspace namespace>
$ oc get cm ca-certs <workspace namespace>Copy to Clipboard Copied! Toggle word wrap Toggle overflow ca-certsConfigMap のエントリーに事前に追加した追加エントリーがすべて含まれていることを確認します。さらに、予約されているca-bundle.crtエントリーが含まれる場合があります。oc get cm ca-certs -n <workspace namespace> -o json | jq -r '.data | keys[]' ca-bundle.crt source-config-map-name.data-key.crt
$ oc get cm ca-certs -n <workspace namespace> -o json | jq -r '.data | keys[]' ca-bundle.crt source-config-map-name.data-key.crtCopy to Clipboard Copied! Toggle word wrap Toggle overflow ca-certsConfigMap がワークスペース Pod のボリュームとして追加されていることを確認します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow ボリュームがコンテナー (とくに Che-Theia IDE コンテナー) にマウントされていることを確認します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Che-Theia IDE コンテナーの
/public-certsフォルダーを検査し、その内容がca-certsConfigMap のエントリーの一覧と一致することを確認します。oc exec <workspace pod name> -c <theia ide container name> -n <workspace namespace> -- ls /public-certs ca-bundle.crt source-config-map-name.data-key.crt
$ oc exec <workspace pod name> -c <theia ide container name> -n <workspace namespace> -- ls /public-certs ca-bundle.crt source-config-map-name.data-key.crtCopy to Clipboard Copied! Toggle word wrap Toggle overflow
4.15. CodeReady Workspaces コンポーネント間の通信の設定 リンクのコピーリンクがクリップボードにコピーされました!
CodeReady Workspaces コンポーネントが内部ネットワークまたは外部 OpenShift Route のどちらを使用して通信するかを選択できます。
デフォルトでは、CodeReady Workspaces コンポーネントは内部ネットワークを使用して通信します。CodeReady Workspaces コンポーネントは、内部 OpenShift ネットワークで公開されている内部サービス名を使用します。
管理者は、以下の状況で、内部サービス名の使用を無効にして、CodeReady Workspaces コンポーネントが外部 OpenShift Route を使用するように強制します。
- NetworkPolicies が名前空間間の通信を制限するクラスターに CodeReady Workspaces をデプロイする。
- マルチテナントネットワークプラグインを使用して CodeReady Workspaces をデプロイする。
外部 OpenShift Route を使用すると、プロキシー、証明書、ファイアウォールを使用するため、トラフィックが遅くなり、問題が発生する可能性があります。
前提条件
- OpenShift で実行される CodeReady Workspaces のインスタンス。
手順
CheCluster Custom Resource サーバーの設定で、
disableInternalClusterSVCNamesプロパティーに対して、<property-value>を次のように設定します。true外部 OpenShift Route を使用します。
false内部 OpenShift DNS 名を使用します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証手順
デフォルトプロジェクトとして CodeReady Workspaces を指定します。
oc project openshift-workspaces
$ oc project openshift-workspacesCopy to Clipboard Copied! Toggle word wrap Toggle overflow ConfigMap プロパティーを調べて、CodeReady Workspaces が使用する通信方法を決定します。
oc get configmap che -o \ jsonpath='{.data.CHE_KEYCLOAK_AUTH__INTERNAL__SERVER__URL}' oc get configmap che -o \ jsonpath='{.data.CHE_WORKSPACE_PLUGIN__REGISTRY__INTERNAL__URL}'$ oc get configmap che -o \ jsonpath='{.data.CHE_KEYCLOAK_AUTH__INTERNAL__SERVER__URL}' $ oc get configmap che -o \ jsonpath='{.data.CHE_WORKSPACE_PLUGIN__REGISTRY__INTERNAL__URL}'Copy to Clipboard Copied! Toggle word wrap Toggle overflow CodeReady Workspaces コンポーネントが内部で通信する場合、出力は次のようになります。
http://keycloak.eclipse-che.svc:8080/auth http://plugin-registry.eclipse-che.svc:8080/v3
http://keycloak.eclipse-che.svc:8080/auth http://plugin-registry.eclipse-che.svc:8080/v3Copy to Clipboard Copied! Toggle word wrap Toggle overflow - それ以外の場合、コンポーネントが外部と通信する場合、出力は空です。
4.16. Red Hat CodeReady Workspaces ログインページの RH-SSO codeready-workspaces-username-readonly テーマの設定 リンクのコピーリンクがクリップボードにコピーされました!
以下の手順は、OpenShift OAuth サービスが有効にされているすべての CodeReady Workspaces インスタンスに関連します。
事前に作成した namespace のユーザーが Red Hat CodeReady Workspaces ダッシュボードに初めてログインする際に、ユーザーがアカウント情報を更新できるページが表示されます。ユーザー名を変更することはできますが、OpenShift ユーザー名に一致しないユーザー名を選択すると、ユーザーのワークスペースは実行されません。これは、CodeReady Workspaces が存在しない namespace、ユーザーの OpenShift ユーザー名から派生する名前の使用を試行し、ワークスペースの作成を試行することによって生じます。これを防ぐには、RH-SSO にログインし、テーマの設定を変更します。
4.16.1. RH-SSO へのログイン リンクのコピーリンクがクリップボードにコピーされました!
以下の手順では、OpenShift プラットフォームのルートとして機能する RH-SSO にログインする方法を説明します。RH-SSO にログインするには、ユーザーは RH-SSO URL とユーザーの認証情報を最初に取得する必要があります。
前提条件
-
ocツールがインストールされている。 -
ocツールを使用して OpenShift クラスターにログインしている。
手順
ユーザーの RH-SSO ログインを取得します。
oc get secret che-identity-secret -n openshift-workspaces -o json | jq -r '.data.user' | base64 -d
oc get secret che-identity-secret -n openshift-workspaces -o json | jq -r '.data.user' | base64 -dCopy to Clipboard Copied! Toggle word wrap Toggle overflow ユーザーの RH-SSO パスワードを取得します。
oc get secret che-identity-secret -n openshift-workspaces -o json | jq -r '.data.password' | base64 -d
oc get secret che-identity-secret -n openshift-workspaces -o json | jq -r '.data.password' | base64 -dCopy to Clipboard Copied! Toggle word wrap Toggle overflow RH-SSO URL を取得します。
oc get ingress -n openshift-workspaces -l app=che,component=keycloak -o 'custom-columns=URL:.spec.rules[0].host' --no-headers
oc get ingress -n openshift-workspaces -l app=che,component=keycloak -o 'custom-columns=URL:.spec.rules[0].host' --no-headersCopy to Clipboard Copied! Toggle word wrap Toggle overflow - ブラウザーで URL を開き、取得したログインとパスワードを使用して RH-SSO にログインします。
4.16.2. RH-SSO codeready-workspaces-username-readonly テーマの設定 リンクのコピーリンクがクリップボードにコピーされました!
前提条件
- OpenShift で実行される CodeReady Workspaces のインスタンス。
- RH-SSO サービスにログインしている。
手順
ユーザー名を変更したら、Login Theme オプションを readonly に設定します。
左側のメイン Configure メニューで、Realm Settings を選択します。
- Themes タブに移動します。
-
Login Theme フィールドで
codeready-workspaces-username-readonlyオプションを選択し、 ボタンをクリックして変更を適用します。
4.17. シークレットまたは ConfigMap をファイルまたは環境変数として CodeReady Workspaces コンテナーにマウントする リンクのコピーリンクがクリップボードにコピーされました!
シークレットは、以下のような機密データを格納する OpenShift オブジェクトです。
- ユーザー名
- パスワード
- 認証トークン
(暗号化された形式)。
ユーザーは、以下のように、機密データを含む OpenShift シークレットまたは CodeReady Workspaces 管理コンテナーの設定を含む ConfigMap をマウントできます。
- ファイル
- 環境変数
マウントプロセスでは、標準の OpenShift マウントメカニズムを使用しますが、追加のアノテーションとラベル付けが必要です。
4.17.1. シークレットまたは ConfigMap をファイルとして CodeReady Workspaces コンテナーにマウントする リンクのコピーリンクがクリップボードにコピーされました!
前提条件
- Red Hat CodeReady Workspaces の実行中のインスタンス。Red Hat CodeReady Workspaces のインスタンスをインストールするには、CodeReady Workspaces のインストール について参照してください。
手順
CodeReady Workspaces ワークスペースがデプロイされる OpenShift プロジェクトで新規の OpenShift シークレットまたは ConfigMap を作成します。作成される予定のオブジェクトのラベルは、ラベルのセットと一致する必要があります。
-
app.kubernetes.io/part-of: che.eclipse.org -
app.kubernetes.io/component: <DEPLOYMENT_NAME>-<OBJECT_KIND> <DEPLOYMENT_NAME>には、以下のデプロイメントのいずれかを使用します。-
postgres -
keycloak -
devfile-registry -
plugin-registry codereadyおよび
-
<jasper_KIND>は以下のいずれかになります。secretまたは
-
configmap
-
例4.3 以下に例を示します。
または
アノテーションは、指定されるオブジェクトがファイルとしてマウントされていることを示す必要があります。
アノテーション値を設定します。
-
che.eclipse.org/mount-as: file- オブジェクトをファイルとしてマウントするように指定します。 -
che.eclipse.org/mount-path: <TARGET_PATH>- 必要なマウントパスを指定します。
-
例4.4 以下に例を示します。
または
OpenShift オブジェクトには複数の項目が含まれる可能性があり、その名前はコンテナーにマウントされる必要なファイル名と一致する必要があります。
例4.5 以下に例を示します。
または
これにより、ca.crt という名前のファイルが CodeReady Workspaces コンテナーの /data パスにマウントされます。
CodeReady Workspaces コンテナーの変更を表示できるようにするには、オブジェクトを完全に再作成します。
4.17.2. シークレットまたは ConfigMap を環境変数として CodeReady Workspaces コンテナーにマウントする リンクのコピーリンクがクリップボードにコピーされました!
前提条件
- Red Hat CodeReady Workspaces の実行中のインスタンス。Red Hat CodeReady Workspaces のインスタンスをインストールするには、CodeReady Workspaces のインストール について参照してください。
手順
CodeReady Workspaces ワークスペースがデプロイされる OpenShift プロジェクトで新規の OpenShift シークレットまたは ConfigMap を作成します。作成される予定のオブジェクトのラベルは、ラベルのセットと一致する必要があります。
-
app.kubernetes.io/part-of: che.eclipse.org -
app.kubernetes.io/component: <DEPLOYMENT_NAME>-<OBJECT_KIND> <DEPLOYMENT_NAME>には、以下のデプロイメントのいずれかを使用します。-
postgres -
keycloak -
devfile-registry -
plugin-registry codereadyおよび
-
<jasper_KIND>は以下のいずれかになります。secretまたは
-
configmap
-
例4.6 以下に例を示します。
または
アノテーションは、指定されるオブジェクトが環境変数としてマウントされていることを示す必要があります。
アノテーション値を設定します。
-
che.eclipse.org/mount-as: env-: オブジェクトを環境変数としてマウントするように指定します。 -
che.eclipse.org/env-name: <FOOO_ENV>: オブジェクトキー値のマウントに必要な環境変数名を指定します。
-
例4.7 以下に例を示します。
または
これにより、2 つの環境変数が
-
FOO_ENV -
myvalue
CodeReady Workspaces コンテナーにプロビジョニングされます。
オブジェクトに複数のデータ項目がある場合、環境変数の名前は以下のようにそれぞれのデータキーについて指定される必要があります。
例4.8 以下に例を示します。
または
これにより、2 つの環境変数が
-
FOO_ENV -
OTHER_ENV
CodeReady Workspaces コンテナーにプロビジョニングされます。
OpenShift シークレットのアノテーション名の最大長さは 63 文字です。ここで、9 文字は、/ で終わる接頭辞用に予約されます。これは、オブジェクトに使用できるキーの最大長さの制限として機能します。
CodeReady Workspaces コンテナーの変更を表示できるようにするには、オブジェクトを完全に再作成します。
4.18. Dev Workspace オペレーターの有効化 リンクのコピーリンクがクリップボードにコピーされました!
この手順では、Dev Workspace オペレーターを有効にして Devfile v2 ファイル形式をサポートし、既存のインスタンスやインストールを行う方法を説明します。
前提条件
-
ocおよびcrwctlツールが利用できる。
手順
新規の OperatorHub インストールの場合:
- OpenShift Container Platform を使用して Red Hat CodeReady Workspaces クラスターを入力し、CheCluster カスタムリソース (CR) を作成します。Red Hat CodeReady Workspaces Operator のインスタンスの作成 を参照してください。
以下の値を codeready-workspaces カスタムリソース (CR) に設定します。
spec: devWorkspace: enable: truespec: devWorkspace: enable: trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow
新規の
crwctlインストールの場合は、以下のようになります。以下を使用して
crwctlインストールを設定します。crwctl server:deploy --workspace-engine=dev-workspace ...
$ crwctl server:deploy --workspace-engine=dev-workspace ...Copy to Clipboard Copied! Toggle word wrap Toggle overflow
既存の CodeReady Workspaces インストールの場合:
ocツールを使用してcodeready-workspacesCR を更新します。oc patch checluster/codeready-workspaces -n openshift-workspaces --type=json -p \ '[{"op": "replace", "path": "/spec/devWorkspace/enable", "value": true}]'$ oc patch checluster/codeready-workspaces -n openshift-workspaces --type=json -p \ '[{"op": "replace", "path": "/spec/devWorkspace/enable", "value": true}]'Copy to Clipboard Copied! Toggle word wrap Toggle overflow
関連情報
本章のインストール方法は、3章CodeReady Workspaces のインストール を参照してください。
第5章 CodeReady Workspaces のアップグレード リンクのコピーリンクがクリップボードにコピーされました!
本章では、CodeReady Workspaces インスタンスをバージョン 2.14 から CodeReady Workspaces 2.15 にアップグレードする方法を説明します。
CodeReady Workspaces インスタンスのインストールするために使用する方法により、アップグレードする方法が決まります。
CodeReady Workspaces のアップグレードはロールバックできます。
5.1. OperatorHub を使用した CodeReady Workspaces のアップグレード リンクのコピーリンクがクリップボードにコピーされました!
このセクションでは、OpenShift Web コンソールの OperatorHub から Operator を使用して、以前のマイナーバージョンからアップグレードする方法を説明します。
OperatorHub は、Automatic および Manual のアップグレード戦略をサポートしています。Automatic::アップグレードプロセスは、Operator の新しいバージョンが公開されたときに開始されます。Manual::更新は、Operator の新規バージョンが公開されるたびに手動で承認される必要があります。
5.1.1. OperatorHub での CodeReady Workspaces の承認ストラテジーの指定 リンクのコピーリンクがクリップボードにコピーされました!
前提条件
- OpenShift インスタンスの管理者アカウント。
- OperatorHub を使用してインストールされた CodeReady Workspaces 2.14 以前のインスタンス。
手順
- OpenShift Web コンソールを開きます。
- Operators → Installed Operators ページに移動します。
- インストールされた Operator の一覧で Red Hat CodeReady Workspaces をクリックします。
- Subscription タブに移動します。
承認ストラテジーを
AutomaticまたはManualに設定します。
5.1.2. OperatorHub での CodeReady Workspaces の手動によるアップグレード リンクのコピーリンクがクリップボードにコピーされました!
OperatorHub は Operator を共有するためのアセンブリーポイントです。OperatorHub はアプリケーションのデプロイおよび更新に役立ちます。以下のセクションでは、OperatorHub および Manual 承認ストラテジーを使用して CodeReady Workspaces をアップグレードするプロセスを説明します。Manual 承認ストラテジーを使用して、すべてのリリースで Operator の自動更新を防ぎます。
前提条件
- OpenShift インスタンスの管理者アカウント。
- OperatorHub を使用してインストールされた CodeReady Workspaces 2.14 以前のインスタンス。
-
サブスクリプションの承認ストラテジーは
Manualになります。
手順
- OpenShift Web コンソールを開きます。
- Operators → Installed Operators ページに移動します。
- インストールされた Operator の一覧で Red Hat CodeReady Workspaces をクリックします。
- Subscription タブに移動します。
- Upgrade Status の横にある、承認が必要なアップグレードを検査します。予想されるメッセージは 1 requires approval です。
- 1 requires approval をクリックします。
- Preview Install Plan をクリックします。
- アップグレードに使用できるリソースを確認し、Approve をクリックします。
検証手順
- Operators → Installed Operators ページに移動します。
- アップグレードの進捗を監視します。完了時に、ステータスは Succeeded および Up to date に変更されます。2.15 のバージョン番号がページの最後に表示されます。
関連情報
- OpenShift ドキュメントの インストールされた Operator のアップグレード についてのセクション。
5.2. CLI 管理ツールを使用した CodeReady Workspaces のアップグレード リンクのコピーリンクがクリップボードにコピーされました!
本セクションでは、CLI 管理ツールを使用して以前のマイナーバージョンからアップグレードする方法を説明します。
前提条件
- OpenShift の管理者アカウント。
-
以前のマイナーバージョンの Red Hat CodeReady Workspaces の実行中のインスタンス。これは、OpenShift の同じインスタンスで CLI 管理ツールを使用して
<openshift-workspaces>プロジェクトにインストールされています。 -
crwctlが利用可能で、更新されている。「crwctl CLI 管理ツールのインストール」 を参照してください。
手順
- 実行中の全 CodeReady Workspaces 2.14 ワークスペースに対する変更を Git リポジトリーに保存し、プッシュします。
- CodeReady Workspaces 2.14 インスタンスのすべてのワークスペースをシャットダウンします。
CodeReady Workspaces をアップグレードします。
crwctl server:update -n openshift-workspaces
$ crwctl server:update -n openshift-workspacesCopy to Clipboard Copied! Toggle word wrap Toggle overflow
低速なシステムまたはインターネット接続の場合は、--k8spodwaittimeout=1800000 フラグオプションを crwctl server:update コマンドに追加し、Pod のタイムアウト期間を 1800000 ms 以上に拡張します。
検証手順
- CodeReady Workspaces インスタンスに移動します。
- 2.15 のバージョン番号がページ下部に表示されます。
5.3. 制限された環境での CLI 管理ツールを使用した CodeReady Workspaces のアップグレード リンクのコピーリンクがクリップボードにコピーされました!
本セクションでは、制限された環境で CLI 管理ツールを使用して Red Hat CodeReady Workspaces をアップグレードする方法を説明します。アップグレードパスは、CodeReady Workspaces バージョン 2.14 からバージョン 2.15 へのマイナーバージョンの更新をサポートします。
前提条件
- OpenShift インスタンスの管理者アカウント。
-
<openshift-workspaces>プロジェクトの crwctl--installer operatorの方法を使用し、CLI 管理ツールでインストールされた Red Hat CodeReady Workspaces の実行中のインスタンスバージョン 2.14。「制限された環境での CodeReady Workspaces のインストール」 を参照してください。 -
crwctl2.15 管理ツールが利用できる。「crwctl CLI 管理ツールのインストール」 を参照してください。
5.3.1. 制限された環境でのネットワーク接続について リンクのコピーリンクがクリップボードにコピーされました!
CodeReady Workspaces では、CodeReady Workspaces 用に作成された各 OpenShift Route が OpenShift クラスター内からアクセスできる必要があります。これらの CodeReady Workspaces コンポーネントには OpenShift Route(codeready-workspaces-server, keycloak, devfile-registry, plugin-registry) があります。
環境のネットワークトポロジーを考慮して、これを実行する最善の方法を判断してください。
例5.1 公開インターネットから切断された、会社または組織が所有するネットワーク
ネットワーク管理者は、クラスターからのトラフィックを OpenShift Route ホスト名にルーティングできるようにする必要があります。
例5.2 クラウドプロバイダーのプライベートサブネットワーク
トラフィックがノードから出て、外部に表示されるロードバランサーに到達できるようにするプロキシー設定を作成します。
5.3.2. オフラインレジストリーイメージのビルド リンクのコピーリンクがクリップボードにコピーされました!
5.3.2.1. オフラインの devfile レジストリーイメージのビルド リンクのコピーリンクがクリップボードにコピーされました!
本セクションでは、オフラインの devfile レジストリーイメージをビルドする方法を説明します。外部インターネットのリソースを使用せずにワークスペースを起動するには、このイメージをビルドする必要があります。このイメージには、devfile で zip ファイルとして参照されるすべてのサンプルプロジェクトが含まれます。
手順
devfile レジストリーリポジトリーのクローンを作成し、デプロイするバージョンをチェックアウトします。
git clone git@github.com:redhat-developer/codeready-workspaces.git cd codeready-workspaces git checkout crw-2.15-rhel-8
$ git clone git@github.com:redhat-developer/codeready-workspaces.git $ cd codeready-workspaces $ git checkout crw-2.15-rhel-8Copy to Clipboard Copied! Toggle word wrap Toggle overflow オフラインの devfile レジストリーイメージをビルドします。
cd dependencies/che-devfile-registry ./build.sh --organization <my-org> \ --registry <my-registry> \ --tag <my-tag> \ --offline$ cd dependencies/che-devfile-registry $ ./build.sh --organization <my-org> \ --registry <my-registry> \ --tag <my-tag> \ --offlineCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注記build.shスクリプトの詳細なオプションを表示するには--helpパラメーターを使用します。
5.3.2.2. オフラインプラグインレジストリーイメージのビルド リンクのコピーリンクがクリップボードにコピーされました!
本セクションでは、オフラインのプラグインレジストリーイメージをビルドする方法を説明します。外部インターネットのリソースを使用せずにワークスペースを起動するには、このイメージをビルドする必要があります。イメージには、プラグインのメタデータとすべてのプラグインまたは拡張アーティファクトが含まれます。
前提条件
- Node.js 12.x
- yarn の実行中のバージョン。参照: Installing Yarn.
-
./node_modules/.binがPATH環境変数にある。 - podman または docker の実行中のインストール。
手順
プラグインレジストリーリポジトリーのクローンを作成し、デプロイするバージョンをチェックアウトします。
git clone git@github.com:redhat-developer/codeready-workspaces.git cd codeready-workspaces git checkout crw-2.15-rhel-8
$ git clone git@github.com:redhat-developer/codeready-workspaces.git $ cd codeready-workspaces $ git checkout crw-2.15-rhel-8Copy to Clipboard Copied! Toggle word wrap Toggle overflow オフラインプラグインレジストリーイメージをビルドします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記build.shスクリプトの詳細なオプションを表示するには--helpパラメーターを使用します。
5.3.3. プライベートレジストリーの準備 リンクのコピーリンクがクリップボードにコピーされました!
前提条件
-
ocツールが利用できる。 -
skopeoツール (バージョン 0.1.40 以降) が利用できる。 -
podmanツールが利用できる。 - OpenShift クラスターからアクセスできるイメージ、および V2 イメージマニフェスト (スキーマバージョン 2) フォーマットのサポート。インターネットへのアクセスが一時的に可能な場所から、これにプッシュできることを確認します。
|
| レジストリー、組織、およびダイジェストなどのソースイメージの詳細な組み合わせ (coordinate)。 |
|
| ターゲットコンテナーイメージレジストリーのホスト名およびポート。 |
|
| ターゲットのコンテナーイメージレジストリー内の組織 |
|
| ターゲットのコンテナーイメージレジストリーのイメージ名とダイジェスト。 |
|
| ターゲットのコンテナーイメージレジストリーのユーザー名。 |
|
| ターゲットのコンテナーイメージレジストリーのユーザーパスワード。 |
手順
内部イメージレジストリーにログインします。
podman login --username <user> --password <password> <target-registry>
$ podman login --username <user> --password <password> <target-registry>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記内部レジストリーへのプッシュを試行する際に
x509: certificate signed by unknown authorityなどのエラーが発生した場合には、以下のいずれかの回避策を試してください。-
OpenShift クラスターの証明書を
/etc/containers/certs.d/<target-registry>に追加します。 -
/etc/containers/registries.confにある Podman 設定ファイルに以下の行を追加して、レジストリーを非セキュアなレジストリーとして追加する。
[registries.insecure] registries = ['<target-registry>']
[registries.insecure] registries = ['<target-registry>']Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
OpenShift クラスターの証明書を
ダイジェストを変更せずにイメージをコピーします。以下の表のすべてのイメージに対して、この手順を繰り返します。
skopeo copy --all docker://<source-image> docker://<target-registry>/<target-organization>/<target-image>
$ skopeo copy --all docker://<source-image> docker://<target-registry>/<target-organization>/<target-image>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記Expand 表5.2 名前に含まれる接頭辞またはキーワードからの container-images の使用について 使用 接頭辞またはキーワード Essential
stacks-やplugin-ではありませんWorkspaces
stacks-,plugin-Expand 表5.3 プライベートレジストリーでコピーするイメージ <source-image> <target-image> registry.redhat.io/codeready-workspaces/backup-rhel8@sha256:6b636d6bba6c509756803c4186960ed69adfa2eae42dde5af48b67c6e0794915backup-rhel8@sha256:6b636d6bba6c509756803c4186960ed69adfa2eae42dde5af48b67c6e0794915registry.redhat.io/codeready-workspaces/configbump-rhel8@sha256:15574551ec79aa8cd9e0eea3d379fc7a77a4e16cc92f937b4a89c6f9a6f2ce40configbump-rhel8@sha256:15574551ec79aa8cd9e0eea3d379fc7a77a4e16cc92f937b4a89c6f9a6f2ce40registry.redhat.io/codeready-workspaces/crw-2-rhel8-operator@sha256:1c8b06e457ba008f86e5fefc82013acdb4639317cde809e926931d202a194a17crw-2-rhel8-operator@sha256:1c8b06e457ba008f86e5fefc82013acdb4639317cde809e926931d202a194a17registry.redhat.io/codeready-workspaces/dashboard-rhel8@sha256:e46636f0c66221d9a01506b114e18f3d3afe61da99bf224e71cf4051235e51acdashboard-rhel8@sha256:e46636f0c66221d9a01506b114e18f3d3afe61da99bf224e71cf4051235e51acregistry.redhat.io/codeready-workspaces/devfileregistry-rhel8@sha256:fdcd72766757f08486a6e4dbf3a24bf084aefdb2e86971c440048aec0315d7e8devfileregistry-rhel8@sha256:fdcd72766757f08486a6e4dbf3a24bf084aefdb2e86971c440048aec0315d7e8registry.redhat.io/codeready-workspaces/idea-rhel8@sha256:eff6db1da4c9743ff77b91acf08378bce6a652826b3b252512e63f767de07785idea-rhel8@sha256:eff6db1da4c9743ff77b91acf08378bce6a652826b3b252512e63f767de07785registry.redhat.io/codeready-workspaces/jwtproxy-rhel8@sha256:6176e28c4c02f0a40f8192088ccb505ce5722258bcaab0addff9bafa310c1ca4jwtproxy-rhel8@sha256:6176e28c4c02f0a40f8192088ccb505ce5722258bcaab0addff9bafa310c1ca4registry.redhat.io/codeready-workspaces/machineexec-rhel8@sha256:dc0e082c9522158cb12345b1d184c3803d8a4a63a7189940e853e51557e43acfmachineexec-rhel8@sha256:dc0e082c9522158cb12345b1d184c3803d8a4a63a7189940e853e51557e43acfregistry.redhat.io/codeready-workspaces/plugin-java11-rhel8@sha256:315273182e1f4dc884365fc3330ada3937b40369f3faf7762847ec433c3ac537plugin-java11-rhel8@sha256:315273182e1f4dc884365fc3330ada3937b40369f3faf7762847ec433c3ac537registry.redhat.io/codeready-workspaces/plugin-java8-rhel8@sha256:8cb1e495825051b83cf903bb317e55823a6f57b3bad92e9407dc8fa59c24c0ccplugin-java8-rhel8@sha256:8cb1e495825051b83cf903bb317e55823a6f57b3bad92e9407dc8fa59c24c0ccregistry.redhat.io/codeready-workspaces/plugin-kubernetes-rhel8@sha256:75fe8823dea867489b68169b764dc8b0b03290a456e9bfec5fe0cc413eec7355plugin-kubernetes-rhel8@sha256:75fe8823dea867489b68169b764dc8b0b03290a456e9bfec5fe0cc413eec7355registry.redhat.io/codeready-workspaces/plugin-openshift-rhel8@sha256:d7603582f7ace76283641809b0c61dbcb78621735e536b789428e5a910d35af3plugin-openshift-rhel8@sha256:d7603582f7ace76283641809b0c61dbcb78621735e536b789428e5a910d35af3registry.redhat.io/codeready-workspaces/pluginbroker-artifacts-rhel8@sha256:6d13003539fcbda201065eae2e66dc67fed007ba3ba41fb3b8ec841650c52bc2pluginbroker-artifacts-rhel8@sha256:6d13003539fcbda201065eae2e66dc67fed007ba3ba41fb3b8ec841650c52bc2registry.redhat.io/codeready-workspaces/pluginbroker-metadata-rhel8@sha256:de8ede01ce5d3b06ae8b1866bb482bb937f020f7dee5dfb20b041f02c1e63f68pluginbroker-metadata-rhel8@sha256:de8ede01ce5d3b06ae8b1866bb482bb937f020f7dee5dfb20b041f02c1e63f68registry.redhat.io/codeready-workspaces/pluginregistry-rhel8@sha256:cbb82d5bcea22d6d65644c2a4c88ce1e3a082e8a696217d6a104b67daa60384epluginregistry-rhel8@sha256:cbb82d5bcea22d6d65644c2a4c88ce1e3a082e8a696217d6a104b67daa60384eregistry.redhat.io/codeready-workspaces/server-rhel8@sha256:e1694549ca2af22a1d1780cc7d92bb0829a411f74377f825eab3e0fba7c020d9server-rhel8@sha256:e1694549ca2af22a1d1780cc7d92bb0829a411f74377f825eab3e0fba7c020d9registry.redhat.io/codeready-workspaces/stacks-cpp-rhel8@sha256:c2f38140f52112b2a7688c2a179afcaa930ad6216925eb322cfd9634a71cfc13stacks-cpp-rhel8@sha256:c2f38140f52112b2a7688c2a179afcaa930ad6216925eb322cfd9634a71cfc13registry.redhat.io/codeready-workspaces/stacks-dotnet-rhel8@sha256:f48fe1caa5be1ae91140681bee159ca8b11dc687fa50fbf9dc5644f4852bf5c8stacks-dotnet-rhel8@sha256:f48fe1caa5be1ae91140681bee159ca8b11dc687fa50fbf9dc5644f4852bf5c8registry.redhat.io/codeready-workspaces/stacks-golang-rhel8@sha256:db76d04752973223e2c0de9401ebf06b84263e1bb6d29f1455daaff0cb39c1b3stacks-golang-rhel8@sha256:db76d04752973223e2c0de9401ebf06b84263e1bb6d29f1455daaff0cb39c1b3registry.redhat.io/codeready-workspaces/stacks-php-rhel8@sha256:d120c41ee8dd80fb960dd4c1657bede536d32f13f3c3ca84e986a830ec2ead3bstacks-php-rhel8@sha256:d120c41ee8dd80fb960dd4c1657bede536d32f13f3c3ca84e986a830ec2ead3bregistry.redhat.io/codeready-workspaces/theia-endpoint-rhel8@sha256:5d26cf000924716d8d03969121a4c636e7fc8ef08aa21148eafa28a2c4aeaff7theia-endpoint-rhel8@sha256:5d26cf000924716d8d03969121a4c636e7fc8ef08aa21148eafa28a2c4aeaff7registry.redhat.io/codeready-workspaces/theia-rhel8@sha256:6000d00ef1029583642c01fec588f92addb95f16d56d0c23991a8f19314b0f06theia-rhel8@sha256:6000d00ef1029583642c01fec588f92addb95f16d56d0c23991a8f19314b0f06registry.redhat.io/codeready-workspaces/traefik-rhel8@sha256:70215465e2ad65a61d1b5401378532a3a10aa60afdda0702fb6061d89b8ba3betraefik-rhel8@sha256:70215465e2ad65a61d1b5401378532a3a10aa60afdda0702fb6061d89b8ba3beregistry.redhat.io/devworkspace/devworkspace-rhel8-operator@sha256:3f96fb70c3f56dea3384ea31b9252a5c6aca8e0f33dc53be590f134912244078devworkspacedevworkspace-rhel8-operator@sha256:3f96fb70c3f56dea3384ea31b9252a5c6aca8e0f33dc53be590f134912244078registry.redhat.io/jboss-eap-7/eap-xp3-openjdk11-openshift-rhel8@sha256:bb3072afdbf31ddd1071fea37ed5308db3bf8a2478b5aa5aff8373e8042d6aebeap-xp3-openjdk11-openshift-rhel8@sha256:bb3072afdbf31ddd1071fea37ed5308db3bf8a2478b5aa5aff8373e8042d6aebregistry.redhat.io/jboss-eap-7/eap74-openjdk8-openshift-rhel7@sha256:b4a113c4d4972d142a3c350e2006a2b297dc883f8ddb29a88db19c892358632deap74-openjdk8-openshift-rhel7@sha256:b4a113c4d4972d142a3c350e2006a2b297dc883f8ddb29a88db19c892358632dregistry.redhat.io/openshift4/ose-kube-rbac-proxy@sha256:1dc542b5ab33368443f698305a90c617385b4e9b101acc4acc0aa7b4bf58a292openshift4ose-kube-rbac-proxy@sha256:1dc542b5ab33368443f698305a90c617385b4e9b101acc4acc0aa7b4bf58a292registry.redhat.io/openshift4/ose-oauth-proxy@sha256:83988048d5f585ca936442963e23b77520e1e4d8c3d5b8160e43ae834a24b720openshift4ose-oauth-proxy@sha256:83988048d5f585ca936442963e23b77520e1e4d8c3d5b8160e43ae834a24b720registry.redhat.io/rh-sso-7/sso75-openshift-rhel8@sha256:dd4ea229521fb58dda7e547ea6db993156f4c61aa8a00f2fd1375bb77168b6e6sso75-openshift-rhel8@sha256:dd4ea229521fb58dda7e547ea6db993156f4c61aa8a00f2fd1375bb77168b6e6registry.redhat.io/rhel8/postgresql-13@sha256:6032adb3eac903ee8aa61f296ca9aaa57f5709e5673504b609222e042823f195postgresql-13@sha256:6032adb3eac903ee8aa61f296ca9aaa57f5709e5673504b609222e042823f195registry.redhat.io/rhel8/postgresql-96@sha256:314747a4a64ac16c33ead6a34479dccf16b9a07abf440ea7eeef7cda4cd19e32postgresql-96@sha256:314747a4a64ac16c33ead6a34479dccf16b9a07abf440ea7eeef7cda4cd19e32registry.redhat.io/rhscl/mongodb-36-rhel7@sha256:9f799d356d7d2e442bde9d401b720600fd9059a3d8eefea6f3b2ffa721c0dc73mongodb-36-rhel7@sha256:9f799d356d7d2e442bde9d401b720600fd9059a3d8eefea6f3b2ffa721c0dc73registry.redhat.io/ubi8/ubi-minimal@sha256:2e4bbb2be6e7aff711ddc93f0b07e49c93d41e4c2ffc8ea75f804ad6fe25564eubi8ubi-minimal@sha256:2e4bbb2be6e7aff711ddc93f0b07e49c93d41e4c2ffc8ea75f804ad6fe25564e
検証手順
イメージに同じダイジェストがあることを確認します。
skopeo inspect docker://<source-image> skopeo inspect docker://<target-registry>/<target-organization>/<target-image>
$ skopeo inspect docker://<source-image> $ skopeo inspect docker://<target-registry>/<target-organization>/<target-image>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
関連情報
-
イメージ一覧のソースを見つけるには、CodeReady Workspaces Operator ClusterServiceVersion ソース の
relatedImages属性の値を参照してください。
5.3.4. 制限された環境での CLI 管理ツールを使用した CodeReady Workspaces のアップグレード リンクのコピーリンクがクリップボードにコピーされました!
本セクションでは、制限された環境で CLI 管理ツールを使用して Red Hat CodeReady Workspaces をアップグレードする方法を説明します。
前提条件
- OpenShift インスタンスの管理者アカウント
-
<openshift-workspaces>プロジェクトの crwctl--installer operatorの方法を使用し、CLI 管理ツールでインストールされた Red Hat CodeReady Workspaces の実行中のインスタンスバージョン 2.14。「制限された環境での CodeReady Workspaces のインストール」 を参照してください。 - 必須のコンテナーイメージはクラスターで実行される CodeReady Workspaces サーバーで使用できる。「プライベートレジストリーの準備」 を参照してください。
-
crwctl2.15 管理ツールが利用できる。「crwctl CLI 管理ツールのインストール」 を参照してください。
手順
- CodeReady Workspaces 2.14 インスタンスで実行されているすべてのワークスペースで、変更を保存し、Git リポジトリーに再度プッシュします。
- CodeReady Workspaces 2.14 インスタンスのすべてのワークスペースを停止します。
次のコマンドを実行します。
crwctl server:update --che-operator-image=<image-registry>/<organization>/crw-2-rhel8-operator:2.15 -n openshift-workspaces
$ crwctl server:update --che-operator-image=<image-registry>/<organization>/crw-2-rhel8-operator:2.15 -n openshift-workspacesCopy to Clipboard Copied! Toggle word wrap Toggle overflow - <image-registry>:制限された環境でアクセス可能なコンテナーイメージレジストリーのホスト名とポート。
- <organization>:コンテナーイメージレジストリーの編成。「プライベートレジストリーの準備」 を参照してください。
検証手順
- CodeReady Workspaces インスタンスに移動します。
- 2.15 のバージョン番号がページ下部に表示されます。
低速なシステムまたはインターネット接続の場合は、--k8spodwaittimeout=1800000 フラグオプションを crwctl server:update コマンドに追加し、Pod のタイムアウト期間を 1800000 ms 以上に拡張します。
5.4. per user 以外のプロジェクトストラテジーを使用する CodeReady Workspaces のアップグレード リンクのコピーリンクがクリップボードにコピーされました!
本セクションでは、per user 以外のプロジェクトストラテジーを使用する CodeReady Workspaces をアップグレードする方法を説明します。
CodeReady Workspaces は、全機密ユーザーデータのストレージとして Kubernetes シークレットを使用することを目的とします。ユーザーごとに 1 つのプロジェクトとすることで、ワークスペースの設計が簡素化されます。per user 以外のプロジェクトストラテジーが非推奨になるのはこのような理由からです。2 段階で非推奨化プロセスが進められます。最初の手順 では、per user 以外のプロジェクトストラテジーは非推奨ですが、使用できます。2 番目の手順 では、per user 以外のプロジェクトストラテジーに対するサポートが削除されます。
最初の手順 と 2 番目の手順 との間で、per user 以外を使用するプロジェクトストラテジーのシステム環境を自動的にアップグレードするサポートはありません。
前提条件
-
per user以外のプロジェクトストラテジーで設定された CodeReady Workspaces。 -
per usernamespace ストラテジーper userを設定した CodeReady Workspaces を使用する予定である。
5.4.1. CodeReady Workspaces のアップグレードおよびユーザーデータのバックアップ リンクのコピーリンクがクリップボードにコピーされました!
手順
すべての CodeReady Workspaces ユーザーに今後データが消去されることを通知します。
注記ワークスペース設定を SCM サーバーにコミットしてデータをバックアップして、ファクトリーを使用して後で復元できます。
-
per usernamespace ストラテジーを使用して、CodeReady Workspaces を再インストールします。
5.4.2. CodeReady Workspaces のアップグレードおよびユーザーデータの損失 リンクのコピーリンクがクリップボードにコピーされました!
CodeReady Workspaces のアップグレード時にユーザーデータをバックアップしない場合には、ワークスペース設定およびユーザー設定は保持されますが、ランタイムデータはすべて消去されます。
手順
- すべての CodeReady Workspaces ユーザーに今後データが消去されることを通知します。
-
per userプロジェクトストラテジーを変更します。
ユーザーデータをバックアップせずにアップグレードするとデメリットがあります。ランタイムデータが含まれる元の PV は保持されますが、使用されません。これにより、リソースが無駄になることがあります。
関連情報
- 「ワークスペースターゲットプロジェクトの設定」
- 3章CodeReady Workspaces のインストール
- https://access.redhat.com/documentation/ja-jp/red_hat_codeready_workspaces/2.15/html-single/end-user_guide/index#workspaces-overview.adoc
- https://access.redhat.com/documentation/ja-jp/red_hat_codeready_workspaces/2.15/html-single/end-user_guide/index#importing-the-source-code-of-a-project-into-a-workspace.adoc
5.5. CodeReady Workspaces のアップグレードのロールバック リンクのコピーリンクがクリップボードにコピーされました!
CodeReady Workspaces をアップグレード前のバージョンに復元するには、次のように CodeReady Workspaces のバージョンアップグレードをロールバックします。
前提条件
-
crwctlをインストールしました。
手順
コマンドラインで次のコマンドを実行します。
crwctl server:restore --rollback
$ crwctl server:restore --rollbackCopy to Clipboard Copied! Toggle word wrap Toggle overflow
CodeReady Workspaces Operator は、アップグレードごとにバックアップを自動的に作成します。
第6章 CodeReady Workspaces のアンインストール リンクのコピーリンクがクリップボードにコピーされました!
本セクションでは、Red Hat CodeReady Workspaces のアンインストール手順を説明します。アンインストールプロセスでは、CodeReady Workspaces 関連のユーザーデータが完全に削除されます。CodeReady Workspaces インスタンスをインストールするために以前に使用された方法により、アンインストール方法が決まります。
- OperatorHub を使用してインストールされた CodeReady Workspaces の場合、OpenShift Web コンソールの方法については、「OpenShift Web コンソールを使用した OperatorHub のインストール後の CodeReady Workspaces のアンインストール」を参照してください。
- CLI の方法を使用してインストールされた CodeReady Workspaces の場合は、「OpenShift CLI を使用した OperatorHub のインストール後の CodeReady Workspaces のアンインストール」 を参照してください。
- crwctl を使用してインストールされた CodeReady Workspaces の場合は、「crwctl インストール後の CodeReady Workspaces のアンインストール」を参照してください。
6.1. OpenShift Web コンソールを使用した OperatorHub のインストール後の CodeReady Workspaces のアンインストール リンクのコピーリンクがクリップボードにコピーされました!
本セクションでは、OpenShift Administrator パースペクティブのメインメニューを使用して、クラスターから CodeReady Workspaces をアンインストールする方法を説明します。
前提条件
- CodeReady Workspaces が OperatorHub を使用して OpenShift クラスターにインストールされている。
手順
- OpenShift Web コンソールに移動し、Administrator パースペクティブを選択します。
Home > Projects セクションで、CodeReady Workspaces インスタンスが含まれるプロジェクトに移動します。
注記デフォルトのプロジェクト名は <openshift-workspaces> です。
- Operators > Installed Operators セクションで、インストールされた Operator の一覧で Red Hat CodeReady Workspaces をクリックします。
Red Hat CodeReady Workspaces Cluster タブで、表示された Red Hat CodeReady Workspaces Cluster をクリックし、右上の Actions ドロップダウンメニューで Delete cluster オプションを選択します。
注記デフォルトの Red Hat CodeReady Workspaces
checlusterカスタムリソース名は <codeready-workspaces> です。- Operators > Installed Operators セクションの、インストールされた Operator 一覧で Red Hat CodeReady Workspaces をクリックし、右上の Actions ドロップダウンメニューで Uninstall Operator オプションを選択します。
- Home > Projects セクションで、CodeReady Workspaces インスタンスが含まれるプロジェクトに移動し、右上の Actions ドロップダウンメニューで Delete Project オプションを選択します。
6.2. OpenShift CLI を使用した OperatorHub のインストール後の CodeReady Workspaces のアンインストール リンクのコピーリンクがクリップボードにコピーされました!
本セクションでは、oc コマンドを使用して、CodeReady Workspaces インスタンスをアンインストールする方法を説明します。
前提条件
- CodeReady Workspaces が OperatorHub を使用して OpenShift クラスターにインストールされている。
-
ocツールが利用できる。
手順
以下の手順では、コマンドラインの出力を例として示します。ユーザーの端末の出力は異なる場合があることに注意してください。
クラスターから CodeReady Workspaces インスタンスをアンインストールするには、以下を実行します。
クラスターにサインインします。
oc login -u <username> -p <password> <cluster_URL>
$ oc login -u <username> -p <password> <cluster_URL>Copy to Clipboard Copied! Toggle word wrap Toggle overflow CodeReady Workspaces インスタンスがデプロイされているプロジェクトに切り替えます。
oc project <codeready-workspaces_project>
$ oc project <codeready-workspaces_project>Copy to Clipboard Copied! Toggle word wrap Toggle overflow checlusterカスタムリソース名を取得します。次に、codeready-workspacesという名前のcheclusterカスタムリソースを示します。oc get checluster NAME AGE codeready-workspaces 27m
$ oc get checluster NAME AGE codeready-workspaces 27mCopy to Clipboard Copied! Toggle word wrap Toggle overflow CodeReady Workspaces クラスターを削除します。
oc delete checluster codeready-workspaces checluster.org.eclipse.che "codeready-workspaces" deleted
$ oc delete checluster codeready-workspaces checluster.org.eclipse.che "codeready-workspaces" deletedCopy to Clipboard Copied! Toggle word wrap Toggle overflow CodeReady Workspaces クラスターサービスバージョン (CSV) モジュールの名前を取得します。以下は、
codeready.v2.15という名前の CSV モジュールを検出します。oc get csv NAME DISPLAY VERSION REPLACES PHASE codeready.v2.15 Red Hat CodeReady Workspaces 2.15 codeready.v2.14 Succeeded
$ oc get csv NAME DISPLAY VERSION REPLACES PHASE codeready.v2.15 Red Hat CodeReady Workspaces 2.15 codeready.v2.14 SucceededCopy to Clipboard Copied! Toggle word wrap Toggle overflow CodeReady Workspaces CSV を削除します。
oc delete csv codeready.v2.15 clusterserviceversion.operators.coreos.com "codeready.v2.15" deleted
$ oc delete csv codeready.v2.15 clusterserviceversion.operators.coreos.com "codeready.v2.15" deletedCopy to Clipboard Copied! Toggle word wrap Toggle overflow
6.3. crwctl インストール後の CodeReady Workspaces のアンインストール リンクのコピーリンクがクリップボードにコピーされました!
本セクションでは、crwctl ツールを使用してインストールされた Red Hat CodeReady Workspaces のインスタンスをアンインストールする方法を説明します。
前提条件
-
crwctlツールが利用できる。 -
ocツールが利用できる。 -
crwctlツールは OpenShift の CodeReady Workspaces インスタンスにインストールされている。
手順
OpenShift クラスターにサインインします。
oc login -u <username> -p <password> <cluster_URL>
$ oc login -u <username> -p <password> <cluster_URL>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 削除する CodeReady Workspaces namespace の名前をエクスポートします。
export codereadyNamespace=<codeready-namespace-to-remove>
$ export codereadyNamespace=<codeready-namespace-to-remove>Copy to Clipboard Copied! Toggle word wrap Toggle overflow ユーザーのアクセストークンおよび Keycloak URL をエクスポートします。
export KEYCLOAK_BASE_URL="http://$KEYCLOAK_URL/auth"
$ export KEYCLOAK_BASE_URL="http://$KEYCLOAK_URL/auth"Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow UAT を使用してサーバーを停止します。
crwctl/bin/crwctl server:stop -n "$codereadyNamespace" --access-token=$USER_ACCESS_TOKEN
$ crwctl/bin/crwctl server:stop -n "$codereadyNamespace" --access-token=$USER_ACCESS_TOKENCopy to Clipboard Copied! Toggle word wrap Toggle overflow プロジェクトおよび CodeReady Workspaces デプロイメントを削除します。
oc project "$codereadyNamespace"
$ oc project "$codereadyNamespace"Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc delete deployment codeready-operator
$ oc delete deployment codeready-operatorCopy to Clipboard Copied! Toggle word wrap Toggle overflow oc delete checluster codeready-workspaces
$ oc delete checluster codeready-workspacesCopy to Clipboard Copied! Toggle word wrap Toggle overflow oc delete project "$codereadyNamespace"
$ oc delete project "$codereadyNamespace"Copy to Clipboard Copied! Toggle word wrap Toggle overflow プロジェクトについての情報を一覧表示して、削除が正常に実行されていることを確認します。
oc describe project "$codereadyNamespace"
$ oc describe project "$codereadyNamespace"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 指定した
ClusterRoleBindingを削除します。oc delete clusterrolebinding codeready-operator
$ oc delete clusterrolebinding codeready-operatorCopy to Clipboard Copied! Toggle word wrap Toggle overflow