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 ルールを形成するために、各 ノードラベル の
キー = 値のペアのセットが含まれている必要があります。汚染と許容の使用
これは
nodeSelectorとは逆の働きをします。Pod がスケジュールされるノードを指定する代わりに、Pod がスケジュールされないノードを指定します。詳細は、https ://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration を参照してください。OpenShift Dev Spaces は、
CheClusterカスタムリソースを使用して許容範囲を設定します。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. ユーザー名前空間の設定 リンクのコピーリンクがクリップボードにコピーされました!
この手順では、OpenShift Dev Spaces を使用して、ConfigMaps、Secrets、および PersistentVolumeClaim をopenshift-devspaces 名前空間から多数のユーザー固有の名前空間に複製するプロセスについて説明します。OpenShift Dev Spaces は、共有認証情報、設定ファイル、証明書などの重要な設定データのユーザー名前空間への同期を自動化します。
openshift-devspaces 名前空間の Kubernetes リソースに変更を加えると、OpenShift Dev Spaces はすべてのユーザー名前空間にわたって変更を直ちに複製します。逆に、Kubernetes リソースがユーザー名前空間で変更された場合、OpenShift Dev Spaces は変更を直ちに元に戻します。
手順
以下の
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を作成して、それをすべてのユーザー名前空間に複製します。設定可能性を高めるために、追加のラベルとアノテーションを追加してSecret をカスタマイズできます。その他の可能なラベルとアノテーションについては 、ボリューム、設定マップ、シークレットの自動マウント を参照してください。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を作成して、それをすべてのユーザー名前空間に複製します。設定可能性を高めるために、追加のラベルとアノテーションを追加して
PersistentVolumeClaimをカスタマイズできます。その他の可能なラベルとアノテーションについては 、ボリューム、設定マップ、シークレットの自動マウント を参照してください。PersistentVolumeClaim を変更するには、これを削除し、openshift-devspaces 名前空間に新しいものを作成します。
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.12/html-single/user_guide/index#end-user-guide:mounting-configmaps
- https://access.redhat.com/documentation/ja-jp/red_hat_openshift_dev_spaces/3.12/html-single/user_guide/index#end-user-guide: マウントシークレット
- https://access.redhat.com/documentation/ja-jp/red_hat_openshift_dev_spaces/3.12/html-single/user_guide/index#end-user-guide:requesting-persistent-storage-for-workspaces
- ボリューム、configmap、シークレットの自動マウント