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:
devEnvironments:
maxNumberOfWorkspacesPerUser: <kept_workspaces_limit>
spec:
devEnvironments:
maxNumberOfWorkspacesPerUser: <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 maxNumberOfWorkspacesPerUserを設定します。oc patch checluster/devspaces -n openshift-devspaces \ --type='merge' -p \ '{"spec":{"devEnvironments":{"maxNumberOfWorkspacesPerUser": <kept_workspaces_limit>}}}'$ oc patch checluster/devspaces -n openshift-devspaces \1 --type='merge' -p \ '{"spec":{"devEnvironments":{"maxNumberOfWorkspacesPerUser": <kept_workspaces_limit>}}}'2 Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.4.2. ユーザーが複数のワークスペースを同時に実行できるようにする リンクのコピーリンクがクリップボードにコピーされました!
デフォルトでは、ユーザーは一度に 1 つのワークスペースしか実行できません。ユーザーが複数のワークスペースを同時に実行できるようにすることができます。
デフォルトのストレージ方法を使用している際、マルチノードクラスター内のノード全体に Pod が分散されている場合は、ワークスペースを同時に実行すると問題が発生する可能性があります。ユーザーごとの common ストレージストラテジーから per-workspace ストレージストラテジーに切り替えるか、ephemeral ストレージタイプを使用すると、これらの問題を回避または解決できます。
この設定は、CheCluster カスタムリソースの一部です。
spec:
devEnvironments:
maxNumberOfRunningWorkspacesPerUser: <running_workspaces_limit>
spec:
devEnvironments:
maxNumberOfRunningWorkspacesPerUser: <running_workspaces_limit>
- 1
- ユーザーごとに同時に実行されるワークスペースの最大数を設定します。値
-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 maxNumberOfRunningWorkspacesPerUserを設定します。oc patch checluster/devspaces -n openshift-devspaces \ --type='merge' -p \ '{"spec":{"devEnvironments":{"maxNumberOfRunningWorkspacesPerUser": <running_workspaces_limit>}}}'$ oc patch checluster/devspaces -n openshift-devspaces \1 --type='merge' -p \ '{"spec":{"devEnvironments":{"maxNumberOfRunningWorkspacesPerUser": <running_workspaces_limit>}}}'2 Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.4.3. 自己署名証明書を使用した Git リンクのコピーリンクがクリップボードにコピーされました!
自己署名証明書を使用する Git プロバイダーでの操作をサポートするように OpenShift Dev Spaces を設定できます。
前提条件
-
OpenShift クラスターへの管理権限を持つアクティブな
ocセッション。OpenShift CLI の使用を開始 を参照してください。 - Git バージョン 2 以降
手順
Git サーバーの詳細情報を使用して新規の configMap を作成します。
oc create configmap che-git-self-signed-cert \ --from-file=ca.crt=<path_to_certificate> \ --from-literal=githost=<git_server_url> -n openshift-devspaces
$ oc create configmap che-git-self-signed-cert \ --from-file=ca.crt=<path_to_certificate> \1 --from-literal=githost=<git_server_url> -n openshift-devspaces2 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 自己署名証明書へのパス。
- 2
- Git サーバーの URL を指定するオプションのパラメーター (例:
https://git.example.com:8443)。省略すると、自己署名証明書が HTTPS 経由のすべてのリポジトリーに使用されます。
注記-
証明書ファイルは、通常、以下のような Base64 ASCII ファイルとして保存されます。
.pem,.crt,.ca-bundle.証明書ファイルを保持するすべてのConfigMapはバイナリーデータ証明書ではなく Base64 ASCII 証明書を使用する必要があります。 -
証明書の信頼チェーンが必要です。
ca.crtが認証局 (CA) によって署名されている場合は、CA 証明書がca.crtファイルに含まれている必要があります。
必要なラベルを 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.15
/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 を設定する方法を説明します。
手順
NodeSelector の使用
OpenShift Dev Spaces は、
CheClusterカスタムリソースを使用してnodeSelectorを設定します。spec: devEnvironments: nodeSelector: key: valuespec: devEnvironments: nodeSelector: key: valueCopy to Clipboard Copied! Toggle word wrap Toggle overflow このセクションには、nodeSelector ルールを形成するために、各 ノードラベル の
key=valueペアのセットが含まれている必要があります。テイントおよび容認の使用
これは
nodeSelectorとは逆の働きをします。Pod がスケジュールされるノードを指定する代わりに、Pod がスケジュールされないノードを指定します。詳細は、https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration を参照してください。OpenShift Dev Spaces は、
CheClusterカスタムリソースを使用してtolerationsを設定します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
nodeSelector は、OpenShift Dev Spaces のインストール時に設定する必要があります。これにより、既存のワークスペース PVC および Pod が異なるゾーンにスケジュールされることによってボリュームのアフィニティーの競合が生じ、既存のワークスペースが実行できなくなることを防ぐことができます。
大規模なマルチゾーンクラスターの異なるゾーンに Pod および PVC がスケジュールされないようにするには、PVC の作成プロセスを調整する追加の StorageClass オブジェクトを作成します (allowedTopologies フィールドに注目してください)。
CheCluster カスタムリソースを通じて、新しく作成された StorageClass の名前を OpenShift Dev Spaces に渡します。詳細は、「ストレージクラスの設定」 を参照してください。
3.4.5. VSX レジストリー URL を開く リンクのコピーリンクがクリップボードにコピーされました!
エクステンションを検索してインストールするために、Microsoft 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
3.4.6. ユーザー namespace の設定 リンクのコピーリンクがクリップボードにコピーされました!
この手順では、OpenShift Dev Spaces を使用して、ConfigMaps、Secrets、および PersistentVolumeClaim を openshift-devspaces namespace から多数のユーザー固有の namespace に複製するプロセスを説明します。OpenShift Dev Spaces は、共有認証情報、設定ファイル、証明書などの重要な設定データのユーザー namespace への同期を自動化します。
openshift-devspaces namespace の Kubernetes リソースに変更を加えると、OpenShift Dev Spaces はすべてのユーザー namespace にわたって変更を直ちに複製します。逆に、Kubernetes リソースがユーザー namespace で変更されると、OpenShift Dev Spaces は変更を直ちに元に戻します。
手順
以下の
ConfigMapを作成して、すべてのユーザー namespace に複製します。設定可能性を高めるために、追加のラベルとアノテーションを追加してConfigMapをカスタマイズできます。その他の可能なラベルとアノテーションについては、ボリューム、ConfigMap、シークレットの自動マウント を参照してください。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例3.16 ユーザーワークスペースに
settings.xmlファイルをマウントCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下の
Secretを作成して、それをすべてのユーザー namespace に複製します。設定可能性を高めるために、追加のラベルとアノテーションを追加してSecretをカスタマイズできます。その他の可能なラベルとアノテーションについては、ボリューム、ConfigMap、シークレットの自動マウント を参照してください。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例3.17 ユーザーワークスペースに証明書をマウントする
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記ワークスペースの起動時に
update-ca-trustコマンドを実行して証明書をインポートします。これは手動で実行することも、devfile のpostStartイベントにこのコマンドを追加することで実行することもできます。devfile でのイベントバインディングの追加 を参照してください。例3.18 環境変数をユーザーワークスペースにマウントする
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下の
PersistentVolumeClaimを作成して、それをすべてのユーザー namespace に複製します。設定可能性を高めるために、追加のラベルとアノテーションを追加して
PersistentVolumeClaimをカスタマイズできます。その他の可能なラベルとアノテーションについては、ボリューム、ConfigMap、シークレットの自動マウント を参照してください。'PersistentVolumeClaim' を変更するには、一度削除し、openshift-devspaces namespace に新しいものを作成します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例3.19
PersistentVolumeClaimをユーザーワークスペースにマウントCopy to Clipboard Copied! Toggle word wrap Toggle overflow
関連情報
- https://access.redhat.com/documentation/ja-jp/red_hat_openshift_dev_spaces/3.13/html-single/user_guide/index#end-user-guide:mounting-configmaps
- https://access.redhat.com/documentation/ja-jp/red_hat_openshift_dev_spaces/3.13/html-single/user_guide/index#end-user-guide:mounting-secrets
- https://access.redhat.com/documentation/ja-jp/red_hat_openshift_dev_spaces/3.13/html-single/user_guide/index#end-user-guide:requesting-persistent-storage-for-workspaces
- ボリューム、configmaps、シークレットの自動マウント