Kubernetes JSON configMap 未安装
Kubernetes JSON configMap not mounted
我正在尝试将 JSON 格式的 configMap 映射到我在 Kubernetes 中的 docker 图像
我正在使用 config npm 包来获取配置。
我的想法是我将在 /config 目录中有一个文件 development.json,配置包将从那里获取它。这一切都适用于本地主机。配置文件的名称与 NODE_ENV 变量相同,我也在 deployment.yaml
中设置
我正在使用默认命名空间
这是configMap的开头(我可以看到它是在google kubernetes中创建的)
我是运行 ls是config目录,看看development.json文件是否已经挂载,但是没有。我想要替换 /config 并且只包含 development.json 文件
我也尝试过使用 subPath 参数,但结果相同
我做错了什么?我应该在事件中看到已安装 configMap 吗?除了当我删除 configMap 并尝试进行挂载时,没有相关日志,所以我认为挂载正在进行
apiVersion: v1
kind: ConfigMap
metadata:
name: config-development
namespace: default
data:
development.json: |
{
"production": false,
这是坐骑:
volumes:
- name: config-volume
configMap:
name: config-development
containers:
- name: salesforce-compare-api
image: XXXX
command: ["ls"]
args: ["config", "-la"]
imagePullPolicy: Always
env:
- name: NODE_ENV
value: "development"
volumeMounts:
- name: config-volume
mountPath: /config/development.json
通常,当无法挂载configmap 时,pod 甚至不会启动。所以它启动的事实表明它已安装。
无论如何,您的 volumeMounts 看起来有问题。
volumeMounts:
- name: config-volume
mountPath: /config/development.json
这导致整个配置映射被挂载到名为 development.json 的文件夹中,而您实际上只想挂载一个文件。
为此使用 subpath。
volumeMounts:
- name: config-volume
mountPath: /config/development.json
subPath: development.json
也就是说,如果容器内的 config 文件夹为空,您也可以删除子路径并将 configmap 挂载到 /config 目录,因为它不会覆盖任何重要内容。
volumeMounts:
- name: config-volume
mountPath: /config
我正在尝试将 JSON 格式的 configMap 映射到我在 Kubernetes 中的 docker 图像 我正在使用 config npm 包来获取配置。
我的想法是我将在 /config 目录中有一个文件 development.json,配置包将从那里获取它。这一切都适用于本地主机。配置文件的名称与 NODE_ENV 变量相同,我也在 deployment.yaml
中设置我正在使用默认命名空间
这是configMap的开头(我可以看到它是在google kubernetes中创建的)
我是运行 ls是config目录,看看development.json文件是否已经挂载,但是没有。我想要替换 /config 并且只包含 development.json 文件
我也尝试过使用 subPath 参数,但结果相同
我做错了什么?我应该在事件中看到已安装 configMap 吗?除了当我删除 configMap 并尝试进行挂载时,没有相关日志,所以我认为挂载正在进行
apiVersion: v1
kind: ConfigMap
metadata:
name: config-development
namespace: default
data:
development.json: |
{
"production": false,
这是坐骑:
volumes:
- name: config-volume
configMap:
name: config-development
containers:
- name: salesforce-compare-api
image: XXXX
command: ["ls"]
args: ["config", "-la"]
imagePullPolicy: Always
env:
- name: NODE_ENV
value: "development"
volumeMounts:
- name: config-volume
mountPath: /config/development.json
通常,当无法挂载configmap 时,pod 甚至不会启动。所以它启动的事实表明它已安装。
无论如何,您的 volumeMounts 看起来有问题。
volumeMounts:
- name: config-volume
mountPath: /config/development.json
这导致整个配置映射被挂载到名为 development.json 的文件夹中,而您实际上只想挂载一个文件。
为此使用 subpath。
volumeMounts:
- name: config-volume
mountPath: /config/development.json
subPath: development.json
也就是说,如果容器内的 config 文件夹为空,您也可以删除子路径并将 configmap 挂载到 /config 目录,因为它不会覆盖任何重要内容。
volumeMounts:
- name: config-volume
mountPath: /config