使用Docker簡單部署Ceph單機測試集群

2021-09-25 21:33:42 字數 2779 閱讀 1274

通過docker可以快速部署小規模ceph集群的流程,可用於開發測試。

以下的安裝流程是通過linux shell來執行的;假設你只有一台機器,裝了linux(如ubuntu)系統和docker環境,那麼可以參考以下步驟安裝ceph:

# 1. 建立ceph專用網路

docker network create --driver bridge --subnet 172.20.0.0/16 ceph-network

docker network inspect ceph-network

# 2. 刪除舊的ceph相關容器

docker rm -f $(docker ps -a | grep ceph | awk '')

# 3. 清理舊的ceph相關目錄檔案,假如有的話

rm -rf /www/ceph /var/lib/ceph/ /www/osd/

# 4. 建立相關目錄及修改許可權,用於掛載volume

mkdir -p /www/ceph /var/lib/ceph/osd /www/osd/

chown -r 64045:64045 /var/lib/ceph/osd/

chown -r 64045:64045 /www/osd/

# 5. 建立monitor節點

docker run -itd --name monnode --network ceph-network --ip 172.20.0.10 -e mon_name=monnode -e mon_ip=172.20.0.10 -v /www/ceph:/etc/ceph ceph/mon

# 6. 在monitor節點上標識3個osd節點

docker exec monnode ceph osd create

docker exec monnode ceph osd create

docker exec monnode ceph osd create

# 7. 建立osd節點

docker run -itd --name osdnode0 --network ceph-network -e cluster=ceph -e weight=1.0 -e mon_name=monnode -e mon_ip=172.20.0.10 -v /www/ceph:/etc/ceph -v /www/osd/0:/var/lib/ceph/osd/ceph-0 ceph/osd

docker run -itd --name osdnode1 --network ceph-network -e cluster=ceph -e weight=1.0 -e mon_name=monnode -e mon_ip=172.20.0.10 -v /www/ceph:/etc/ceph -v /www/osd/1:/var/lib/ceph/osd/ceph-1 ceph/osd

docker run -itd --name osdnode2 --network ceph-network -e cluster=ceph -e weight=1.0 -e mon_name=monnode -e mon_ip=172.20.0.10 -v /www/ceph:/etc/ceph -v /www/osd/2:/var/lib/ceph/osd/ceph-2 ceph/osd

# 8. 增加monitor節點,元件成集群

docker run -itd --name monnode_1 --network ceph-network --ip 172.20.0.11 -e mon_name=monnode_1 -e mon_ip=172.20.0.11 -v /www/ceph:/etc/ceph ceph/mon

docker run -itd --name monnode_2 --network ceph-network --ip 172.20.0.12 -e mon_name=monnode_2 -e mon_ip=172.20.0.12 -v /www/ceph:/etc/ceph ceph/mon

# 9. 建立gateway節點

docker run -itd --name gwnode --network ceph-network --ip 172.20.0.9 -p 9080:80 -e rgw_name=gwnode -v /www/ceph:/etc/ceph ceph/radosgw

# 10. 檢視ceph集群狀態

sleep 10 && docker exec monnode ceph -s

檢視network的操作命令:

sudo docker network --help

usage: docker network command

manage networks

options:

commands:

connect connect a container to a network

create create a network

disconnect disconnect a container from a network

inspect display detailed information on one or more networks

ls list networks

prune remove all unused networks

rm remove one or more networks

刪除network:

sudo docker network rm 

使用docker部署簡單web應用

由於我是很久之前裝的docker了,已經不記得怎麼安裝了,安裝教程可以參考網上的教程。這裡提供乙份參考 這裡的編寫需要注意路徑問題 按照下面的形式編寫dockerfile from golang latest workdir go src apiongo copy go src apiongo ru...

Docker 簡單部署ElasticSearch

拉取容器 docker pull docker.elastic.co elasticsearch elasticsearch 6.3.2 elasticsearch的預設埠是9200,我們把宿主環境9200埠對映到docker容器中的9200埠,就可以訪問到docker容器中的elasticsear...

Docker 使用Docker部署Node服務

docker 是乙個開源的容器引擎。開發者可以將自己的應用以及依賴打包為乙個可移植的容器,然後發布到 linux 機器上。它類似於乙個輕量級的虛擬機器,極大地方便了使用者在伺服器端部署和管理應用環境。apt install docker.io安裝成功後檢視docker版本 建立package.jso...