我正在学习CKAD,我试图在本地的迷你库集群上创建一个类型为PersistenVolume的hostPath,并安装到一个容器中。
这些步骤如下:
path: "/data/vol1/"
path: "/data/vol1/"
Bound
minikube ssh下作为卷挂载了PVC,并创建了一个文件/data/vol1/foo.bar
foo.bar,但它不存在。这是yaml文件
apiVersion: v1
kind: PersistentVolume
metadata:
name: 1311-pv
spec:
capacity:
storage: 2Gi
hostPath:
path: "/data/vol1/"
accessModes:
- ReadWriteMany
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: 1311-pvc
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 1Gi
---
apiVersion: v1
kind: Pod
metadata:
name: ex10
spec:
volumes:
- name: pvc
persistentVolumeClaim:
claimName: 1311-pvc
containers:
- image: httpd
name: web
volumeMounts:
- mountPath: "/var/something/"
name: pvc这就是这个系统的现状:
k get pvc
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
1311-pvc Bound pvc-c892f798-8ee6-4040-9177-3e77327e9ec6 1Gi RWX standard 5mk get pv
NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE
1311-pv 2Gi RWX Retain Available 13m
pvc-c892f798-8ee6-4040-9177-3e77327e9ec6 1Gi RWX Delete Bound default/1311-pvc standard 13mpod describe ex10
...
Mounts:
/var/run/secrets/kubernetes.io/serviceaccount from default-token-lw45q (ro)
/var/something/ from pvc (rw)
.... 一切看起来都是正确的,但我没有看到容器中的文件:
k exec ex10 -- ls /var/something
- no results here - 这是我在minikube中创建的:
ssh minikube
$ ls /data/vol1/
foo.bar发布于 2021-04-27 06:47:02
我找到了这个问题的解决方案,PV必须指定storageClassName: standard才能工作。
这就是PV应该如何正确地将数据存储到minikube主机中。
apiVersion: v1
kind: PersistentVolume
metadata:
name: 1311-pv
spec:
storageClassName: "standard"
capacity:
storage: 2Gi
hostPath:
path: "/host/"
accessModes:
- ReadWriteManyhttps://stackoverflow.com/questions/67274611
复制相似问题