【发布时间】:2020-08-07 05:22:51
【问题描述】:
我正在尝试将目录挂载到我的 pod,但它总是显示错误“找不到文件或目录”
这是我用于部署的 yaml 文件:
apiVersion: apps/v1
kind: Deployment
metadata:
name: myapp1-deployment
labels:
app: myapp
spec:
replicas: 3
selector:
matchLabels:
app: myapp
template:
metadata:
labels:
app: myapp
spec:
volumes:
- name: test-mount-1
persistentVolumeClaim:
claimName: task-pv-claim-1
containers:
- name: myapp
image: 192.168.11.168:5002/dev:0.0.1-SNAPSHOT-6f4b1db
command: ["java -jar /jar/myapp1-0.0.1-SNAPSHOT.jar --spring.config.location=file:/etc/application.properties"]
ports:
- containerPort: 8080
volumeMounts:
- mountPath: "/etc/application.properties"
#subPath: application.properties
name: test-mount-1
# hostNetwork: true
imagePullSecrets:
- name: regcred
#volumes:
# - name: test-mount
这是持久化卷配置:
kind: PersistentVolume
apiVersion: v1
metadata:
name: test-mount-1
labels:
type: local
app: myapp
spec:
storageClassName: manual
capacity:
storage: 5Gi
accessModes:
- ReadWriteMany
hostPath:
path: "/mnt/share"
这是声明卷配置:
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: task-pv-claim-1
spec:
storageClassName: manual
accessModes:
- ReadWriteMany
resources:
requests:
storage: 5Gi
这是用于部署的服务配置:
apiVersion: v1
kind: Service
metadata:
name: myapp-service
spec:
selector:
app: myapp
externalIPs:
- 192.168.11.145
ports:
- protocol: TCP
port: 8080
nodePort: 31000
type: LoadBalancer
status:
loadBalancer:
ingress:
如果有人可以提供帮助,我将不胜感激。
【问题讨论】:
-
subPath: application.properties不工作? -
同样的错误“没有这样的文件或目录”尽管 /mnt/share 是一个 nfs 共享分区并且包含文件 application.properties
-
我在我的实验室中复制了您的设置,并进行了一些小改动(图像和 cmd),以使其适用于我的场景。我还使用了安装在我的主节点和工作节点上的外部 NFS。结果证明您的清单是正确的,它对我有用,无需更改您的 PV、PVC 或 volume/volumeMounts 规格上的任何内容。所以你的问题很可能与你的 NFS 服务器有关。这个 NFS 服务器是新的吗?您是为此特定设置创建的,还是与其他应用程序一起使用?
标签: linux kubernetes mount volumes