This documentation is for a release that is no longer maintained
See documentation for the latest supported version.3.4. ワークスペースのグローバル設定
このセクションでは、管理者がワークスペースをグローバルに設定する方法について説明します。
3.4.1. ユーザーが保持できるワークスペースの数を制限する リンクのコピーリンクがクリップボードにコピーされました!
デフォルトでは、ユーザーはダッシュボードに無制限の数のワークスペースを保持できますが、この数を制限してクラスターの需要を減らすことができます。
この設定は、CheCluster カスタムリソースの一部です。
spec:
components:
cheServer:
extraProperties:
CHE_LIMITS_USER_WORKSPACES_COUNT: "<kept_workspaces_limit>"
spec:
components:
cheServer:
extraProperties:
CHE_LIMITS_USER_WORKSPACES_COUNT: "<kept_workspaces_limit>"
- 1
- ユーザーごとのワークスペースの最大数を設定します。デフォルト値
-1では、ユーザーは無制限の数のワークスペースを保持できます。ユーザーごとのワークスペースの最大数を設定するには、正の整数を使用します。
手順
OpenShift Dev Spaces namespace の名前を取得します。デフォルトは
openshift-devspacesです。oc get checluster --all-namespaces \ -o=jsonpath="{.items[*].metadata.namespace}"$ oc get checluster --all-namespaces \ -o=jsonpath="{.items[*].metadata.namespace}"Copy to Clipboard Copied! Toggle word wrap Toggle overflow CHE_LIMITS_USER_WORKSPACES_COUNTを設定します。oc patch checluster/devspaces -n openshift-devspaces \ --type='merge' -p \ '{"spec":{"components":{"cheServer":{"extraProperties":{"CHE_LIMITS_USER_WORKSPACES_COUNT": "<kept_workspaces_limit>"}}}}}'$ oc patch checluster/devspaces -n openshift-devspaces \1 --type='merge' -p \ '{"spec":{"components":{"cheServer":{"extraProperties":{"CHE_LIMITS_USER_WORKSPACES_COUNT": "<kept_workspaces_limit>"}}}}}'2 Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.4.2. ユーザーが複数のワークスペースを同時に実行できるようにする リンクのコピーリンクがクリップボードにコピーされました!
デフォルトでは、ユーザーは一度に 1 つのワークスペースしか実行できません。ユーザーが複数のワークスペースを同時に実行できるようにすることができます。
デフォルトのストレージ方法を使用している際、マルチノードクラスター内のノード全体に Pod が分散されている場合は、ワークスペースを同時に実行すると問題が発生する可能性があります。ユーザーごとの common ストレージストラテジーから per-workspace ストレージストラテジーに切り替えるか、ephemeral ストレージタイプを使用すると、これらの問題を回避または解決できます。
この設定は、CheCluster カスタムリソースの一部です。
spec:
components:
devWorkspace:
runningLimit: "<running_workspaces_limit>"
spec:
components:
devWorkspace:
runningLimit: "<running_workspaces_limit>"
- 1
- ユーザーごとに同時に実行されるワークスペースの最大数を設定します。デフォルト値は
1です。
手順
OpenShift Dev Spaces namespace の名前を取得します。デフォルトは
openshift-devspacesです。oc get checluster --all-namespaces \ -o=jsonpath="{.items[*].metadata.namespace}"$ oc get checluster --all-namespaces \ -o=jsonpath="{.items[*].metadata.namespace}"Copy to Clipboard Copied! Toggle word wrap Toggle overflow runningLimitを設定します。oc patch checluster/devspaces -n openshift-devspaces \ --type='merge' -p \ '{"spec":{"components":{"devWorkspace":{"runningLimit": "<running_workspaces_limit>"}}}}'$ oc patch checluster/devspaces -n openshift-devspaces \1 --type='merge' -p \ '{"spec":{"components":{"devWorkspace":{"runningLimit": "<running_workspaces_limit>"}}}}'2 Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.4.3. 自己署名証明書を使用した Git リンクのコピーリンクがクリップボードにコピーされました!
自己署名証明書を使用する Git プロバイダーでの操作をサポートするように OpenShift Dev Spaces を設定できます。
前提条件
-
OpenShift クラスターへの管理権限を持つアクティブな
ocセッション。Getting started with the OpenShift CLI を参照してください。 - Git バージョン 2 以降
手順
Git サーバーの詳細情報を使用して新規の configMap を作成します。
oc create configmap che-git-self-signed-cert \ --from-file=ca.crt=<path_to_certificate> \ --from-literal=githost=<host:port> -n openshift-devspaces
$ oc create configmap che-git-self-signed-cert \ --from-file=ca.crt=<path_to_certificate> \1 --from-literal=githost=<host:port> -n openshift-devspaces2 Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記-
githostを指定しないと、指定された証明書がすべての HTTPS リポジトリーに使用されます。 -
証明書ファイルは、通常、以下のような Base64 ASCII ファイルとして保存されます。
.pem,.crt,.ca-bundle.また、これらはバイナリーデータとしてエンコードすることもできます (例:.cer)。証明書ファイルを保持するすべてのSecretsは、バイナリーデータ証明書ではなく、Base64 ASCII 証明書を使用する必要があります。
-
必要なラベルを ConfigMap に追加します。
oc label configmap che-git-self-signed-cert \ app.kubernetes.io/part-of=che.eclipse.org -n openshift-devspaces
$ oc label configmap che-git-self-signed-cert \ app.kubernetes.io/part-of=che.eclipse.org -n openshift-devspacesCopy to Clipboard Copied! Toggle word wrap Toggle overflow Git リポジトリーに自己署名証明書を使用するように OpenShift Dev Spaces オペランドを設定します。「CLI を使用して CheCluster カスタムリソースの設定」を参照してください。
spec: devEnvironments: trustedCerts: gitTrustedCertsConfigMapName: che-git-self-signed-certspec: devEnvironments: trustedCerts: gitTrustedCertsConfigMapName: che-git-self-signed-certCopy to Clipboard Copied! Toggle word wrap Toggle overflow
検証手順
新規ワークスペースを作成および開始します。ワークスペースによって使用されるすべてのコンテナーは、自己署名証明書のあるファイルを含む特殊なボリュームをマウントします。コンテナーの
/etc/gitconfigファイルには、Git サーバーホスト (その URL) とhttpセクションの証明書へのパスについての情報が含まれます (git-config に関する Git ドキュメントを参照してください)。例3.11
/etc/gitconfigファイルの内容[http "https://10.33.177.118:3000"] sslCAInfo = /etc/config/che-git-tls-creds/certificate
[http "https://10.33.177.118:3000"] sslCAInfo = /etc/config/che-git-tls-creds/certificateCopy to Clipboard Copied! Toggle word wrap Toggle overflow
3.4.4. ワークスペース nodeSelector の設定 リンクのコピーリンクがクリップボードにコピーされました!
このセクションでは、OpenShift Dev Spaces ワークスペースの Pod に nodeSelector を設定する方法を説明します。
手順
OpenShift Dev Spaces は、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 は、OpenShift Dev Spaces のインストール時に設定する必要があります。これにより、既存のワークスペース PVC および Pod が異なるゾーンにスケジュールされることによってボリュームのアフィニティーの競合が生じ、既存のワークスペースが実行できなくなることを防ぐことができます。
大規模なマルチゾーンクラスターの異なるゾーンに Pod および PVC がスケジュールされないようにするには、PVC の作成プロセスを調整する追加の StorageClass オブジェクトを作成します (allowedTopologies フィールドに注目してください)。
新規に作成された StorageClass の名前を、CHE_INFRA_KUBERNETES_PVC_STORAGE__CLASS__NAME 環境変数で OpenShift Dev Spaces に指定します。この変数のデフォルトの空の値の場合、OpenShift Dev Spaces に対し、クラスターのデフォルト StorageClass を使用するように指示します。
3.4.5. VSX レジストリー URL を開く リンクのコピーリンクがクリップボードにコピーされました!
拡張機能を検索してインストールするために、Visual Studio Code エディターは組み込みの Open VSX レジストリーインスタンスを使用します。組み込みのレジストリーインスタンスではなく、別の Open VSX レジストリーインスタンスを使用するように OpenShift Dev Spaces を設定することもできます。
手順
CheCluster カスタムリソースの
spec.components.pluginRegistry.openVSXURLフィールドに Open VSX レジストリーインスタンスの URL を設定します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow