3.3.2.2.4. Kubernetes Infra 参数
3.3.2.2.4.1. CHE_INFRA_KUBERNETES_MASTER__URL
配置 Infra 将使用的 Kubernetes 客户端 master URL。
- 默认
- empty
3.3.2.2.4.2. CHE_INFRA_KUBERNETES_TRUST__CERTS
将 Kubernetes 客户端配置为使用可信证书的布尔值。
- 默认
-
false
3.3.2.2.4.3. CHE_INFRA_KUBERNETES_CLUSTER__DOMAIN
Kubernetes 集群域。如果没有设置,svc 名称将不包含有关集群域的信息。
- 默认
-
NULL
3.3.2.2.4.4. CHE_INFRA_KUBERNETES_SERVER__STRATEGY
定义向 Kubernetes infra 中向全局公开服务器的方式。OpenShift Dev Spaces 中实施的策略列表: default-host
、多主机
、单一主机
。
- 默认
-
multi-host
3.3.2.2.4.5. CHE_INFRA_KUBERNETES_SINGLEHOST_WORKSPACE_EXPOSURE
定义在单主机模式中公开工作区插件和编辑器的方式。支持的暴露 :
使用 Kubernetes 入口公开服务器。仅在 Kubernetes 上工作。网关
:使用 reverse-proxy 网关公开服务器。
- 默认
-
原生
3.3.2.2.4.6. CHE_INFRA_KUBERNETES_SINGLEHOST_WORKSPACE_DEVFILE__ENDPOINT__EXPOSURE
定义如何在单主机服务器策略中公开 devfile 端点作为最终用户的应用程序。它们可以遵循单一主机策略,并在子路径上公开,或者可以在子域上公开。多主机
:在子域上公开 单主机
: 在子路径上公开
- 默认
-
multi-host
3.3.2.2.4.7. CHE_INFRA_KUBERNETES_SINGLEHOST_GATEWAY_CONFIGMAP__LABELS
定义将设置为 ConfigMap 配置单主机网关的标签。
- 默认
-
app=che,component=che-gateway-config
3.3.2.2.4.8. CHE_INFRA_KUBERNETES_INGRESS_DOMAIN
在本例中为 che.infra.kubernetes.server_strategy
为 multi-host
时,在工作区中为服务器生成域
- 默认
- empty
3.3.2.2.4.9. CHE_INFRA_KUBERNETES_NAMESPACE_CREATION__ALLOWED
指明 OpenShift Dev Spaces 服务器是否允许 OpenShift Dev Spaces 服务器为用户工作区创建项目,还是由集群管理员手动创建。OpenShift infra 也使用此属性。
- 默认
-
true
3.3.2.2.4.10. CHE_INFRA_KUBERNETES_NAMESPACE_DEFAULT
定义在用户未覆盖时创建用户工作区的 Kubernetes 默认命名空间。可以使用 < username> 和 <
; userid>
占位符(例如: che-workspace-<username>
)。在这种情况下,会为每个用户创建新命名空间。由 OpenShift infra 以及指定项目使用。< ;username>
; 或 <userid
> 占位符是必需的。
- 默认
-
<username>-che
3.3.2.2.4.11. CHE_INFRA_KUBERNETES_NAMESPACE_LABEL
定义 che-server 是否应该尝试标记工作空间命名空间。注意:强烈建议保留此属性的值设为 true。如果为 false,则新的工作区命名空间不会自动标记,因此 OpenShift Dev Spaces 运算符无法识别,使 DevWorkspace 的功能无法正常工作。如果为 false,则需要管理员使用 che.infra.kubernetes.namespace.labels 中指定的标签手动标记命名空间。如果要自己管理命名空间,请确定遵循 https://www.eclipse.org/che/docs/stable/administration-guide/provisioning-namespaces-in-advance/。命名空间中存在的任何额外标签都会保留,不会影响功能。另请注意,管理员可以自由地预先创建命名空间,即使此属性为 true,也手动标记命名空间。如果命名空间已符合标签要求,则不会执行对命名空间的更新。
- 默认
-
true
3.3.2.2.4.12. CHE_INFRA_KUBERNETES_NAMESPACE_ANNOTATE
定义 che-server 是否应该尝试注解工作区命名空间。
- 默认
-
true
3.3.2.2.4.13. CHE_INFRA_KUBERNETES_NAMESPACE_LABELS
要查找用于 OpenShift Dev Spaces Workspaces 的项目的标签列表。它们用于: - 查找与 che.infra.kubernetes.namespace.annotations
结合使用的用户准备项目。- 主动标记带有任何工作区的项目。注意:强烈建议不要更改此属性的值,因为 OpenShift Dev Spaces 运算符在协调 DevWorkspaces 时依赖于这些标签及其精确的值。如果更改了此配置,则 OpenShift Dev Spaces 操作器不会自动识别命名空间,除非使用默认标签和值进行手动标记。命名空间中的附加标签不会影响功能。
- 默认
-
app.kubernetes.io/part-of=che.eclipse.org,app.kubernetes.io/component=workspaces-namespace
3.3.2.2.4.14. CHE_INFRA_KUBERNETES_NAMESPACE_ANNOTATIONS
若要查找项目为 OpenShift Dev Spaces 用户工作区准备的注解列表。只有与 che.infra.kubernetes.namespace.namespace.labels 匹配的项目才会与这些注解匹配。与
和 che.infra.kubernetes.namespace.labels
che.infra.kubernetes.namespace.annotations
匹配的项目将优先用于用户工作区。可以使用 < username>
; 占位符将项目指定为 concrete 用户。它们用于: - 查找与 che.infra.kubernetes.namespace.labels
结合的用户准备项目 - 主动为项目附带任何工作区。
- 默认
-
che.eclipse.org/username=<username>
3.3.2.2.4.15. CHE_INFRA_KUBERNETES_SERVICE__ACCOUNT__NAME
定义应绑定到所有工作区 Pod 的 Kubernetes 服务帐户名称。Kubernetes 基础架构不会创建服务帐户的 OpenShift Dev Spaces Operator,应存在它。OpenShift 基础架构将检查项目是否有预定义(如果 che.infra.openshift.project
尚未为空):- 如果预定义,则服务帐户必须存在 - 如果它是 'NULL' 或空字符串,则基础架构将根据工作区创建新的 OpenShift 项目,并使用所需的角色准备工作区服务帐户
- 默认
-
NULL
3.3.2.2.4.16. CHE_INFRA_KUBERNETES_WORKSPACE__SA__CLUSTER__ROLES
指定可选、用于 workspace 服务帐户的额外集群角色。集群角色名称必须已存在 OpenShift Dev Spaces Operator,并且 OpenShift Dev Spaces 服务帐户需要能够创建 Role Binding,以将这些集群角色与工作区服务帐户关联。名称用逗号分开。此属性弃用 che.infra.kubernetes.cluster_role_name
。
- 默认
-
NULL
3.3.2.2.4.17. CHE_INFRA_KUBERNETES_USER__CLUSTER__ROLES
要分配给其命名空间中的用户的集群角色
- 默认
-
NULL
3.3.2.2.4.18. CHE_INFRA_KUBERNETES_WORKSPACE__START__TIMEOUT__MIN
定义限制 Kubernetes 工作空间开始时间的等待时间。
- 默认
-
8
3.3.2.2.4.19. CHE_INFRA_KUBERNETES_INGRESS__START__TIMEOUT__MIN
定义 Kubernetes Ingress 就绪的时间(分钟)的超时时间(以分钟为单位)
- 默认
-
5
3.3.2.2.4.20. CHE_INFRA_KUBERNETES_WORKSPACE__UNRECOVERABLE__EVENTS
如果工作区启动了一个不可恢复的事件,则立即停止工作区,而不等待超时。此 SHOULD 中没有包括 mere "Failed" 原因,因为可能会捕获无法恢复的事件。失败的容器启动由 OpenShift Dev Spaces 服务器明确处理。
- 默认
-
FailedMount,FailedScheduling,MountVolume.SetUpfailed,Failed to pull image,FailedCreate,ReplicaSetCreateError
3.3.2.2.4.21. CHE_INFRA_KUBERNETES_PVC_ENABLED
定义 OpenShift Dev Spaces 工作区需要使用持久性卷声明,例如:备份项目、日志或禁用它。
- 默认
-
true
3.3.2.2.4.22. CHE_INFRA_KUBERNETES_PVC_STRATEGY
定义在为工作区选择 PVC 时使用的策略。支持的策略: 常见
: 同一项目中的所有工作区都会重复使用相同的 PVC。PVC 名称可使用 che.infra.kubernetes.pvc.name
进行配置。使用现有的 PVC,或者如果不存在,则会创建一个新 PVC。唯一
:将使用每个工作区的卷的 9 月 PVC。PVC 名称被评估为 '{che.infra.kubernetes.pvc.name} + '-' + {generated_8_chars}'
。使用现有的 PVC,或者如果不存在,则会创建一个新 PVC。对于每个 工作区
,将使用每个工作区的 9 月 PVC。PVC 名称被评估为 '{che.infra.kubernetes.pvc.name} + '-' + {WORKSPACE_ID}'
。使用现有的 PVC;如果不存在,就会创建一个新 PVC。
- 默认
-
common
3.3.2.2.4.23. CHE_INFRA_KUBERNETES_PVC_PRECREATE__SUBPATHS
定义是否在启动工作区前为通用策略创建工作区的 子路径
目录。在一些 OpenShift 版本中作为工作区子路径卷挂载创建为 root 权限,因此不能被以用户运行的工作区修改(代表在 OpenShift Dev Spaces 中将一个错误导入项目导入到工作区)。的默认值为 true
,但如果 OpenShift 的版本以用户权限创建子目录,则应当设为 false
。请参阅 volumeMount 中的 subPath,对于非 root 用户 #41638,只有在 使用通用
PVC 策略时,此属性才会生效的 OpenShift Dev Spaces Operator。
- 默认
-
true
3.3.2.2.4.24. CHE_INFRA_KUBERNETES_PVC_NAME
定义 OpenShift Dev Spaces 工作区的 PVC 名称设置。每个 PVC 策略都不同,提供这个值。请参阅 che.infra.kubernetes.pvc.strategy
属性的文档
- 默认
-
claim-che-workspace
3.3.2.2.4.25. CHE_INFRA_KUBERNETES_PVC_STORAGE__CLASS__NAME
为工作区定义持久性卷声明的存储类。空字符串表示"使用默认"。
- 默认
- empty
3.3.2.2.4.26. CHE_INFRA_KUBERNETES_PVC_QUANTITY
定义 OpenShift Dev Spaces 工作区的持久性卷声明的大小。请参阅: 了解持久性存储
- 默认
-
10Gi
3.3.2.2.4.27. CHE_INFRA_KUBERNETES_PVC_JOBS_IMAGE
在 OpenShift 上执行持久性卷声明维护作业时启动的 Pod
- 默认
-
registry.access.redhat.com/ubi8-minimal:8.3-230
3.3.2.2.4.28. CHE_INFRA_KUBERNETES_PVC_JOBS_IMAGE_PULL__POLICY
用于 OpenShift 集群中维护作业的容器的镜像拉取策略
- 默认
-
IfNotPresent
3.3.2.2.4.29. CHE_INFRA_KUBERNETES_PVC_JOBS_MEMORYLIMIT
为持久性卷声明维护作业定义 Pod 内存限值
- 默认
-
250Mi
3.3.2.2.4.30. CHE_INFRA_KUBERNETES_PVC_ACCESS__MODE
定义持久性卷声明访问模式。用于常见 PVC 策略更改的 OpenShift Dev Spaces Operator 会影响同时运行工作区的数量。如果运行 OpenShift Dev Spaces 的 OpenShift 实例使用带有 RWX 访问模式的持久性卷,则只由 OpenShift Dev Spaces 限制配置(RAM、CPU 等)绑定。请参阅: 了解持久性存储
- 默认
-
ReadWriteOnce
3.3.2.2.4.31. CHE_INFRA_KUBERNETES_PVC_WAIT__BOUND
定义 OpenShift Dev Spaces 服务器是否应该等待工作区持久性卷声明在创建后被绑定。默认值为 true
。参数供所有持久性卷声明策略使用。当 volumeBindingMode
配置为 WaitForFirstConsumer
时,它应该设置为 false
,否则工作区在等待 PVC 的阶段将挂起。
- 默认
-
true
3.3.2.2.4.32. CHE_INFRA_KUBERNETES_INGRESS_ANNOTATIONS__JSON
定义用于公开服务器的 ingress 的注解。值取决于入口控制器的类型。OpenShift 基础架构会忽略此属性,因为它使用 Routes 而不是 Ingresses。对于单一主机部署策略的 OpenShift Dev Spaces Operator 正常工作,必须使用控制器支持 URL 重新编写 URL(因此该 URL 可以指向不同的服务器,而服务器不需要支持更改应用程序 root)。che.infra.kubernetes.ingress.path.rewrite_transform
属性定义应如何转换 ingress 的路径来支持 URL 重新编写,并且此属性定义了在 ingress 本身上指示所选入口控制器实际执行的注解集,从而有可能在转换路径上构建转换(如果由所选入口控制器的要求)。例如,推荐使用 Nginx ingress controller 0.22.0 及更新的版本: {"Ingress.kubernetes.io/rewrite-target": "/$1","ingress.kubernetes.io/ssl-redirect": "false",\ "ingress.kubernetes.io/proxy-connect-timeout": "3600","ingress.kubernetes.io/proxy-read-timeout": "3600", "nginx.org/websocket-services ":"<service-name>"}
和 che.infra.kubernetes.ingress.path.rewrite_transform
"应设置为 "%s(.*)
"。对于早于 0.22.0 的 nginx ingress 控制器,rewrite-target 应该设置为 merely /
,路径应设置为 %s
(请参阅 che.infra.kubernetes.ingress.path.rewrite_transform
属性)。如需了解入口控制器如何使用入口路径中的正则表达式的说明,以及如何实现 URL 重新编写,请参阅 Nginx ingress 控制器文档。
- 默认
-
NULL
3.3.2.2.4.33. CHE_INFRA_KUBERNETES_INGRESS_PATH__TRANSFORM
定义如何声明应公开服务器的入站路径的方法。%s
代表服务器的基本公共 URL,可保证以正斜杠结尾。此属性必须为 String.format()
方法的有效输入,并且仅包含对 %s
的具体参考。请参阅 che.infra.kubernetes.ingress.annotations_json
属性的描述,以查看在指定入口注解和路径时这两个属性间如何。如果没有定义,此属性默认为 %s
(不带引号),这意味着路径不会以任何与入口控制器一起使用的方法转换。
- 默认
-
NULL
3.3.2.2.4.34. CHE_INFRA_KUBERNETES_INGRESS_LABELS
要添加到 OpenShift Dev Spaces 服务器创建的每个 Ingress 的额外标签,以便明确识别。
- 默认
-
NULL
3.3.2.2.4.35. CHE_INFRA_KUBERNETES_POD_SECURITY__CONTEXT_RUN__AS__USER
定义由 Kubernetes Infra 创建的 Pod 的安全上下文,OpenShift infra 会忽略它
- 默认
-
NULL
3.3.2.2.4.36. CHE_INFRA_KUBERNETES_POD_SECURITY__CONTEXT_FS__GROUP
定义由 Kubernetes Infra 创建的 Pod 的安全上下文。特殊的补充组,适用于 Pod 中的所有容器。OpenShift infra 会忽略它。
- 默认
-
NULL
3.3.2.2.4.37. CHE_INFRA_KUBERNETES_POD_TERMINATION__GRACE__PERIOD__SEC
定义将由 OpenShift 基础架构创建的 Pod 宽限期。默认值: 0
。它允许快速停止 Pod,并显著减少停止工作区所需的时间。如果 OpenShift Dev Spaces Operator 已在 OpenShift 配方中明确设置了 terminationGracePeriodSeconds
,则它不会被覆盖。
- 默认
-
0
3.3.2.2.4.38. CHE_INFRA_KUBERNETES_TLS__ENABLED
创建启用了传输层安全(TLS)的 Ingresses。在 OpenShift 基础架构中,路由将启用 TLS。
- 默认
-
false
3.3.2.2.4.39. CHE_INFRA_KUBERNETES_TLS__SECRET
创建使用 TLS 的工作空间入口时使用的 secret 名称。OpenShift 基础架构会忽略此属性。
- 默认
- empty
3.3.2.2.4.40. CHE_INFRA_KUBERNETES_TLS__KEY
用于工作区入口的 TLS Secret 的数据。
应使用 Base64 算法进行编码。OpenShift 基础架构会忽略这些属性。
证书和密钥
- 默认
-
NULL
3.3.2.2.4.41. CHE_INFRA_KUBERNETES_TLS__CERT
应该用于工作区 Ingress 的 TLS Secret 的证书数据。证书应该采用 Base64 算法进行编码。OpenShift 基础架构会忽略此属性。
- 默认
-
NULL
3.3.2.2.4.42. CHE_INFRA_KUBERNETES_RUNTIMES__CONSISTENCY__CHECK__PERIOD__MIN
定义将执行运行时一致性检查的期间。如果运行时状态不一致,则会自动停止运行时。值必须大于 0 或 -1
,其中 -1
表示根本不执行检查。默认情况下禁用它,因为当 OpenShift Dev Spaces 服务器没有用户调用操作时,OpenShift Dev Spaces Server 无法与 Kubernetes API 交互。它适用于以下配置: - OpenShift Dev Spaces 服务器所在的同一命名空间中创建工作区对象; - cluster-admin
服务帐户令牌被挂载到 OpenShift Dev Spaces Server Pod 中。它不适用于以下配置: - OpenShift Dev Spaces Server 使用来自 OAuth 供应商的令牌与 Kubernetes API 通信。
- 默认
-
-1
3.3.2.2.4.43. CHE_INFRA_KUBERNETES_TRUSTED__CA_SRC__CONFIGMAP
OpenShift Dev Spaces 服务器命名空间中的 ConfigMap 名称,带有额外的 CA TLS 证书,以传播到所有用户的工作区。如果在 OpenShift 4 基础架构上设置属性,并且 che.infra.openshift.trusted_ca.dest_configmap_labels
包含 config.openshift.io/inject-trusted-cabundle=true
标签,则集群 CA 捆绑包将会被推广。
- 默认
-
NULL
3.3.2.2.4.44. CHE_INFRA_KUBERNETES_TRUSTED__CA_DEST__CONFIGMAP
带有额外 CA TLS 证书的工作区命名空间中的 ConfigMap 名称。包含 che.infra.kubernetes.trusted_ca.src_configmap
的副本,但在工作区命名空间中。此 ConfigMap 的内容挂载到所有工作区容器中,包括插件代理。不要更改 ConfigMap 名称,除非与已存在的 ConfigMap 冲突。OpenShift Dev Spaces Operator 可以调整生成的 ConfigMap 名称最终使其在项目中是唯一的。原始名称将存储在 che.original_name
标签中。
- 默认
-
ca-certs
3.3.2.2.4.45. CHE_INFRA_KUBERNETES_TRUSTED__CA_MOUNT__PATH
配置应挂载 CA 捆绑包的工作区容器的路径。由 che.infra.kubernetes.trusted_ca.dest_configmap
指定的 ConfigMap 内容已被挂载。
- 默认
-
/public-certs
3.3.2.2.4.46. CHE_INFRA_KUBERNETES_TRUSTED__CA_DEST__CONFIGMAP__LABELS
要添加到用户工作区中的 CA 证书 ConfigMap 中的以逗号分隔的标签列表。请参阅 che.infra.kubernetes.trusted_ca.dest_configmap
属性。
- 默认
- empty