cephadm部署ceph quincy版本,使用ceph-csi连接

环境说明

IP主机名角色

存储设备

192.168.2.100

master100

mon,mgr,osd,mds,rgw

大于5G的空设备
192.168.2.101node101mon,mgr,osd,mds,rgw大于5G的空设备
192.168.2.102node102mon,mgr,osd,mds,rgw大于5G的空设备

关闭防火墙

关闭并且禁用selinux

配置主机名/etc/hosts

配置ssh免密登录

配置时间同步chrony

安装docker服务

配置ceph国内镜像 (ubuntu server 20.04)

wget -q -O- 'https://mirrors.aliyun.com/ceph/keys/release.asc' |  apt-key add - 

apt-add-repository 'deb https://mirrors.aliyun.com/ceph/debian-quincy/ focal main'

apt update

参考Get Packages — Ceph Documentation

安装cephadm

curl https://ghproxy.com/https://raw.githubusercontent.com/ceph/ceph/quincy/src/cephadm/cephadm -o cephadm

chmod +x cephadm

./cephadm add-repo --release quincy

./cephadm install ceph-common ceph

./cephadm install

which cephadm

which ceph

初始化ceph集群

cephadm bootstrap --mon-ip 192.168.2.100

添加新节点

ssh-copy-id -f -i /etc/ceph/ceph.pub root@node101

ssh-copy-id -f -i /etc/ceph/ceph.pub root@node102

ceph orch host add node101 或 ceph orch host add node101 192.168.2.101

ceph orch host add node102 或 ceph orch host add node102 192.168.2.102

ceph orch host ls

部署MON

ceph orch apply mon master100,node101,node102

部署OSD

查看可用的存储设备

ceph orch device ls

方式1: 让ceph使用所有可用的存储设备

ceph orch apply osd --all-available-devices

方式2:手工添加存储设备

ceph orch daemon add osd master100:/dev/sdb

ceph orch daemon add osd node101:/dev/sdb

ceph orch daemon add osd node102:/dev/sdb

部署mds

ceph orch apply mds cephfs --placement=”3 master100 node101 node102”

部署rgw

ceph orch apply rgw myrealm myzone --placement=”3 master100 node101 node102”

部署mgr

ceph orch apply mgr master100,node101,node102

查看状态

访问ceph dashboard

https://192.168.2.100:8443

接下来开始部署ceph-csi

git clone -b release-v3.8 https://github.com/ceph/ceph-csi.git

创建一个pool

ceph osd pool create kubernetes

rbd pool init kubernetes

创建用户client.kubernetes

生成ceph-csi ConfigMap

运行ceph mon dump获取ceph集群信息

kubectl apply -f csi-config-map.yaml

生成csi-kms-config-map.yaml

kubectl apply -f csi-kms-config-map.yaml

生成ceph-config-map.yaml

kubectl apply -f ceph-config-map.yaml

创建Secret

csi-rbd-secret.yaml

kubectl apply -f csi-rbd-secret.yaml

配置ceph-csi插件

kubectl apply -f deploy/rbd/kubernetes/csi-provisioner-rbac.yaml

kubectl apply -f deploy/rbd/kubernetes/csi-nodeplugin-rbac.yaml

修改csi-rbdplugin-provisioner.yaml

sed -i ‘s/cephcsi:canary/cephcsi:v3.8.0/g’ csi-rbdplugin-provisioner.yaml

sed -i ‘s/registry.k8s.io\/sig-storage/registry.aliyuncs.com\/google_containers/g’ csi-rbdplugin-provisioner.yaml

kubectl apply -f csi-rbdplugin-provisioner.yaml

修改csi-rbdplugin.yaml

sed -i ‘s/cephcsi:canary/cephcsi:v3.8.0/g’ csi-rbdplugin.yaml

sed -i ‘s/registry.k8s.io\/sig-storage/registry.aliyuncs.com\/google_containers/g’ csi-rbdplugin.yaml

kubectl apply -f csi-rbdplugin.yaml

创建StorageClass

ceph-csi-rbd-sc.yaml

创建pvc

ceph-csi-rbd-pvc.yaml

创建pod

ceph-csi-rbd-pod.yaml

查看创建的PVC

查看rbd设备

创建cephfs

ceph osd pool create cephfs_data 32 32

ceph osd pool create cephfs_metadata 32 32

ceph fs new cephfs cephfs_metadata cephfs_data

生成ceph-csi ConfigMap

和rbd相同,不用重复执行。

生成csi-kms-config-map.yaml

和rbd相同,不用重复执行。

生成ceph-config-map.yaml

和rbd相同,不用重复执行。

创建Secret,这里使用ceph的管理员账户

ceph-csi-cephfs-secret.yaml

kubectl apply -f ceph-csi-cephfs-secret.yaml

配置ceph-csi插件

kubectl apply -f deploy/cephfs/kubernetes/csi-nodeplugin-rbac.yaml

