在Kubernetes中的hostpath挂载方法之后,目录显示为空



我正在尝试装载一个名为rstudio的目录,该目录位于/mnt/rstudio中。但是,当我尝试使用持久卷装载时,会显示目录,但不会显示rstudio中的文件。这是我的部署文件

apiVersion: apps/v1
kind: Deployment
metadata:
name: rsp-deployment
spec:
selector:
matchLabels:
app: rsp
replicas: 1
strategy: {}
template:
metadata:
labels:
app: rsp
spec:
nodeSelector:
kubernetes.io/hostname: testserver.local
volumes:
- name: rsp-persistent-storage
persistentVolumeClaim:
claimName: pv-claim-rsp
containers:
- env:
- name: RSP_LICENSE
value: MY LICENSE
image: rstudio/rstudio-server-pro:latest
name: rstudio-server-pro
ports:
- containerPort: 8787
- containerPort: 5559
volumeMounts:
- name: rsp-persistent-storage
mountPath: /tmp/rstudio
resources: {}
securityContext:
privileged: true
restartPolicy: Always
status: {}
---
kind: Service
apiVersion: v1
metadata:
name: rstudio-server-pro
spec:
selector:
app: rsp
ports:
- protocol: TCP
name: "8787"
port: 8787
targetPort: 8787
type: NodePort

我的pv和pvc文件如下

apiVersion: v1
kind: PersistentVolume
metadata:
name: pv-volume-rsp
spec:
capacity:
storage: 5Gi
accessModes:
- ReadWriteOnce
hostPath:
path: "/mnt/rstudio"
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: pv-claim-rsp
spec:
accessModes:
- ReadWriteOnce
storageClassName: ""
resources:
requests:
storage: 5Gi

在我的/mnt/rstudio里面有这么多文件。

[root@test-server rstudio]# ls
launcher.conf                      launcher-mounts          launcher.pub        rserver.conf  
launcher.kubernetes.conf           launcher-mounts_working  logging.conf        rsession.conf 
launcher.kubernetes.profiles.conf  launcher.pem             notifications.conf  r-versions

但是在pod启动并运行之后,目录显示为空。知道为什么吗?提前感谢!

LGTM。如果我用nginx交换图像,我会得到文件。我会检查两件事:

  1. 权限:检查文件的权限。您可能需要更新您的权限或UID才能访问这些文件
  2. rstudio映像是否使用该路径?启动时可能正在处理该文件夹。尝试挂载到其他路径,看看是否可以看到这些文件

此外,请确保在存在主机路径的节点上启动pod。我假设testserver.localtest-server是相同的。

HTH-

您是否使用您创建的PV?用检查

kubectl get pvc

试着给pv添加一个标签,并使用matchLabels选择器来确保PVC实际上消耗了您刚刚创建的pv:

apiVersion: v1
kind: PersistentVolume
metadata:
name: pv-volume-rsp
labels:
name: pv-volume-rsp  # Added
spec:
capacity:
storage: 5Gi
accessModes:
- ReadWriteOnce
hostPath:
path: "/mnt/rstudio"
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: pv-claim-rsp
spec:
accessModes:
- ReadWriteOnce
storageClassName: ""
resources:
requests:
storage: 5Gi
selector:
matchLabels:
name: pv-volume-rsp  # Added 

最新更新