我已经创建了清单文件,如下所示:
apiVersion: v1
kind: Pod
metadata:
name: kuard
spec:
volumes:
- name: "kuard-data"
hostPath:
path: "/home/developer/kubernetes/exercises"
containers:
- image: gcr.io/kuar-demo/kuard-amd64:1
name: kuard
volumeMounts:
- mountPath: "/data"
name: "kuard-data"
ports:
- containerPort: 8080
name: http
protocol: TCP
如您所见,主机路径为:
path: "/home/developer/kubernetes/exercises"
而mountPath
是:
mountPath: "/data"
我已经在文件夹hello.txt
中创建了一个/home/developer/kubernetes/exercises
文件,当我通过kubectl exec -it kuard ash
进入广告连播时,找不到文件hello.txt
。
https://pid.cz/o-systemu/opendata/
文件在哪里?
答案 0 :(得分:2)
kind使用Docker容器来simulate
Kubernetes节点。因此,当您在主机(Ubuntu计算机)上创建文件时,容器将不会自动访问它们。
(当使用macos或Windows且docker在单独的虚拟机中运行时,这变得更加复杂...)
我假设在kind-docker-nodes内部有一些可见的共享文件夹,但是我找不到记录的文件。
您可以使用docker exec -it kind-control-plane /bin/sh
从容器内部验证docker节点的文件系统内容,然后使用常规工具。
如果您需要使开发计算机中的内容可用,则可能需要看一下ksync:https://github.com/vapor-ware/ksync