当前位置:  开发笔记 > 开发工具 > 正文

PersistentVolume如何与hostPath一起使用?

如何解决《PersistentVolume如何与hostPath一起使用?》经验,为你挑选了1个好方法。

我已将Gitlab部署到具有持久性存储的Azure kubernetes集群中,其定义方式如下:

kind: PersistentVolume
apiVersion: v1
metadata:
  name: gitlab-data
  namespace: gitlab
spec:
  capacity:
    storage: 8Gi
  accessModes:
    - ReadWriteMany
  hostPath:
    path: "/tmp/gitlab-data"

几天运作良好。突然我存储在Gitlab中的所有数据都消失了,我也不知道为什么。我以为已hostPath定义的PersistentVolumen确实是持久性的,因为它保存在节点上并以某种方式复制到所有现有节点。但是我的数据现在丢失了,我不知道为什么。我查询了每个节点的正常运行时间,没有重新启动。我登录到节点并检查了路径,据我所知数据已消失。

那么PersistentVolume Mounts在Kubernetes中如何工作?所保存的数据是否真的持久存在于节点上?如果将部署拆分为多个节点,多个节点如何共享数据?是hostPath可靠的持久存储吗?



1> pagid..:

hostPath不会在节点之间共享或复制数据,并且一旦您的pod在另一个节点上启动,数据就会丢失。您应该考虑使用一些外部共享存储。

以下是官方文档中的相关报价:

HostPath(仅用于单节点测试–不以任何方式支持本地存储,并且在多节点群集中将不起作用)

来自kubernetes.io/docs/user-guide/persistent-volumes/

推荐阅读
N个小灰流_701
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有