3.2. 配置项目
对于每个用户,OpenShift Dev Spaces 在项目中隔离工作区。OpenShift Dev Spaces 通过存在标签和注解来识别用户项目。启动工作区时,如果所需的项目不存在,OpenShift Dev Spaces 会使用模板名称创建项目。
您可以通过以下方法修改 OpenShift Dev Spaces 行为:
3.2.1. 配置项目名称
您可以在启动一个工作区时配置 OpenShift Dev Spaces 用来创建所需项目的项目名称模板。
有效的项目名称模板遵循以下约定:
-
<
;username>
; 或<userid
> 占位符是必需的。 -
用户名和 ID 不能包含无效字符。如果用户名或 ID 的格式与 OpenShift 对象的命名约定不兼容,OpenShift Dev Spaces 通过将不兼容的字符替换为有效的名称来更改有效名称。
-
OpenShift Dev Spaces 将 &
lt;userid
> 占位符评估为 14 个字符长字符串,并添加随机六个字符的后缀以防止 ID 冲突。结果保存在用户首选项中以供重复使用。 - Kubernetes 将项目名称的长度限制为 63 个字符。
- OpenShift 限制的长度为 49 个字符。
流程
配置
CheCluster
自定义资源。请参阅 第 3.1.2 节 “使用 CLI 配置 CheCluster 自定义资源”。spec: components: devEnvironments: defaultNamespace: template: <workspace_namespace_template_>
例 3.3. 用户工作区项目名称模板示例
用户工作区项目名称模板 生成的项目示例 <username>-devspaces
(默认)user1-devspaces
<userid>-namespace
cge1egvsb2nhba-namespace-ul1411
<userid>-aka-<username>-namespace
cgezegvsb2nhba-aka-user1-namespace-6m2w2b
3.2.2. 提前置备项目
您可以提前置备工作区项目,而不依赖于自动配置。为每个用户重复上述步骤。
流程
在
CheCluster
级别禁用自动命名空间置备:devEnvironments: defaultNamespace: autoProvision: false
使用以下标签和注解为 <username> 用户创建 <project_name> 项目:
kind: Namespace apiVersion: v1 metadata: name: <project_name> 1 labels: app.kubernetes.io/part-of: che.eclipse.org app.kubernetes.io/component: workspaces-namespace annotations: che.eclipse.org/username: <username>
- 1
- 使用您选择的项目名称。