我正在尝试将目录挂载到我的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:
[如果有人可以提供帮助,我将不胜感激,谢谢。
您尚未在问题中包括存储类,但我假设您正在尝试在节点上进行本地存储。可能很容易检查,但是目录在您的Pod运行所在的节点上是否存在?而且可写吗?根据您拥有的工作节点数,您的Pod似乎可以在任何节点上运行,而PV并未设置为任何特定节点。您可以使用节点关联性来确保Pod在包含pv中引用的目录的同一节点上运行,如果有问题的话。
编辑,如果是nfs,则需要更改您的pv以包括:
nfs:
path: /mnt/share
server: <nfs server node ip/fqdn>