This documentation is for a release that is no longer maintained
See documentation for the latest supported version.4.5. ワークスペースのグローバル設定
このセクションでは、管理者がワークスペースをグローバルに設定する方法を説明します。
4.5.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
4.5.2. すべてのユーザーが同時に実行できるワークスペースの数を制限する リンクのコピーリンクがクリップボードにコピーされました!
デフォルトで、すべてのユーザーが無制限の数のワークスペースを実行できます。すべてのユーザーが同時に実行できるワークスペースの数を制限できます。この設定は、CheCluster カスタムリソースの一部です。
spec:
devEnvironments:
maxNumberOfRunningWorkspacesPerCluster: <running_workspaces_limit>
spec:
devEnvironments:
maxNumberOfRunningWorkspacesPerCluster: <running_workspaces_limit>
- 1
- Kubernetes クラスター全体で同時に実行されるワークスペースの最大数。これは、システム内のすべてのユーザーに適用されます。値が -1 に設定されている場合、実行中のワークスペースの数に制限がないことを意味します。
手順
maxNumberOfRunningWorkspacesPerClusterを設定します。oc patch checluster/devspaces -n openshift-devspaces \ --type='merge' -p \ '{"spec":{"devEnvironments":{"maxNumberOfRunningWorkspacesPerCluster": <running_workspaces_limit>}}}'oc patch checluster/devspaces -n openshift-devspaces \ --type='merge' -p \ '{"spec":{"devEnvironments":{"maxNumberOfRunningWorkspacesPerCluster": <running_workspaces_limit>}}}'1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
<running_workspaces_limit>の値を選択します。
4.5.3. ユーザーが複数のワークスペースを同時に実行できるようにする リンクのコピーリンクがクリップボードにコピーされました!
デフォルトでは、ユーザーは一度に 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
4.5.4. 自己署名証明書を使用した 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 ドキュメントを参照してください)。例4.20
/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
4.5.5. ワークスペース 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 に渡します。詳細は、「ストレージクラスの設定」 を参照してください。
4.5.6. クラウド開発環境に許可される URL の設定 リンクのコピーリンクがクリップボードにコピーされました!
許可された URL は、クラウド開発環境 (CDE) の開始を保護する上で重要な役割を果たし、認可されたソースからのみ起動できるようにします。* などのワイルドカードサポートを利用することで、組織は柔軟な URL パターンを実装し、ドメイン内のさまざまなパス間で動的でセキュアな CDE の開始を可能にします。
許可されたソースを設定します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- クラウド開発環境 (CDE) を起動するための認可された URL の配列。CDE は、これらの URL からのみ開始できます。ワイルドカード
*は URL でサポートされます。たとえば、https://example.com/*は、example.com内の任意のパスから CDE を開始できるよう許可します。