,,在kubernetes中,想实现荚数据的持久化。在调研的过程中,发现ceph在最近几年发展火热,也有很多案例落地企业。在选型方面,个人更加倾向于社区火热的项目,从而,ceph都在考虑的范围之内,但是由于从而只提供对象存储和文件系统存储,而ceph则提供对象存储,块存储以及文件系统存储。怀着对新事物的向往,果断选择ceph来实现ceph块存储对接kubernetes来实现pod的数据持久化。
,,ceph是无中心化的存储,它没有管理节点,计算节点的之分。
,,ceph的文件是被分片的,每一个数据块是一个对象,对象保存在不同的服务器上。当节点失效,自动迁移数据,重新复制副本。可以动态的添加元数据服务器和存储节点,容量可以动态扩展。
,,ceph分为mon监视器节点(至少一个),osd对象存储节点(至少2个),mds元数据节点。
,,
进程负责存储数据,处理数据的复制,恢复,回填,再平衡,并通过其他的osd守护进程的心跳,来向我提供一些监控信息。当你设置osd有2个副本的时候,至少需要2个osd守护进程才能达到归档+清洁的状态,默认有3个副本。
,,
负责维护集群状态的各种图表,包括监视图和osd图等。
,,
负责为ceph文件系统存储数据的时候才使用。
,,
:存储的文件数据归类为对象对象;对象放在对应的池子里面(池);池由若干个pg组成;pg是由若干个osd组成;osd是由硬盘组成。
环境
,k8s-node1 ,,,172.16.1.201 ,,管理节点数据节点
,k8s-node2 ,,,172.16.1.202 ,,数据节点
,k8s-node3 ,,,172.16.1.203 ,数据节点
上述要加入/etc/主机文件里面。
该实验的操作系统为centos 7, ceph k版本。
,ceph的部署,,
<强> 1、关闭系统上的防火墙以及selinux >强
<强> 2,拷贝管理节点的秘钥到其他节点实现无密码登录 >强
<前> ssh-keygen -t  rsa ssh-copy-id root@ceph-node1 ..... >之前<强> 3、在各个节点上配置需要的百胜源 >强
<前> (Ceph) name=Ceph packages  for basearch美元 baseurl=http://mirrors.163.com/ceph/rpm-kraken/el7/basearch美元 启用=1 优先级=1 gpgcheck=1 gpgkey=https://download.ceph.com/keys/release.asc (Ceph-noarch) name=Ceph noarch 包 baseurl=http://mirrors.163.com/ceph/rpm-kraken/el7/noarch 启用=1 优先级=1 gpgcheck=1 gpgkey=https://download.ceph.com/keys/release.asc (ceph-source) name=Ceph source 包 baseurl=http://mirrors.163.com/ceph/rpm-kraken/el7/SRPMS 启用=0 优先级=1 gpgcheck=1 gpgkey=https://download.ceph.com/keys/release.asc >之前<强> 4、管理节点安装ceph-deploy工具, >强
<前> [root@k8s-node1 yum.repos.d] #, yum -y install ceph-deploy >之前<强> 5、管理节点创建工作目录 >强
<前> (root@k8s-node1 ~) #,, mkdir -p /etc/ceph >之前
<强>
6,创建两个星期一
>强
<强> 7日,默认情况下最少是需要一个妈,2个osd >强
在配置文件ceph。会议中加入我们的业务网段配置公共网络=172.16.22.0/24,结果如下:
<前> [root@k8s-node1 ceph] #, vim ceph.conf (全球) fsid =, 2 e6519d9 b733 - 446 f - 8单元8622796 - f83ef 时间=mon_initial_members k8s-node1 k8s-node2 mon_host =172.16.22.201,172.16.22.202 auth_cluster_required =cephx auth_service_required =cephx auth_client_required =cephx public network =172.16.22.0/24