k8s存储卷与数据持久化(7)
时间:2020-09-23 15:52 来源:未知 作者:liangzh 点击:次
[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) |