6.2. 挂载 ConfigMap
要将非机密配置数据挂载到工作区中,请使用 Kubernetes ConfigMap。
使用 Kubernetes ConfigMap,您可以挂载非敏感数据,如应用程序的配置值。
将 Kubernetes ConfigMap 挂载到您机构 OpenShift Dev Spaces 实例的 OpenShift 集群中的 Dev Workspace
容器。
先决条件
-
一个活跃的
oc
会话,它具有到目标 OpenShift 集群的管理权限。请参阅开始使用 CLI。 -
在用户项目中,您要创建新的 ConfigMap,或确定要挂载到所有
Dev Workspace
容器的现有 ConfigMap。
流程
将挂载 ConfigMap 所需的标签添加到 ConfigMap 中。
$ oc label configmap <ConfigMap_name> \ controller.devfile.io/mount-to-devworkspace=true \ controller.devfile.io/watch-configmap=true
可选: 使用注解来配置 ConfigMap 的挂载方式。
表 6.2. 可选注解 注解 描述 controller.devfile.io/mount-path:
指定挂载路径。
默认为
/etc/config/ <ConfigMap_name>
。controller.devfile.io/mount-as:
指定如何挂载资源:
文件
、子路径
或env
。默认为
文件
。mount-as:file
将键和值挂载为挂载路径中的文件。mount-as:subpath
使用子路径卷挂载在挂载路径中挂载键和值。mount-as:env
将键和值作为环境变量挂载到所有Dev Workspace
容器中。
例 6.2. 将 ConfigMap 挂载为环境变量
kind: ConfigMap apiVersion: v1 metadata: name: my-settings labels: controller.devfile.io/mount-to-devworkspace: 'true' controller.devfile.io/watch-configmap: 'true' annotations: controller.devfile.io/mount-as: env data: <env_var_1>: <value_1> <env_var_2>: <value_2>
当您启动一个工作区时,< ;env_var_1>
; 和 <env_var_2
> 环境变量将在 Dev Workspace
容器中可用。