k8s--基础--28.3--ceph--集群安装

本文详细介绍了在Kubernetes环境下安装Ceph集群的步骤,包括节点配置、基础软件包安装、防火墙设置、时间同步、YUM源配置、ceph-deploy的安装与使用,以及OSD节点的添加和激活。最终实现了一个健康的Ceph存储集群,可用于K8s中的持久化存储。
摘要由CSDN通过智能技术生成

k8s–基础–28.3–ceph–集群安装


1、机器

IPhostnameCPU内存硬盘说明
192.168.187.156monitor12核2G20G管理节点,监控节点
192.168.187.157monitor22核2G20G监控节点
192.168.187.158monitor32核2G20G监控节点
192.168.187.159osd12核2G20Gosd节点,也就是对象存储节点
192.168.187.160osd22核2G20Gosd节点,也就是对象存储节点

2、公共操作

各个节点都要操作

2.1、修改主机名

hostnamectl set-hostname monitor1
hostnamectl set-hostname monitor2
hostnamectl set-hostname monitor3
hostnamectl set-hostname osd1
hostnamectl set-hostname osd2

2.2、修改host文件

cat >> /etc/hosts  <<EOF
192.168.187.156  monitor1
192.168.187.157  monitor2
192.168.187.158  monitor3
192.168.187.159  osd1
192.168.187.160  osd2
EOF

2.3、配置monitor1到其他节点无密码登陆

在 monitor1上操作

2.3.1、生成加密信息

cd 
ssh-keygen -t rsa

一直回车就可以

2.3.2、将公钥复制到对应的节点上

ssh-copy-id -i .ssh/id_rsa.pub root@monitor2
ssh-copy-id -i .ssh/id_rsa.pub root@monitor3
ssh-copy-id -i .ssh/id_rsa.pub root@osd1
ssh-copy-id -i .ssh/id_rsa.pub root@osd2

2.4、安装基础软件包

yum install -y wget net-tools nfs-utils lrzsz gcc gcc-c++ make cmake libxml2-devel openssl-devel curl curl-devel unzip sudo ntp libaio-devel wget vim ncurses-devel autoconf automake zlib-devel  python-devel epel-release lrzsz  openssh-server

yum install -y deltarpm

2.5、关闭firewalld防火墙

所有节点节点操作

2.5.1、停止firewalld服务,并禁用

# 停止firewalld服务
systemctl stop firewalld.service  
# 禁用firewalld服务
systemctl disable firewalld.service 

# 查看状态
systemctl status firewalld.service  

2.5.2、安装iptables

除非你要用iptables,否则可以不用装,我这里是没有安装。

2.5.2.1、安装
yum install -y iptables-services
2.5.2.2、禁用iptables
# 停止iptables服务 并 禁用这个服务
service iptables stop && systemctl disable iptables

# 查看状态
service iptables status

2.6、时间同步

2.6.1、在monitor1上

ntpdate cn.pool.ntp.org
# 启动ntpd,并且设置开机自启动
systemctl start ntpd   && systemctl   enable  ntpd

2.6.2、其他节点 同步monitor1 时间

2.6.2.1、同步monitor1时间
ntpdate monitor1
2.6.2.2、定时同步时间

crontab -e

* */1 * * * /usr/sbin/ntpdate  monitor1

2.7、安装epel源

  1. 目的: 让我们可以安装ceph-deploy
  2. 在各个节点上操作
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*

2.8、配置ceph的yum源

  1. 目的: 让我们可以安装ceph-deploy
  2. 在各个节点上操作
vi /etc/yum.repos.d/ceph.repo

内容

[Ceph]
name=Ceph packages for $basearch
baseurl=http://mirrors.aliyun.com/ceph/rpm-jewel/el7/x86_64/
enabled=1
gpgcheck=0
type=rpm-md
gpgkey=https://mirrors.aliyun.com/ceph/keys/release.asc
priority=1

[Ceph-noarch]
name=Ceph noarch packages
baseurl=http://mirrors.aliyun.com/ceph/rpm-jewel/el7/noarch/
enabled=1
gpgcheck=0
type=rpm-md
gpgkey=https://mirrors.aliyun.com/ceph/keys/release.asc
priority=1

