如何解决数据未存储到本地持久存储kubernetes中
我创建了Kubernetes持久卷并声明了它并在部署文件中使用了它们。
部署正常。但是我遇到的错误是数据仍存储在容器中。
我希望将数据存储在我在本地创建的pv中。
下面是我的PVC。
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: admin-pvc
labels:
app: data
spec:
accessModes:
- ReadWriteMany
storageClassName: local-storage
resources:
requests:
storage: 2Gi
selector:
matchLabels:
type: local
下面是我的pv
apiVersion: v1
kind: PersistentVolume
metadata:
name: task-pv-volume
labels:
type: local
spec:
storageClassName: local-storage
capacity:
storage: 2Gi
accessModes:
- ReadWriteMany
hostPath:
path: "/mnt/data"
我的数据仍在pod内。
我想进入pv。
解决方法
我认为您误解了pv和pvc的概念。 PV只是集群范围的存储,而pvc是pod可以用来存储数据并在需要时声明其所有权的存储。当您将PVC添加到Pod时,您Pod生成的任何数据都会存储在PVC中,这意味着无论Pod被杀死还是被重新创建,新Pod都会拥有所有数据。
,您的部署应参考此PVC:
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
name: something
name: something
spec:
replicas: 1
selector:
matchLabels:
name: something
strategy:
type: Recreate
template:
spec:
containers:
- image: something/something
volumeMounts:
- name: your-volume-mount
mountPath: /some/path/in/your/container
restartPolicy: Always
dnsPolicy: ClusterFirst
volumes:
- name: your-volume-mount
persistentVolumeClaim:
claimName: admin-pvc # here it is!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。