容器部署Ceph集群

本文指针对mimic版的ceph镜像成功部署,其他版本自行测试
经实验拉取最新版本的ceph镜像(docker pull ceph/daemon:latest)在部署osd时容器报错:
/opt/ceph-container/bin/osd_disk_prepare.sh: line 46: ceph-disk: command not found
GitHub相关issue:https://github.com/ceph/ceph-container/issues/1395

# 1.拉取镜像、创建目录
docker pull ceph/daemon:latest-mimic
mkdir /etc/ceph
mkdir /var/lib/ceph

# 2.节点1运行mon、并将配置复制到其他节点
docker run -d --net=host --name=mon --restart=always 
-v /etc/ceph:/etc/ceph 
-v /var/lib/ceph:/var/lib/ceph 
-e MON_IP=192.168.200.186 
-e CEPH_PUBLIC_NETWORK=192.168.200.0/24 
ceph/daemon:latest-mimic mon

scp -r /etc/ceph/* ceph02:/etc/ceph/
scp -r /etc/ceph/* ceph03:/etc/ceph/
scp -r /var/lib/ceph/bootstrap-* ceph02:/var/lib/ceph/
scp -r /var/lib/ceph/bootstrap-* ceph03:/var/lib/ceph/

# 3.节点2运行mon
docker run -d --net=host --name=mon --restart=always 
-v /etc/ceph:/etc/ceph 
-v /var/lib/ceph:/var/lib/ceph 
-e MON_IP=192.168.200.187 
-e CEPH_PUBLIC_NETWORK=192.168.200.0/24 
ceph/daemon:latest-mimic mon

# 4.节点3运行mon
docker run -d --net=host --name=mon --restart=always 
-v /etc/ceph:/etc/ceph 
-v /var/lib/ceph:/var/lib/ceph 
-e MON_IP=192.168.200.188 
-e CEPH_PUBLIC_NETWORK=192.168.200.0/24 
ceph/daemon:latest-mimic mon

# 5.运行osd(有多少osd就运行多少个docker容器)
docker run -d --net=host --name=osd-1 --restart=always 
-v /etc/ceph:/etc/ceph 
-v /var/lib/ceph:/var/lib/ceph 
-v /dev/:/dev/ 
--pid=host 
--privileged=true 
-e OSD_DEVICE=/dev/sdb 
-e OSD_TYPE=disk 
-v /run/udev/:/run/udev/ 
ceph/daemon:latest-mimic osd

docker run -d --net=host --name=osd-2 --restart=always 
-v /etc/ceph:/etc/ceph 
-v /var/lib/ceph:/var/lib/ceph 
-v /dev/:/dev/ 
--pid=host 
--privileged=true 
-e OSD_DEVICE=/dev/sdc 
-e OSD_TYPE=disk 
-v /run/udev/:/run/udev/ 
ceph/daemon:latest-mimic osd

docker run -d --net=host --name=osd-3 --restart=always 
-v /etc/ceph:/etc/ceph 
-v /var/lib/ceph:/var/lib/ceph 
-v /dev/:/dev/ 
--pid=host 
--privileged=true 
-e OSD_DEVICE=/dev/sdd 
-e OSD_TYPE=disk 
-v /run/udev/:/run/udev/ 
ceph/daemon:latest-mimic osd

# 6.运行mgr
docker run -d --net=host --name=mgr --restart=always 
-v /etc/ceph:/etc/ceph 
-v /var/lib/ceph:/var/lib/ceph 
ceph/daemon:latest-mimic mgr

# 7.验证
docker ps
docker exec mon ceph -s
docker exec mon ceph osd tree
原文地址:https://www.cnblogs.com/Wang-Hongwei/p/15218437.html