数据卷

数据卷是用来持久化数据的,它的生命周期独立于容器,pod被删除后,数据卷中的数据不会丢失。

存储方案管理

存储方案基于 kubernetes 的 storageclass 概念定义了一套存储的模板。在创建数据卷(PVC)时,kubernetes 可以根据存储方案的配置,在存储系统动态创建相应大小的数据卷。 存储方案

目前支持 GlusterFS 的存储。在创建存储方案时,需要填入 heketi 的 ip 及端口到 resturl 栏中。高级选项里的配置为可选的。 新建存储方案

创建完成后可以在列表中看到。单击右上角可以删除。 存储方案列表

数据卷管理

数据卷可以提供很多有用的特性:

  • 数据卷可以在Pod和容器之间共享和重用
  • 对数据卷的修改会立马生效
  • 数据卷默认会一直存在,即使Pod被删除

数据卷列表

创建数据卷时,先选择集群和分区。使用已有方案创建数据卷时,只要选择存储方案并填写所需大小。需要注意的是,当存储方案有错误时,新建数据卷的请求也能被提交,但是最后会失败。 使用已有方案创建数据卷

  • 单节点读写(ReadWriteOnce): 数据卷只能被一个节点挂载并读写。
  • 多节点读写(ReadWriteMany): 数据卷能被多个节点挂载并读写。
  • 多节点只读(ReadOnlyMany): 数据卷能被多个节点挂载只读。

如果不使用存储方案,则需手动配置存储。以 glusterfs 为例,需要现在 glusterfs 存储集群创建好 volume,假设为 test-vol。然后在 kubernetes 创建好 endpoints 和 service,假设为glusterfs-cluster。然后就可以以下图形式创建数据卷。 创建glusterfs数据卷

如果不想通过命令行创建 endpoints 和 service,也可以直接填入 glusterfs 集群的 ip。假设 glusterfs 集群有 3 个节点:192.168.16.101192.168.16.102192.168.16.103创建glusterfs数据卷

使用数据卷

建好的数据卷可以以 pvc 的形式被 pod 挂载。数据卷是受分区隔离的,所以要先选择数据卷所在的分区。如下图,先选择了刚才创建的数据卷 glusterfs-volume,然后挂载到 mongo 容器的 /data/db 目录。 使用数据卷

results matching ""

    No results matching ""