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 命名空间的名称。默认为
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. 允许用户同时运行多个工作区 复制链接链接已复制到粘贴板!
默认情况下,用户可以一次只运行一个工作区。您可以让用户同时运行多个工作区。
如果使用默认存储方法,如果用户在多节点集群中的节点间分布 pod,则并发运行工作区时可能会遇到问题。从每个用户 通用
存储策略切换到 per-workspace
存储策略,或 使用临时存储
类型可能会避免或解决这些问题。
此配置是 CheCluster
自定义资源的一部分:
spec: devEnvironments: maxNumberOfRunningWorkspacesPerUser: <running_workspaces_limit>
spec:
devEnvironments:
maxNumberOfRunningWorkspacesPerUser: <running_workspaces_limit>
- 1
- 设置每个用户同时运行工作区的最大数量。通过
-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 配置
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 复制链接链接已复制到粘贴板!
您可以配置 OpenShift Dev Spaces,以支持使用自签名证书的 Git 供应商上的操作。
先决条件
-
具有 OpenShift 集群管理权限的活跃的
oc
会话。请参阅 OpenShift CLI 入门。 - Git 版本 2 或更高版本
流程
创建一个新的 ConfigMap,其中包含 Git 服务器的详情:
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-devspaces
2 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-devspaces
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 配置 OpenShift Dev Spaces 操作对象,将自签名证书用于 Git 存储库。请参阅 第 4.1.2 节 “使用 CLI 配置 CheCluster 自定义资源”。
spec: devEnvironments: trustedCerts: gitTrustedCertsConfigMapName: che-git-self-signed-cert
spec: devEnvironments: trustedCerts: gitTrustedCertsConfigMapName: che-git-self-signed-cert
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
验证步骤
创建并启动新的工作区。工作区使用的每个容器都会挂载一个特殊卷,其中包含带有自签名证书的文件。容器的
/etc/gitconfig
文件包含有关 Git 服务器主机(its URL)的信息,以及http
部分中证书的路径(请参阅 Git 文档有关 git-config)。例 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/certificate
Copy 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: value
spec: devEnvironments: nodeSelector: key: value
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 本节必须包含 每个节点标签 的一组
key=value
对,以组成 nodeSelector 规则。使用 Taints 和 Tolerations
这的工作方式与
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
必须在 OpenShift Dev Spaces 安装过程中配置 nodeSelector
。这可防止现有工作区因为现有工作区 PVC 和 Pod 被调度到不同区中造成的卷关联性冲突而运行失败。
为了避免在大型多区集群上的不同区中调度 Pod 和 PVC,请创建一个额外的 StorageClass
对象(请注意 allowedTopologies
字段),它将协调 PVC 创建过程。
通过 CheCluster
自定义资源将这个新创建的 StorageClass
的名称传递给 OpenShift Dev Spaces。如需更多信息,请参阅:第 4.9.1 节 “配置存储类”。
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。