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 命名空间的名称。默认为
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. 允许用户同时运行多个工作区 复制链接链接已复制到粘贴板!
默认情况下,用户一次只能运行一个工作区。您可以允许用户同时运行多个工作区。
						如果使用默认存储方法,如果用户在多节点集群中跨节点分布 pod,则用户在运行工作区时可能会遇到问题。从用户 通用 存储策略切换到 每个工作区 存储策略,或 使用临时存储 类型避免或解决这些问题。
					
					此配置是 CheCluster 自定义资源的一部分:
				
spec:
  components:
    devWorkspace:
      runningLimit: "<running_workspaces_limit>" 
spec:
  components:
    devWorkspace:
      runningLimit: "<running_workspaces_limit>" 
- 1
 - 设置每个用户同时运行的工作区的最大数量。默认值为:
1。 
流程
获取 OpenShift Dev Spaces 命名空间的名称。默认为
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 复制链接链接已复制到粘贴板!
您可以将 OpenShift Dev Spaces 配置为支持使用自签名证书的 Git 供应商中的操作。
先决条件
- 
							一个活跃的 
oc会话,具有 OpenShift 集群的管理权限。请参阅 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。所有保存证书文件的Secret应该使用 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 配置 OpenShift Dev Spaces 操作对象,为 Git 存储库使用自签名证书。请参阅 第 3.1.2 节 “使用 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 服务器主机(its 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。此变量可以包含一组用逗号分开的 key=value 对,以形成 nodeSelector 规则或 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 在大型多区集群上的不同区中调度,请创建一个额外的 StorageClass 对象(请注意 allowedTopologies 字段),它将协调 PVC 创建过程。
					
						通过 CHE_INFRA_KUBERNETES_PVC_STORAGE__CLASS__NAME 环境变量将这个新创建的 StorageClass 的名称传递给 OpenShift Dev Spaces。此变量的默认空值指示 OpenShift Dev Spaces 使用集群的默认 StorageClass。
					
3.4.5. 打开 VSX registry URL 复制链接链接已复制到粘贴板!
为了搜索并安装扩展,Visis Studio Code 编辑器使用嵌入的 Open VSX 注册表实例。您还可以将 OpenShift Dev Spaces 配置为使用另一个 Open VSX registry 实例,而不是嵌入的实例。
流程
在 CheCluster Custom Resource
spec.components.pluginRegistry.openVSXURL字段中设置 Open VSX registry 实例的 URL。Copy to Clipboard Copied! Toggle word wrap Toggle overflow