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

环境说明

|---------------|-----------|---------------------|----------|
| IP | 主机名 | 角色 | 存储设备 |
| 192.168.2.100 | master100 | mon,mgr,osd,mds,rgw | 大于5G的空设备 |
| 192.168.2.101 | node101 | mon,mgr,osd,mds,rgw | 大于5G的空设备 |
| 192.168.2.102 | node102 | mon,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

相关推荐
怡雪~13 小时前
Kubernetes使用Ceph存储
ceph·容器·kubernetes
学Linux的语莫11 天前
负载均衡,高可用,监控服务搭建总结
linux·服务器·分布式·ceph·lvs
运维小文11 天前
cephFS的使用以及K8S对接cephFS
ceph·云原生·容器·kubernetes·对象存储·cephfs
学Linux的语莫14 天前
ceph集群搭建,ceph块存储,文件存储,对象存储
linux·服务器·分布式·ceph
Rverdoser14 天前
K8S对接ceph的RBD块存储
ceph·容器·kubernetes
学Linux的语莫18 天前
Ceph对象存储
linux·运维·服务器·ceph
q_9718 天前
ceph基本概念
ceph
学Linux的语莫20 天前
Ceph文件存储
linux·运维·服务器·网络·ceph
学Linux的语莫20 天前
ceph相关的命令
linux·服务器·ceph
运维小文21 天前
ceph的存储池管理
ceph·云原生·对象存储·存储·分布式存储·cephfs