如何找到我的永久卷位置

时间:2020-05-27 03:23:11

标签: kubernetes kubernetes-pvc

我尝试使用主机路径创建持久卷。我可以使用节点关联性将其绑定到特定节点,但是我没有提供。我的持久卷YAML看起来像这样

apiVersion: v1
kind: PersistentVolume
metadata:
  name: jenkins
  labels:
    type: fast
spec:
  capacity:
    storage: 1Gi
  accessModes:
    - ReadWriteOnce
  persistentVolumeReclaimPolicy: Recycle
  hostPath:
    path: /mnt/data

此后,我创建了PVC

---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: myclaim
spec:
  accessModes:
    - ReadWriteOnce
  volumeMode: Filesystem
  resources:
    requests:
      storage: 1Gi

最后将它附加到吊舱上。

apiVersion: v1
kind: Pod
metadata:
  name: mypod
spec:
  containers:
    - name: myfrontend
      image: thinkingmonster/nettools
      volumeMounts:
        - mountPath: "/var/www/html"
          name: mypd
  volumes:
    - name: mypd
      persistentVolumeClaim:
        claimName: myclaim

现在在用于pv或pvc的describe命令中,它并没有告诉它实际上在哪个节点上保留了/ mnt / data

我不得不ssh到所有节点以找到相同的节点。

并且pod足够聪明,仅在Kubernetes已将主机目录映射到PV的节点上创建

我怎么知道Kubernetes在哪个节点上创建了持久卷?无需SSH节点或检查Pod在哪里运行。

1 个答案:

答案 0 :(得分:2)

仅当卷绑定到与特定节点相关联的声明时。 HostPath卷与常规排序有所不同,因此不太清晰。当您get进行批量声明时,其上的注释应为您提供大量信息,包括您要查找的内容。特别是,寻找:

volume.kubernetes.io/selected-node: ${NODE_NAME}
PVC上的

注释。您可以向Kubernetes api服务器询问该信息,以查看批注以及其他计算的配置:

kubectl get pvc -o yaml -n ${NAMESPACE} ${PVC_NAME}