首页 > 解决方案 > 将 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 得到所有 -o 宽

kubectl 描述 pod

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

标签: kubernetesstorageguacamolekubernetes-pvc

解决方案


推荐阅读