kubernetes - 将 K8s PVC 挂载到隐藏的容器目录
问题描述
我正在努力将 PVC 安装到我的 pod 中的 /root/.guacamole 上。挂载到 /root/extensions 有效,但 .guacamole 不会让 pod 启动。基本上,我想将文件 guacamole-auth-totp-1.1.0.jar 包含到现有容器位置 /root/.guacamole/extensions (不要替换;即使 kubernetes 不太支持它):
作品
volumeMounts:
- mountPath: "/root/extensions"
name: vol-guacamole
subPath: guacamole-auth-totp-1.1.0.jar
volumes:
- name: vol-guacamole
persistentVolumeClaim:
claimName: guacamole-app-pvc
失败
volumeMounts:
- mountPath: "/root/.guacamole/extensions"
name: vol-guacamole
subPath: guacamole-auth-totp-1.1.0.jar
volumes:
- name: vol-guacamole
persistentVolumeClaim:
claimName: guacamole-app-pvc
kubectl logs pod
rm: cannot remove '/root/.guacamole/extensions': Device or resource busy
Kubernetes 版本
kubectl version
Client Version: version.Info{Major:"1", Minor:"17", GitVersion:"v1.17.0", GitCommit:"70132b0f130acc0bed193d9ba59dd186f0e634cf", GitTreeState:"clean", BuildDate:"2019-12-07T21:20:10Z", GoVersion:"go1.13.4", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"17", GitVersion:"v1.17.0", GitCommit:"70132b0f130acc0bed193d9ba59dd186f0e634cf", GitTreeState:"clean", BuildDate:"2019-12-07T21:12:17Z", GoVersion:"go1.13.4", Compiler:"gc", Platform:"linux/amd64"}
PV 和 PVC(无文件挂载)
kubectl get pv,pvc -n guacamole
NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE
[...]
persistentvolume/guacamole-app-pv 10Gi RWO Retain Bound guacamole/guacamole-app-pvc manual 4d15h
[...]
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
persistentvolumeclaim/guacamole-app-pvc Bound guacamole-app-pv 10Gi RWO manual 4d15h
PV 和 PVC(带文件挂载)
kubectl get pv,pvc -n guacamole
NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE
[...]
persistentvolume/guacamole-app-pv 10Gi RWO Retain Bound guacamole/guacamole-app-pvc manual 39s
[...]
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
persistentvolumeclaim/guacamole-app-pvc Bound guacamole-app-pv 10Gi RWO manual 39s
解决方案
推荐阅读
- php - 如何在 laravel 的公共目录中使用会话
- angular - Angular Universal:readFile$(...).mergeMap 不是函数
- java - Spring Integration 将文件移动到另一个文件夹,然后发送到 sftp 服务器
- node.js - Mongoose findById 返回空文档
- python - 如何下载适用于 python 3.6 的 Anaconda
- java - Spring AOP实现后的Spring配置问题
- linux - 日志轮换:应用程序不写入截断的新日志文件
- php - 在数据库中自动增加天数
- android - 共享 ViewModel 的 onCleared() 永远不会被调用
- c# - 有什么方法可以在不使用 EF 的情况下将 MSSQL 服务器连接到 .NET CORE (2.2) API?