基于Docker UI 配置ceph集群
前言
前一篇介绍了docker在命令行下面进行的ceph部署,本篇用docker的UI进行ceph的部署,目前来说市面上还没有一款能够比较简单就能直接在OS上面去部署Ceph的管理平台,这是因为OS的环境差异化太大,并且包的版本,以及各种软件的适配都可能造成失败,而docker比较固化环境,因此即使一个通用的UI也能很方便的部署出一个Cpeh集群
本篇就是对Docker UI部署集群做一个实践,对ceph了解,对docker了解,对dokcer的UI操作进行一定的了解的情况下,再做实践会比较好,总体上还是比较简单的
安装并运行portainer
安装软件
cd /opt
wget https://github.com/portainer/portainer/releases/download/1.12.1/portainer-1.12.1-linux-amd64.tar.gz
tar xvpfz portainer-1.12.1-linux-amd64.tar.gz
cd portainer
运行软件
./portainer -H unix:///var/run/docker.sock -p ":9999"
注意下这里-H是指定的docker的连接,也就是要控制哪个docker,这个支持本地的sock的方式,也支持远程的tcp的方式,这个进入ui界面后还可以添加更多的
-p是指定的访问的接口
扩展知识
如何在centos7下面启用 remote api
打开文件
/usr/lib/systemd/system/docker.service
在 $INSECURE_REGISTRY 后面添加 -H tcp://0.0.0.0:2376 -H unix:///var/run/docker.sock
ExecStart=/usr/bin/dockerd-current \
--add-runtime docker-runc=/usr/libexec/docker/docker-runc-current \
--default-runtime=docker-runc \
--exec-opt native.cgroupdriver=systemd \
--userland-proxy-path=/usr/libexec/docker/docker-proxy-current \
$OPTIONS \
$DOCKER_STORAGE_OPTIONS \
$DOCKER_NETWORK_OPTIONS \
$ADD_REGISTRY \
$BLOCK_REGISTRY \
$INSECURE_REGISTRY -H tcp://0.0.0.0:2376 -H unix:///var/run/docker.sock
修改好了后
[root@lab8106 ~]#systemctl daemon-reload
[root@lab8106 ~]#systemctl restart docker
检查端口和asok
[root@lab8106 ~]# netstat -tunlp|grep 2376
tcp6 0 0 :::2376 :::* LISTEN 24484/dockerd-curre
[root@lab8106 ~]# ll /var/run/docker.sock
srw-rw---- 1 root root 0 Mar 16 16:39 /var/run/docker.sock
生成了配置没有问题
portainer的自身数据
默认情况下portainer的数据是存储在/data目录下面的,如果想重新配置密码或者内容的话,删除这个目录里面的数据就行
[root@lab8106 ~]# ll /data/
total 24
-rw------- 1 root root 32768 Mar 16 16:32 portainer.db
drwx------ 2 root root 6 Mar 16 16:32 tls
UI界面登陆
直接访问宿主机的http://ip:9999
输入一个8位数的密码
输入好了以后,登陆即可
检查endpoint,可以看到就是我刚才命令行当中加入的sock
获取image
在上面填写ceph/daemon
然后点击pull
有可能会超时,如果多次失败,就去后台命令行执行,这个地方等同于后台的命令
docker pull ceph/daemon
也可以直接在后台执行这个命令
可以用dstat -n观察下载的速度
下载好了去页面上看下是否好了
配置CEPH集群
配置集群可以都在页面做了,因为之前有篇命令行部署docker的ceph,建议先回顾一下,再看这个比较好
创建MON
点击增加容器
注意创建好两个目录
mkdir -p /etc/ceph
mkdir -p /var/lib/ceph/
这两个目录里面不要有任何东西,保持空目录状态
- 填写名称为mon,这个是容器名称,可以自定义
- 填写Image,这个填写下载好的ceph/daemon
- 填写command,这个填写mon,为固定值
- 填写Entry Ponit ,这个填写/entrypoint.sh,为固定值
- 填写Environment variable,这个填写两个变量
- MON_IP 192.168.8.106
- CEPH_PUBLIC_NETWORK 192.168.0.0/16
填写完了切换第二个标签页Volumes
- 填写Volume
- /etc/ceph /etc/ceph
- /var/lib/ceph/ /var/lib/ceph/
- 填写Network为host
- 填写hostname为宿主机的主机名
上面都填写完了后就点击create
没出异常的话,就可以进入console进行查询了
点击connect
没有问题
创建OSD
点击增加容器
- 填写Name,这个为容器名称,可以自定义
- 填写Image,这个为ceph/daemon,固定的值
- 填写command,这个为osd_ceph_disk,为定值
- 填写Entry Ponit ,这个填写/entrypoint.sh,为固定值
- 填写Environment variable,这个填写一个OSD磁盘变量
- OSD_DEVICE /dev/sdb
切换到第二个Volume标签页
- 填写Volume
- /etc/ceph /etc/ceph
- /var/lib/ceph/ /var/lib/ceph/
- /dev/ /dev/
切换到Network标签页
- 填写Network为host
- 填写hostname为宿主机的主机名
上面都填写完了后就点击create
切换到Security/Host标签页
勾选上 privileged ,一定要选上,不然没有权限去格式化磁盘
上面都填写完了后就点击create
没出异常的话,就可以进入console进行查询了
基本上一个简单的集群就配置好了,跨主机的情况,就提前把配置文件拷贝到另外一台主机,还有bootstrap keyring也拷贝过去,就可以了,这里就不做过多的赘述
总结
本篇基于portainer以及一个现有的ceph容器做的部署实践,从整个操作来说,UI的部署,环境的搭建都非常的简单,这个得益于UI环境的简单,还有docker的封装,更多的玩法可以自己去探索,也可以运用这个UI做更多其他的容器操作
变更记录
Why | Who | When |
---|---|---|
创建 | 武汉-运维-磨渣 | 2017-03-16 |
/assets/images/blogimg/base-on-docker-ui-deploy-ceph/
基于Docker UI 配置ceph集群的更多相关文章
- 庐山真面目之十微服务架构 Net Core 基于 Docker 容器部署 Nginx 集群
庐山真面目之十微服务架构 Net Core 基于 Docker 容器部署 Nginx 集群 一.简介 前面的两篇文章,我们已经介绍了Net Core项目基于Docker容器部署在Linux服 ...
- 配置Ceph集群为OpenStack后端存储
配置Ceph存储为OpenStack的后端存储 1 前期配置 Ceph官网提供的配置Ceph块存储为OpenStack后端存储的文档说明链接地址:http://docs.ceph.com/docs/ ...
- 基于docker虚拟化创建hadoop集群
最近想用hadoop做一个测试,与性能无关的测试,但是可与屌丝的命,手头没有太多机器,也租不起云主机.这里使用docker进行虚拟化,并搭建hadoop集群,在这里将过程记录如下. 首先安装docke ...
- 喵星之旅-狂奔的兔子-基于docker的redis分布式集群
一.docker安装(略) 二.下载redis安装包(redis-4.0.8.tar.gz) 以任何方式获取都可以.自行官网下载. 三.拉取centos7的docker镜像 命令:docker pul ...
- 基于docker快速搭建hbase集群
一.概述 HBase是一个分布式的.面向列的开源数据库,该技术来源于 Fay Chang 所撰写的Google论文"Bigtable:一个结构化数据的分布式存储系统".就像Bigt ...
- 暑假第二弹:基于docker的hadoop分布式集群系统的搭建和测试
早在四月份的时候,就已经开了这篇文章.当时是参加数据挖掘的比赛,在计科院大佬的建议下用TensorFlow搞深度学习,而且要在自己的hadoop分布式集群系统下搞. 当时可把我们牛逼坏了,在没有基础的 ...
- Docker镜像配置redis集群
redis版本:3.2.3 架构: 3节点redis集群,并为每个节点设置一个备用节点,共6个节点 1.安装redis镜像 docker load < docker.redis.tar.gz 2 ...
- 基于docker的spark-hadoop分布式集群之一: 环境搭建
一.软件准备 1.基础docker镜像:ubuntu,目前最新的版本是18 2.需准备的环境软件包: (1) spark-2.3.0-bin-hadoop2.7.tgz (2) hadoop-2.7. ...
- 搭建基于docker 的redis分布式集群在docker for windows
https://blog.csdn.net/xielinrui123/article/details/85104446 首先在docker中下载使用 docker pull redis:3.0.7do ...
随机推荐
- sublime python配置运行
1.安装python环境 安装完成时,Win+R → 输入cmd → Enter → 调出来命令行,输入python确认安装是否成功. 2.安装sublime 3.打开sublime,选择工具--编译 ...
- 【学习笔记】扩展卢卡斯定理 exLucas
引子 求 \[C_n^m\ \text{mod}\ p \] 不保证 \(p\) 是质数. 正文 对于传统的 Lucas 定理,必须要求 \(p\) 是质数才行.若 \(p\) 不一定是质数,则需要扩 ...
- subprocess中命令为参数序列和字符串的区别
参数args 参数args可以是一个参数序列,也可以是一个单独的字符串.参数序列通常是首选的,因为它允许模块处理参数的转义和引号(例如,允许文件名中有空格). 如果传递参数序列,默认情况下,程序执行序 ...
- qemu-kvm安装and配置桥接和SR-IOV
kvm和docker的区别:kvm是全虚拟化,需要模拟各种硬件,docker是容器,共享宿主机的CPU,内存,swap等.本文安装的qemu-kvm属于kvm虚拟化,其中:kvm负责cpu虚拟化和内存 ...
- zabbix自定义脚本监控服务器端口状态
zabbix可以通过客户端的[net.tcp.port[<ip>,port]]该item监控项来判断本地/远程服务器TCP端口是否正常,不过当时没有想起来,就用了自定义脚本去写的,很久没有 ...
- PS编辑工具
3.1PS污点修复 (1)快捷键:J. (2)中括号可以改变笔触的大小,前中括号减小笔触,后中括号增加笔触. (3)可以用选区把需要修复的地方框选上,再进行修复,这样不会影响到未选区域. 3.2PS修 ...
- Java 中的 3 个双引号是什么语法?Java 15 刷新你的认知!
Java 中的 3 个双引号 """ 是什么语法? 这是 Java 15 新出的,刷新你的认知! 一.前言 在 Java 15 的推出的时候,Text Blocks 正式 ...
- 对PatchGAN的感知域(receptive_field)理解
for basic discriminator of GANs 判别器用于感知生成器产生的合成图片和ground-truth的差异,并旨在实现区分出fake or real: 同时,判别器的输出也是经 ...
- CentOS7 Nginx-1.10.3编译安装
cat > nginx.sh <<EOF #停止apache,避免抢占端口号 systemctl stop httpd #创建nginx运行账户,非登录用户,不创建家目录 usera ...
- 爬虫双色球所有的历史数据并保存到SQLite
前言 上一篇介绍了双色球走势图是怎么实现的,这一篇介绍怎么实现爬虫所有的双色球历史数据,也可以同步分享怎么同步福彩3D数据.采用的C#来实现的. 同步双色球的地址:https://datachart. ...