潇湘夜雨移动版

主页 > 系统 > 云计算与云原生 >

k8s存储卷与数据持久化(8)

172.16.0.57 172.16.0 58 IP 且集群上的存储池 kube 存在 好的映
Red is ,此映 拥有 ext4 件系统。 Ceph 客户 端访问集群 需要事先完成认证之后才能进
的访问 作,此示例 认证信息保存于名 ceph-secret Secret 资源 象中
 
 
3>GlusterFS 存储卷
GlusterFS ( Gluster File System )是一个开源的分布式文件系统,是水平扩展存储
解决方案 Gluster,具有强横向扩展能力, GlusterFS 过控制能够支持数PB 存储容量和处理数千客户端。 
GlusterFS借助于TCP/IP或InfiniBand RDMA 网络将物理分布的存储资源聚集在一起, 使用单一全局命名空间来管理数据,
另外GlusterFS堆叠的用户空间设计,可为各种不同的数据负载提供优异的性能, 是一种流行的
分布式存储解决方案。要配置 Pod 源使用 GlusterFS 存储卷,需满足以下前提
1 )存在某可用的 GlusterFS 存储 否则就创建一个
2 )在 GlusterFS集群中创建一个能满足Pod 资源数据存储需要的卷
3 )在 Kubernetes 集群内的 GlusterFS 户端程包(gluster、glusterfs-use)
另外,若要基于 glusterFS 使用存储卷的动态供给机制, 需要事先部署heketi
,它用于为 GlusterFS 集群提供RESTful风格的管理接口。Gluster存储集群及
heketi的配置示请参考官方文档
定义 Pod 资源使用GlusterFS 存储卷类型时,常用的配置字段包含如下几个:
endpoints <string> : Endpoints 资源名称,此资源需要事先存在 提供 Gluster
集群 分节点信息 为其的问入口;必选
path string :用到的 GlusterFS 群的 路径,如 kube-redis ;必选
readOnly <boolean> 是否为只读卷
下面是一个定义在 vol-glust rfs.yaml 配置文件中的 Pod 资源示例,它使用了 GlusterFS
存储卷持久 存应用数据 它通过 glusterfs endpoints 源中定义的 GlusterFS 群节点信
息接入集群 kube red is Pod lu st rfs ndpoints 资源 需要
Kubert 
apiVersion : vl 
kind : Pod 
metadata : 
name vol glusterfs-pod 
labels: 
app : redis 
spec : 
containers:
-name redids
image : redis:alpine 
ports : 
- containerPort : 6379 
 name redisport 
volumeMounts : 
- mountPath: /data 
name : redisdata 
volumes : 
- name : redisdata 
glusterfs : 
endpoints: glusterfs-endpoints 
path: kube-redis 
readOnly : false 
用于访问 lu ster 集群的相关节点信息要事先保存于某特定的 Endpoints 资源中,例如
上面示例中调用的 glusterfs-endpoints Endpoints 资源可由用户根据实际需求手动创
建,例如,下面的保存于 glusterfs-endpoints.yaml文件中的资源示例中定义了三个接入相关
Gluster 存储集群的节点 gfsO1. ilinux.io gfs02.ilinux.io gfs03.ilinux.io ,其中的端口信
息仅为满足 Endpoints 资源的必选宇段要求,因此其值可以随意填写:
apiVersion : vl 
kind: Endpoints 
rnetadata: 
name: glusterfs-endpo nts
subsets: 
- addresses: 
- ip: gfsOl.ilinux.io 
ports : 
- port : 24007 
name : glusterd 
addresses : 
- ip : gfs02 . ilinux . io 
ports : 
- port : 24007 
name : glusterd 
- addresses : 
- ip : gfs03.ilinux.io 
ports : 
- port : 24007 
name: glusterd 
首先创建 Endpoints 资源 glusterfs-endpoints ,而后再创建 Pod 资源 vol-glusterfs-pod
即可测试其数据持久存储的效果
 
4>Cinder 存储卷
Cinder OpenStack Block Storage 的项目名称,用来为虚拟机( VM )实例提供持
久块存储 Cinder 通过驱动架构支持多种后端( back-end )存储方式,包括 LYM NFS
Ceph 和其他诸如 EMC IBM 等商业存储产品和方案,其提供了调用度来调度卷创建的
请求,能合理优化存储资源的分配,而且还拥有 REST API Kubernetes 集群部署于 (责任编辑:liangzh)