Kubernetes 装载配置映射为POD中的卷,但装载为空
我正在尝试将ConfigMap装载为Pod中包含文件的目录。目录正在显示,但其中没有文件。这里有一个spec.yaml,我正在使用Kubernetes 装载配置映射为POD中的卷,但装载为空,kubernetes,Kubernetes,我正在尝试将ConfigMap装载为Pod中包含文件的目录。目录正在显示,但其中没有文件。这里有一个spec.yaml,我正在使用kubectl apply-f spec.yaml: apiVersion: v1 kind: ConfigMap metadata: name: config-map-1 data: key-1: Wow I am such a config --- apiVersion: v1 kind: Pod metadata: name: file-printe
kubectl apply-f spec.yaml
:
apiVersion: v1
kind: ConfigMap
metadata:
name: config-map-1
data:
key-1: Wow I am such a config
---
apiVersion: v1
kind: Pod
metadata:
name: file-printer
spec:
volumes:
- name: config-volume
configMap:
name: config-map-1
containers:
- name: file-printer
image: gcr.io/google_containers/busybox
volumeMounts:
- name: config-volume
mountPath: /config-map-file
command: ["ls", "/", "/config-map-file"]
restartPolicy: Never
我正在运行ls//config map file
,因此可以看到正在创建目录,但未填充目录:
bash-3.2$ kubectl logs file-printer
/:
bin
config-map-file
dev
[...snip...]
usr
var
/config-map-file:
bash-3.2$
我希望/config map file
中有一个名为key-1
的文件,但它是空的:(
这是kubectl描述pod文件打印机的输出:
bash-3.2$ kubectl describe pod file-printer
Name: file-printer
Namespace: default
Node: 127.0.0.1/127.0.0.1
Start Time: Mon, 04 Apr 2016 20:28:33 -0500
Labels: <none>
Status: Succeeded
IP: 172.17.0.2
Controllers: <none>
Containers:
file-printer:
Container ID: docker://5d08d31a8b06665ce50ba1147df8473a5997406813edff1fa2126cb48464a979
Image: gcr.io/google_containers/busybox
Image ID: docker://sha256:e7d168d7db455c45f4d0315d89dbd18806df4784f803c3cc99f8a2e250585b5b
Port:
Command:
ls
/
/config-map-file
QoS Tier:
cpu: BestEffort
memory: BestEffort
State: Terminated
Reason: Completed
Exit Code: 0
Started: Mon, 04 Apr 2016 20:28:36 -0500
Finished: Mon, 04 Apr 2016 20:28:36 -0500
Ready: False
Restart Count: 0
Environment Variables:
Conditions:
Type Status
Ready False
Volumes:
config-volume:
Type: ConfigMap (a volume populated by a ConfigMap)
Name: config-map-1
default-token-e5g2d:
Type: Secret (a volume populated by a Secret)
SecretName: default-token-e5g2d
Events:
FirstSeen LastSeen Count From SubobjectPath Type Reason Message
--------- -------- ----- ---- ------------- -------- ------ -------
3s 3s 1 {default-scheduler } Normal Scheduled Successfully assigned file-printer to 127.0.0.1
2s 2s 1 {kubelet 127.0.0.1} Warning FailedSync Error syncing pod, skipping: failed to "StartContainer" for "POD" with RunContainerError: "addNDotsOption: ResolvConfPath \"/mnt/sda1/var/lib/docker/containers/9472967c2cb9f471067e87560f061647afb9b353c6548f3b64cc06c034e5fe1f/resolv.conf\" does not exist"
1s 1s 1 {kubelet 127.0.0.1} spec.containers{file-printer} Normal Pulling pulling image "gcr.io/google_containers/busybox"
0s 0s 1 {kubelet 127.0.0.1} spec.containers{file-printer} Normal Pulled Successfully pulled image "gcr.io/google_containers/busybox"
0s 0s 1 {kubelet 127.0.0.1} spec.containers{file-printer} Normal Created Created container with docker id 5d08d31a8b06
0s 0s 1 {kubelet 127.0.0.1} spec.containers{file-printer} Normal Started Started container with docker id 5d08d31a8b06
0s 0s 1 {kubelet 127.0.0.1} Warning FailedSync Error syncing pod, skipping: failed to "StartContainer" for "file-printer" with RunContainerError: "failed to apply oom-score-adj to container \"exceeded maxTries, some processes might not have desired OOM score\"- /k8s_file-printer.903c39c6_file-printer_default_b64f103c-facd-11e5-b027-7eac684371ee_aa7b4c91"
bash-3.2$kubectl文件打印机
名称:文件打印机
名称空间:默认值
节点:127.0.0.1/127.0.0.1
开始时间:2016年4月4日星期一20:28:33-0500
标签:
状态:成功
IP:172.17.0.2
控制器:
容器:
文件打印机:
容器ID:docker://5d08d31a8b06665ce50ba1147df8473a5997406813edff1fa2126cb48464a979
图片:gcr.io/google_containers/busybox
图像ID:docker://sha256:e7d168d7db455c45f4d0315d89dbd18806df4784f803c3cc99f8a2e250585b5b
端口:
命令:
ls
/
/配置映射文件
QoS层:
cpu:最佳努力
记忆:最佳努力
国家:终止
原因:已完成
退出代码:0
开始时间:2016年4月4日星期一20:28:36-0500
完成时间:2016年4月4日星期一20:28:36-0500
就绪:错误
重新启动计数:0
环境变量:
条件:
类型状态
准备错误
卷数:
配置卷:
类型:ConfigMap(由ConfigMap填充的卷)
名称:config-map-1
default-token-e5g2d:
类型:Secret(由Secret填充的卷)
SecretName:default-token-e5g2d
活动:
子对象路径类型原因消息中的FirstSeen LastSeen计数
--------- -------- ----- ---- ------------- -------- ------ -------
3s 3s 1{默认计划程序}正常计划已成功将文件打印机分配给127.0.0.1
2s 1{kubelet 127.0.0.1}警告同步pod失败错误,跳过:无法使用RunContainer为“pod”启动容器错误:“addNDotsOption:ResolvConfPath\”/mnt/sda1/var/lib/docker/containers/9472967C2CB9F47167E87560F061647AFB9B353C6548F3B64CC06C034E5FE1F/resolv.conf\“不存在”
1s1s1{kubelet 127.0.0.1}spec.containers{文件打印机}正常拉取图像“gcr.io/google_containers/busybox”
0s 0s1{kubelet 127.0.0.1}spec.containers{file printer}正常拉取成功拉取图像“gcr.io/google_containers/busybox”
0s 0s1{kubelet 127.0.0.1}spec.containers{file printer}正常创建的容器,docker id为5d08d31a8b06
0s 0s1{kubelet 127.0.0.1}spec.containers{file printer}正常启动docker id为5d08d31a8b06的容器
0s 0s 1{kubelet 127.0.0.1}警告同步pod失败,跳过:无法使用RunContainer为“文件打印机”启动容器错误:“未能将oom分数调整应用于容器\”超过最大值,某些进程可能没有所需的oom分数\“-/k8s_file-printer.903c39c6_file-printer_default_b64f103c-facd-11e5-b027-7eac684371ee_aa7b4c91”
我遗漏了什么?客户端和服务器都在运行1.2.0。啊,这是另一个问题中提到的一个副本,你能通过
kubectl descripe pod
的输出吗?@Yu JuHong补充道,谢谢!另外,我刚刚在GKE上用三个节点尝试了相同的spec.yaml,它按预期工作,所以我猜我的设置不知怎么了。我已经完成了只是按照可能重复的方向操作