kubectl apply -f deploy/cephfs/kubernetes/csi-provisioner-rbac.yaml

修改csi-cephfsplugin-provisioner.yaml

sed -i ‘s/cephcsi:canary/cephcsi:v3.8.0/g’ csi-cephfsplugin-provisioner.yaml

sed -i ‘s/registry.k8s.io\/sig-storage/registry.aliyuncs.com\/google_containers/g’ csi-cephfsplugin-provisioner.yaml

kubectl apply -f csi-cephfsplugin-provisioner.yaml

修改csi-cephfsplugin.yaml

sed -i ‘s/cephcsi:canary/cephcsi:v3.8.0/g’ csi-cephfsplugin.yaml

sed -i ‘s/registry.k8s.io\/sig-storage/registry.aliyuncs.com\/google_containers/g’ csi-cephfsplugin.yaml

kubectl apply -f csi-cephfsplugin.yaml

创建StorageClass

ceph-csi-cephfs-sc.yaml

创建pvc

创建pod

参考资料

https://github.com/ceph/ceph-csi/blob/devel/docs/deploy-rbd.md

https://github.com/ceph/ceph-csi/blob/devel/docs/deploy-cephfs.md

  • 23
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1. 确认环境 在开始部署之前,请确保您已经完成了以下操作: - 确认您的服务器已经安装了 CentOS 7.x 或者 CentOS 8.x 操作系统。 - 确认您的服务器已经安装了 Docker 和 Python3。 - 确认您的服务器已经安装了 Ceph 17.2.5 的二进制文件。 2. 创建 cephadm 配置文件 在开始部署之前,您需要创建一个 cephadm 配置文件。您可以参考以下示例: ``` [global] mon_host = 192.168.1.100,192.168.1.101,192.168.1.102 mgr_host = 192.168.1.100,192.168.1.101,192.168.1.102 osd_host = 192.168.1.103,192.168.1.104,192.168.1.105 public_network = 192.168.1.0/24 cluster_network = 192.168.2.0/24 fsid = bbd30c27-7a89-4a96-8b7d-6bda1c7d77e9 auth_cluster_required = cephx auth_service_required = cephx auth_client_required = cephx osd_pool_default_size = 2 osd_pool_default_min_size = 1 osd_pool_default_pg_num = 64 osd_pool_default_pgp_num = 64 osd_crush_chooseleaf_type = 1 [mon] mon_initial_members = ceph-mon-1,ceph-mon-2,ceph-mon-3 mon_allow_pool_delete = true [osd] osd_journal_size = 100 osd_objectstore = bluestore osd_mkfs_type = xfs osd_mkfs_options_xfs = -f ``` 在上述配置文件中,您需要修改以下参数: - mon_host:指定 Mon 节点的 IP 地址。 - mgr_host:指定 Mgr 节点的 IP 地址。 - osd_host:指定 OSD 节点的 IP 地址。 - public_network:指定公网 IP 地址段。 - cluster_network:指定集群 IP 地址段。 - fsid:指定集群的 UUID。 - mon_initial_members:指定初始的 Mon 节点名称。 3. 部署 Ceph 在创建好 cephadm 配置文件之后,您可以使用以下命令部署 Ceph: ``` cephadm bootstrap --mon-ip 192.168.1.100 --config-file /path/to/ceph.conf ``` 在上述命令中,您需要修改以下参数: - --mon-ip:指定 Mon 节点的 IP 地址。 - --config-file:指定 cephadm 配置文件的路径。 在执行以上命令后,Ceph 将会在您的服务器上自动部署。 4. 部署 OSD 在部署Ceph 后,您可以使用以下命令部署 OSD: ``` ceph orch apply osd --all-available-devices ``` 在上述命令中,--all-available-devices 参数表示使用所有可用的硬盘作为 OSD。 5. 部署 RGW 如果您需要部署 RGW,您可以使用以下命令: ``` ceph orch apply rgw --all-available-devices ``` 在上述命令中,--all-available-devices 参数表示使用所有可用的硬盘作为 RGW。 6. 部署 NFS 如果您需要部署 NFS,您可以使用以下命令: ``` ceph orch apply nfs ``` 在执行以上命令后,您可以使用 mount 命令将 NFS 挂载到客户端。 7. 部署 iSCSI 如果您需要部署 iSCSI,您可以使用以下命令: ``` ceph orch apply iscsi ``` 在执行以上命令后,您可以使用 iSCSI 客户端连接到 iSCSI 服务。 8. 部署 CephFS 如果您需要部署 CephFS,您可以使用以下命令: ``` ceph orch apply mds ``` 在执行以上命令后,您可以使用 mount 命令将 CephFS 挂载到客户端。 9. 总结 通过以上步骤,您已经成功部署Ceph 17.2.5 版本。您可以根据需要部署 RGW、NFS、iSCSICephFS 等服务。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值