潇湘夜雨移动版

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

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

 
[root@zfb-jyhpt-bgcsjyh1 k8s]# kubectl exec -it vol-nfs-pod -- sh
# ls
bin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
# df -hT
Filesystem                           Type     Size  Used Avail Use% Mounted on
overlay                              overlay   50G  6.6G   44G  14% /
tmpfs                                tmpfs     64M     0   64M   0% /dev
tmpfs                                tmpfs    7.8G     0  7.8G   0% /sys/fs/cgroup
/dev/mapper/centos-root              xfs       50G  6.6G   44G  14% /etc/hosts
shm                                  tmpfs     64M     0   64M   0% /dev/shm
172.19.33.5:/data/UCMSServer/webapps nfs4     500G   27G  474G   6% /usr/share/nginx/html
 
访问测试:
[root@zfb-jyhpt-bgcsjyh1 k8s]# curl 10.244.4.28
nfs vol test !!!
 
 
2> RBD 存储卷
Ceph 分布式的 弹性可扩展的 高可用的、性能优异的存储系统平台,同
持提供块设 、文件系统和阻ST 种存储接口 一个高度可配置的系统,并提供了
个命 行界面用于监视和控制其存储集群 Ceph 还包含鉴证和授权功能,可兼容多种存储网
关接口 OpenStack Sw1负和 Amazon S3 Kubemetes 也支持通过阻 卷类型使用 ph 存储
系统为 Pod 提供存储卷 要配 Pod 资源使用 RBD 存储卷,需要事先满足如下几个前提条件
 存在可用的 Ceph RBD 存储集群,否则就需要创建
 Ceph RBD 群中创建1个能满足 Pod 资源数据存储需要的存储映像( image
 在 Kubemetes 群内的各节点上安装 Ceph 客户端程序包( ceph common)
在配置阻RBD类型的存储卷时,需要指定要连接的目标服务器和认证信息等,这一点通
常使用以下嵌套 段进行定义
monitors <[]string> : Ceph 存储监视器,逗号分隔的字符串列表;必选字段
image <string> : rados image 的名称,必选
pool <string> : rados 存储池名称, 默认为RBD
user <string> : rados 用户名, 认为 admin
keyring <string> : RBD 认证时使用的 keyring 文件路径,默认为 /etc/ceph/keyring
secretRef <Object> : RBD 用户认证时使用的保存有相应认证信息的 Secret 对象,会覆
盖由 keyring 段提供的密钥信息
readOnly boolean 否以只读的方式进行访问
fsType 挂载的存储卷的文件系统类型,至少应该是节点操作系统支持的文件系
统,如 ext4 xfs ntfs 认为 ext4
下面是 个定义在 vol rbd.yaml 配置文件中使用阻 存储卷的 Pod 资源示例
apiVersion : vl 
kind : Pod 
metadata : 
name : vol -r bd-pod 
spec : 
on tai ers
- n ame : redis 
image : redis : 4-alpine 
ports : 
- containerPort : 6379 
name : redisport 
volumeMounts : 
- mountPath : /data 
name : redis-rbd- vol 
volumes : 
- name : red -rbd- vol 
rbd : 
monitors : 
- ’ 172 . 16 . 0 . 56 : 6789 ’ 
- ' 172 . 16 . 0 . 57 : 6789 ' 
- ' 172 . 16 . 0.58 : 6789 ' 
pool : kube 
image : redis 
fsType : ext4 
readOnly : false 
us er : mi
secretRef : 
name : ceph-secret 
 
例依赖于事先存 Ceph 存储 群,这里假设其监视 的地址 172.16.0.56 (责任编辑:liangzh)