我尝试使用主机路径创建持久卷。我可以使用节点关联性将其绑定到特定节点,但是我没有提供。我的持久卷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在哪里运行。
答案 0 :(得分:2)
仅当卷绑定到与特定节点相关联的声明时。 HostPath卷与常规排序有所不同,因此不太清晰。当您get
进行批量声明时,其上的注释应为您提供大量信息,包括您要查找的内容。特别是,寻找:
volume.kubernetes.io/selected-node: ${NODE_NAME}
PVC上的注释。您可以向Kubernetes api服务器询问该信息,以查看批注以及其他计算的配置:
kubectl get pvc -o yaml -n ${NAMESPACE} ${PVC_NAME}