Kubernetes以json格式配置映射错误
我正在尝试将probes.json文件装载到图像。我首先尝试通过手动指定值来创建一个类似于probes.json文件的configmap 然而,当我应用replicator控制器时,我得到了一个错误 如何将JSON文件传递到configmap/如何在数据参数中指定值 我尝试了以下步骤,但是,我得到了一个错误Kubernetes以json格式配置映射错误,json,kubernetes,Json,Kubernetes,我正在尝试将probes.json文件装载到图像。我首先尝试通过手动指定值来创建一个类似于probes.json文件的configmap 然而,当我应用replicator控制器时,我得到了一个错误 如何将JSON文件传递到configmap/如何在数据参数中指定值 我尝试了以下步骤,但是,我得到了一个错误 $ cat probes.json [ { "id": "F", "url": "http://frontend.stars:80/status" }, {
$ cat probes.json
[
{
"id": "F",
"url": "http://frontend.stars:80/status"
},
{
"id": "B",
"url": "http://backend.stars:6379/status"
},
{
"id": "C",
"url": "http://client.stars:9000/status"
}
]
配置映射:
apiVersion: v1
kind: ConfigMap
metadata:
name: my-vol-config
namespace: stars
data:
id: F
id: B
id: C
F: |
url: http://frontend.stars:80/status
B: |
url: http://backend.stars:6379/status
C: |
url: http://client.stars:9000/status
复制容器:
apiVersion: v1
kind: ReplicationController
metadata:
name: management-ui
namespace: stars
spec:
replicas: 1
template:
metadata:
labels:
role: management-ui
spec:
containers:
- name: management-ui
image: calico/star-collect:v0.1.0
imagePullPolicy: Always
ports:
- containerPort: 9001
volumeMounts:
name: config-volume
- mountPath: /star/probes.json
volumes:
- name: config-volume
configMap:
name: my-vol-config
错误:
kubectl apply -f calico-namespace/management-ui.yaml
service "management-ui" unchanged
error: error converting YAML to JSON: yaml: line 20: did not find expected key
此部分,
-
应在volumeMounts
volumeMounts:
name: config-volume
- mountPath: /star/probes.json
像这样:
volumeMounts:
- name: config-volume
mountPath: /star/probes.json
我想补充我今天学到的更多要点 使用下面的代码挂载文件将删除该目录下的所有文件,在本例中为容器中的星形目录
- volumeMounts:
- name: config-volume
mountPath: /star/probes.json
要解决这个问题,我们应该使用子路径
volumeMounts:
- name: "config-volume"
mountPath: "/star/probes.json"
subPath: "probes.json"
不要在如何将键值对传递到数据中上下功夫,请尝试作为json文件传递,并记住在创建configmap时指定名称空间
在我的示例中:我有probes.json,我尝试将其作为一种方式传递,而不将每个值传递给我的数据。我使用下面的命令创建了我的configmap
kubectl create configmap config --namespace stars --from-file calico-namespace/probes.json
我认为最新的yaml是无效的。例如,检查。我想你需要在钥匙前去掉破折号,它会的do@Tom冈萨雷斯·道林仍然犯同样的错误