[ceph-source]
name=Ceph source packages
baseurl=http://mirrors.aliyun.com/ceph/rpm-jewel/el7/SRPMS/
enabled=1
gpgcheck=0
type=rpm-md
gpgkey=https://mirrors.aliyun.com/ceph/keys/release.asc
priority=1

2.9、更新yum源

  1. 目的: 让我们可以安装ceph-deploy
  2. 在各个节点上操作
yum update -y

3、安装ceph-deploy

3.1、monitor1

yum install -y ceph-deploy
yum install -y yum-plugin-priorities

3.2、其他节点

yum install -y ceph

4、搭建集群

在 monitor1 上操作

4.1、创建目录

用于保存ceph-deploy生成的配置文件信息

mkdir  -p /root/ceph-deploy

4.2、初始化monitor节点,

# 进入目录
cd /root/ceph-deploy 

# 执行ceph-deploy,生成的配置文件信息
ceph-deploy new monitor1 monitor2 monitor3

在这里插入图片描述

4.3、修改ceph配置文件

vi ceph.conf

内容

[global]
fsid = c9b9252e-b3e5-4ffb-84b5-3a5d68effefe
mon_initial_members = monitor1, monitor2, monitor3
mon_host = 192.168.187.156,192.168.187.157,192.168.187.158
auth_cluster_required = cephx
auth_service_required = cephx
auth_client_required = cephx


# 新增,把默认副本数从3改成2,也就是只有2个osd
osd pool default size = 2

因为我们环境中有2个OSD,Ceph模式的默认osd副本个数为3,因此需要修改为2

4.4、安装ceph集群

# 进入目录
cd /root/ceph-deploy 

ceph-deploy install monitor1 monitor2 monitor3 osd1 osd2

4.5、部署初始监视器并收集密钥

ceph-deploy mon create-initial
ll

可以看到生成很多密钥


ceph.bootstrap-mds.keyring  # MDS启动key
ceph.bootstrap-mgr.keyring 
ceph.bootstrap-osd.keyring  # OSD启动key 
ceph.bootstrap-rgw.keyring
ceph.client.admin.keyring # 管理员key
ceph.conf
ceph-deploy-ceph.log
ceph.mon.keyring

5、给ceph添加osd,并完成激活

5.1、在osd节点osd1和osd2上操作(对象存储节点)

mkdir /var/local/osd1
chmod 777 /var/local/osd1/

5.2、monitor1上操作

5.2.1、准备osd

# 进入目录
cd /root/ceph-deploy 
ceph-deploy osd prepare osd1:/var/local/osd1
ceph-deploy osd prepare osd2:/var/local/osd1

5.2.2、激活osd

# 进入目录
cd /root/ceph-deploy 
ceph-deploy osd activate osd1:/var/local/osd1
ceph-deploy osd activate osd2:/var/local/osd1

6、将配置文件和管理密钥分发到各个ceph节点

6.1、在monitor1上操作

# 进入目录
cd /root/ceph-deploy 

# 把秘钥文件拷贝到管理节点和ceph节点
ceph-deploy admin  monitor1 monitor2 monitor3 osd1 osd2

6.2、在 monitor1 monitor2 monitor3 osd1 osd2 上操作

# 给秘钥文件 设置读权限
chmod +r /etc/ceph/ceph.client.admin.keyring

6.3、查看集群健康状态

ceph health

在这里插入图片描述

HEALTH_OK,说明ceph osd添加成功,可以正常使用

7、ceph–rbd创建和使用

7.1、创建一个pool池

# 创建一个pool,名称是testpool
ceph osd pool create testpool 256
# 查看都有哪些pool池
ceph osd lspools

在这里插入图片描述

7.2、创建rbd(image)

# 在testpool中创建rbd,名称是myrbd,大小为10240
rbd create testpool/myrbd --size 10240

7.3、映射块设备到自己机器

# 需要禁用,否则挂载不成功
rbd feature disable  testpool/myrbd object-map fast-diff deep-flatten

# 查看块设备
rbd map testpool/myrbd  

7.4、挂载使用

# 创建目录
mkdir /mnt/firstrbd 

# 格式为xfs文件系统
mkfs.xfs /dev/rbd0 

# 挂载
mount /dev/rbd0 /mnt/firstrbd
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值