3.2. 配置项目
对于每个用户,OpenShift Dev Spaces 会隔离项目中的工作区。OpenShift Dev Spaces 通过存在标签和注解来识别 user 项目。在启动工作区时,如果所需的项目不存在,OpenShift Dev Spaces 会使用模板名称创建项目。
您可以通过以下方法修改 OpenShift Dev Spaces 行为:
3.2.1. 配置项目名称
您可以配置 OpenShift Dev Spaces 在启动工作区时用来创建所需项目的项目名称模板。
有效的项目名称模板遵循以下惯例:
-
<
;username>
; 或<userid
> 占位符是必须的。 -
用户名和 ID 不能包含无效字符。如果用户名或 ID 的格式与 OpenShift 对象的命名惯例不兼容,OpenShift Dev Spaces 将用户名或 ID 更改为有效的名称,将不兼容的字符替换为
-
符号。 -
OpenShift Dev Spaces 评估了
<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. 提前置备项目
您可以提前置备工作区项目,而不是依赖于自动配置。为每个用户重复上述步骤。
流程
使用以下标签和注解为 < 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
- 使用您选择的项目名称。