介绍
前面的文章中,我们讲到 kubernetes想实现 pod 数据的持久化,也就是存储这块是比较难。当然在开源界已经有好几款比较成熟的产品,比如Ceph,GlusterFS,TFS,HDFS等。
GlusterFS,ceph 在最近几年发展火热。在选型方面,个人更加倾向于社区火热的项目,GlusterFS、Ceph 都在考虑的范围之内,但是由于 GlusterFS 只提供对象存储和文件系统存储,而 Ceph 则提供对象存储、块存储以及文件系统存储。对于中小团队来讲,选择 Ceph 来实现 Ceph 块存储对接 kubernetes 来实现 pod 的数据持久化。
安装
1。管理节点 安装部署工具ceph-deploy
把 Ceph 仓库添加到 管理节点,然后安装 ceph-deploy 。
- 在 Debian 和 Ubuntu 发行版上,执行下列步骤:
- 添加 release key :
wget -q -O- 'https://download.ceph.com/keys/release.asc' | sudo apt-key add -
- 添加Ceph软件包源
echo deb http://download.ceph.com/debian-{ceph-stable-release}/ $(lsb_release -sc) main | sudo tee /etc/apt/sources.list.d/ceph.list
可以修改成阿里或163的镜像地址
- 在 Red Hat (rhel6、rhel7)、CentOS (el6、el7)和 Fedora 19-20 (f19 - f20) 上执行下列步骤:
sudo subscription-manager repos --enable=rhel-7-server-extras-rpms
sudo yum install -y yum-utils && sudo yum-config-manager --add-repo https://dl.fedoraproject.org/pub/epel/7/x86_64/ && sudo yum install --nogpgcheck -y epel-release && sudo rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 && sudo rm /etc/yum.repos.d/dl.fedoraproject.org*
加入安装yum源
sudo vim /etc/yum.repos.d/ceph.repo
## 填入内容
[ceph-noarch]
name=Ceph noarch packages
baseurl=http://download.ceph.com/rpm-{ceph-release}/{distro}/noarch
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=https://download.ceph.com/keys/release.asc
## 更新yum源并安装
sudo yum update && sudo yum install ceph-deploy
2 。CEPH 节点安装 NTP时间同步
在 CentOS / RHEL 上,执行:
sudo yum install ntp ntpdate ntp-doc
在 Debian / Ubuntu 上,执行:
sudo apt-get install ntp
3. 允许管理节点无密码 SSH 登录
生成 SSH 密钥对,但不要用 sudo 或 root 用户。提示 “Enter passphrase” 时,直接回车,口令即为空:
ssh-keygen
## 一路回车
## 把公钥拷贝到各 Ceph 节点
ssh-copy-id root@node1
ssh-copy-id root@node2
ssh-copy-id root@node3
4 安装集群
从管理节点建立一个 [Ceph 存储集群],该集群包含三个节点,部署结构如下图:
4.1 创建集群
ceph-deploy new node1
4.2 安装 Ceph 节点
ceph-deploy install node1 node2 node3
4.3 配置初始 monitor(s)、并收集所有密钥
ceph-deploy mon create-initial
4.4 添加两个 OSD
### 列出节点所有磁盘信息
ceph-deploy disk list node02 node03
### 清除磁盘分区和内容,确保sdb盘没有数据已经不需要了
ceph-deploy disk zap node02:sdb node03:sdb
### 分区格式化并激活
ceph-deploy osd create node02:sdb node03:sdb
ceph-deploy osd activate node02:sdb node03:sdb
网友评论