我正在使用Kubernetes Persistent Volumes进行实验,在Kubernetes文档中找不到清晰的解释,并且该行为不是我所期望的,所以我想在这里问一下。
我配置了以下“持久卷”和“持久卷声明”。
kind: PersistentVolume
apiVersion: v1
metadata:
name: store-persistent-volume
namespace: test
spec:
storageClassName: hostpath
capacity:
storage: 2Gi
accessModes:
- ReadWriteOnce
hostPath:
path: "/Volumes/Data/data"
---
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: store-persistent-volume-claim
namespace: test
spec:
storageClassName: hostpath
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
以及以下部署和服务配置。
kind: Deployment
apiVersion: apps/v1beta2
metadata:
name: store-deployment
namespace: test
spec:
replicas: 1
selector:
matchLabels:
k8s-app: store
template:
metadata:
labels:
k8s-app: store
spec:
volumes:
- name: store-volume
persistentVolumeClaim:
claimName: store-persistent-volume-claim
containers:
- name: store
image: localhost:5000/store
ports:
- containerPort: 8383
protocol: TCP
volumeMounts:
- name: store-volume
mountPath: /data
---
#------------ Service ----------------#
kind: Service
apiVersion: v1
metadata:
labels:
k8s-app: store
name: store
namespace: test
spec:
type: LoadBalancer
ports:
- port: 8383
targetPort: 8383
selector:
k8s-app: store
如您所见,我将“ / Volumes / Data / data”定义为“ Persistent Volume”,并希望将其安装到“ / data”容器中。
因此,我假设主机的“ /卷/数据/数据”中的内容应该在容器的“ /数据”目录中可见?
这个假设正确吗?
因为目前绝对不会发生这种情况。
我的第二个假设是,我在'/ data'中保存的所有内容都应该在主机上可见,这也没有发生。
我可以从Kubernetes控制台中看到一切正常启动(持久卷,声明,部署,Pod,服务...)
我完全理解持久卷概念吗?
PS。我正在带有Docker(18.05.0-ce-mac67(25042)-Channel edge)的Mac中尝试此操作,也许它在Mac上不起作用?
寻求答案
| 归档时间: |
|
| 查看次数: |
3489 次 |
| 最近记录: |