叫板OpenStack:用Docker实现私有云

看到各大厂商的云主机,会不会觉得高大上?目前大公司的主流方案是OpenStack,比如某个公司的私有云

其实,我们可以通过Docker可以很容易实现自己的私有云。

下面进入正题。

假 设你所在的公司拥有一台功能强悍的服务器,假设是centos,但开发人员,测试人员如果都在这一台主机上进行开发,测试,后果是灾难性的,但由于只有一 台服务器,你们老板甚至还想把这剩余的性能榨取出来搭建一些服务卖给大众...以往的话,开发,测试人员肯定要摔键盘了,这不是坑爹么?但如果你会 Docker,就能很容易实现这一目标,升职加薪,当上总经理,出任CEO,赢取白富美,迎来人生的巅峰呢!

是不是有点小激动了?来吧,哥教你怎么做。

一.升级Centos内核

官方推荐内核使用3.8以上,那我们升到长期稳定版的3.10.

[[email protected] ~]# rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
[[email protected] ~]# rpm -ivh http://www.elrepo.org/elrepo-release-6-5.el6.elrepo.noarch.rpm
[[email protected] ~]# yum --enablerepo=elrepo-kernel install kernel-lt -y [[email protected] ~]# vim /etc/grub.conf default=1 改为default=0 [[email protected] ~]# reboot [[email protected] ~]# uname -a Linux iZ2893wjzgyZ 3.10.65-1.el6.elrepo.x86_64 #1 SMP Sat Jan 17 10:36:35 EST 2015 x86_64 x86_64 x86_64 GNU/Linux

二.安装docker

[[email protected] ~]# yum install http://mirrors.yun-idc.com/epel/6/x86_64/epel-release-6-8.noarch.rpm
[[email protected] ~]# yum install docker-io

三.启动docker

[[email protected] ~]# service docker start Starting cgconfig service: [ OK ] Starting docker: [ OK ]

四.获取镜像

由于镜像仓库在国内,国内慢的令人发指,推荐有import方式使用镜像(此例采用的此种镜像方案可以很容易安装ssh服务),在http://openvz.org/Download/templates/precreated中有很多压缩的镜像文件,可以将这些文件下载后采用import方式使用镜像

# wget http://download.openvz.org/template/precreated/ubuntu-14.04-x86_64-minimal.tar.gz
# cat ubuntu-14.04-x86_64-minimal.tar.gz  |docker import - ubuntu:14.04 # docker images REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE ubuntu 14.04        05ac7c0b9383        17 seconds ago         215.5 MB

这样我们就可以使用这个镜像作为自己的Base镜像

五.实现sshd,在Base镜像基础上生成一个新镜像

#docker run -t -i ubuntu:base /bin/bash

[email protected]:/# vim  /etc/apt/sources.list

deb http://mirrors.163.com/ubuntu/ trusty main restricted universe multiverse  
deb http://mirrors.163.com/ubuntu/ trusty-security main restricted universe multiverse  
deb http://mirrors.163.com/ubuntu/ trusty-updates main restricted universe multiverse  
deb http://mirrors.163.com/ubuntu/ trusty-proposed main restricted universe multiverse  
deb http://mirrors.163.com/ubuntu/ trusty-backports main restricted universe multiverse  
deb-src http://mirrors.163.com/ubuntu/ trusty main restricted universe multiverse  
deb-src http://mirrors.163.com/ubuntu/ trusty-security main restricted universe multiverse  
deb-src http://mirrors.163.com/ubuntu/ trusty-updates main restricted universe multiverse  
deb-src http://mirrors.163.com/ubuntu/ trusty-proposed main restricted universe multiverse  
deb-src http://mirrors.163.com/ubuntu/ trusty-backports main restricted universe multiverse

[email protected]:/# apt-get update

安装supervisor服务

[email protected]:/# apt-get supervisor

[email protected]:/# cp supervisord.conf conf.d/

[email protected]:/# cd conf.d/

[email protected]:/# vi supervisord.conf

  1. ; supervisor config file
  2. [unix_http_server]
  3. file=/var/run/supervisor.sock   ; (the path to the socket file)
  4. chmod=0700                       ; sockef file mode (default 0700)
  5. [supervisord]
  6. logfile=/var/log/supervisor/supervisord.log ; (main log file;default $CWD/supervisord.log)
  7. pidfile=/var/run/supervisord.pid ; (supervisord pidfile;default supervisord.pid)
  8. childlogdir=/var/log/supervisor            ; (‘AUTO‘ child log dir, default $TEMP)
  9. nodaemon=true                         ;(修改该软件的启动模式为非daemon,否则docker 在执行的时候会直接退出)
  10. [include]
  11. files = /etc/supervisor/conf.d/*.conf
  12. [program:sshd]
  13. command = /usr/sbin/sshd -D        ;

[email protected]:/# mkdir /var/run/sshd

[email protected]:/# passwd root

[email protected]:/# vi /etc/ssh/sshd_config

[email protected]:/# exit

退出之后自动生成一个容器,接下来把容器commit生成封装了sshd的镜像

# docker commit f3c8  ubuntu

5c21b6cf7ab3f60693f9b6746a5ec0d173fd484462b2eb0b23ecd2692b1aff6b

[[email protected] tmp]# docker images

REPOSITORY                TAG                 IMAGE ID            CREATED             VIRTUAL SIZE

ubuntu                           sshd                02c4391d40a0        47 minutes ago      661.4 MB

六.开始分配容器

[[email protected] tmp]# docker run -p 301:22 -d --name test ubuntu /usr/bin/supervisord

[[email protected] tmp]# docker run -p 302:22 -d --name dev ubuntu /usr/bin/supervisord

[[email protected] tmp]# docker run -p 301:22 -d --name client1 ubuntu /usr/bin/supervisord

.......

[[email protected] tmp]# docker run -p 301:22 -d --name clientN ubuntu /usr/bin/supervisord

让我们进入容器看一看,瞧一瞧(114.215.86.228是宿主机的IP)

通过Xshell即可进入。

这样就顺利隔离了N个容器,且每一个都是以党中央centos领导下的纯净的ubuntu系统,按这种分配方式,所有容器性能和宿主机一样,让我们看一看:

Centos:

容器:test

七.搭建自己的私有仓库

老板现在用这台闲置的主机赚了很多钱,于是公司快速发展,老板尝到甜头,又买来了几十台服务器,这时候,抠门老板想了想,每台主机这么搞一次,我岂不是要多给几天工钱?

服务的封装才是Docker的杀手锏,怎么可能让这种工作重复数十次?我们可以搭建自己的私有仓库。有点类似github的方式,将封装好的镜像push到仓库,其他主机装好docker后,pull下来即可,在这里不做说明。

八.扩展

不同人群需要的主机性能不同,总不能所有的人都分配一样的主机吧?这就涉及到容器的管理了,老板意识到这个问题,有一天对开发说,你看看人家openstack管理界面那么高大上,还能将不同主机切割不同的性能,我们为什么不可以?然后老板很快得到满意的方案:Kubernetes(有很多其他方案可以实现)

Kubernetes是Google开源的容器集群管理系统。它构建于docker技术之上,为容器化的应用提供资源调度、部署运行、服务发现、扩 容缩容等整一套功能,本质上可看作是基于容器技术的mini-PaaS平台.

总结:经过这八个步骤,大概就已经实现了私有云的基本功能,其实Docker能做的事情远不如此,本人才疏学浅,使用不久,这里只阐述想到的这一种方案。

时间: 2024-10-25 07:38:36

叫板OpenStack:用Docker实现私有云的相关文章

转 叫板OpenStack:用Docker实现私有云

http://www.cnblogs.com/alexkn/p/4239457.html 看到各大厂商的云主机,会不会觉得高大上?目前大公司的主流方案是OpenStack,比如某个公司的私有云 其实,我们可以通过Docker可以很容易实现自己的私有云. 下面进入正题. 假 设你所在的公司拥有一台功能强悍的服务器,假设是centos,但开发人员,测试人员如果都在这一台主机上进行开发,测试,后果是灾难性的,但由于只有一 台服务器,你们老板甚至还想把这剩余的性能榨取出来搭建一些服务卖给大众...以往的

20、EVE-NG华丽登场Openstack镜像,体验私有云!

文章列表(关注微信公众号EmulatedLab,及时获取文章以及下载链接) 1.EVE-NG介绍(EVE-NG最好用的模拟器,仿真环境时代来临!) 2.EVE-NG安装过程介绍 3.EVE-NG导入Dynamips和IOL 4.EVE-NG导入QEMU镜像 5.EVE-NG关联SecureCRT,VNC,Wireshark 6.EVE-NG网卡桥接,带您走进更高级的实验 7.EVE-NG硬盘扩容,存储海量镜像 8.EVE-NG定制个人镜像,脚本快速导入 9.EVE-NG容纳H3C.Huawei,

使用openstack架构私有云

私有云服务: 通悉为您提供专属的可扩展的云平台, 与公有云平台相比, 它构建在专属的独立IDC资源上, 或者部署在您自己的数据中心里. 我们提供了一个完整的开源的解决方案OpenStack, 我们将帮助您构建自己独立的云平台, 更有托管.咨询和运维的服务可供选择. 私有云用来加快您的业务创新而对基础架构的需求, 私有云的平台可以为您的企业.组织提供高度弹性和可扩展的IT基础架构平台. 通悉的运维团队从事IDC行业10年以上, 积累了非常丰富的IDC运营经验, 我们可以为您提供专业的私有云运维和托

【邹神专场系列公开课】私有云与OpenStack间精华技术解析

云计算无疑是当下最热门的技术,各大中小企业都在纷纷将自己的业务迁移到公有云上,大企业都在忙着搭建自己的私有云,国内外各大云服务商都在积极推广自己的云计算,AWS,Google,微软云,阿里云,华为云,万达云,网易云,京东云,腾讯云,360云,QingCloud,sysCloud,EasyStack,楚天云,有云--,其中大部分云服务商是基于Openstack Cloud OS商用加固的. 但云计算结构复杂,功能丰富,涉及知识领域多,本次课程将深度剖析OpenStack,讲述openStack学习

使用Docker快速安装NextCloud个人私有云盘

说明:NexCould是一款不错,也很漂亮的个人私有云网盘,现在使用的人是越来越多了,之前发过一篇常规的搭建教程,参考:一款不错的个人私有云:NextCloud安装教程,鉴于很多人在搭建过程中或多或少都会出点问题,今天博主发个很方便的安装方法,就是用Docker安装NextCloud,看到网上很多这样的教程都是通过编辑docker-compose.yml文件来安装的,还要配置反向代理,期间容易出现很多问题,对新手很不友好,而本教程使用纯命令形式安装,不容易出问题,适合尝鲜的新手. 截图 更新 D

KVM+Openstack+Ceph+Docker 云计算周末集训营

介绍 由3w教育发布,面向从事云计算的在职运维人员,或者想进入云计算领域的相关IT工作人员,或者是对云计算感兴趣的开发人员.<要求: 参加本课程需要学员具备熟练使用Linux操作系统6个月以上的经验> 分为12个节,周期为1.5个月:每周两节(周六和周日):小班制:结束后会下发产出文档和视频,供学生在课后复习和练习参考使用. 时间: 2016年2月27日 学习地点: 北辰泰岳大厦19层 地址: 北京市朝阳区北苑路北甲13号院(地铁5号线北苑路北A口出来,向北 100米) 资费: 6800元 联

Openstack+Kubernetes+Docker微服务

Openstack+Kubernetes+Docker微服务 渐入佳境,我们开始比较具体的工作,由于Docker是一个基础组件,所以本文的主题是Docker和Registry2. 底层系统基于Centos7,先在一台云主机上安装Docker,Docker的安装非常简单,参考官网Docker Centos部分安装指导只需要几步,安装好之后开始以下配置. 关闭防火墙 service firewalld stop systemctl disable firewalld.service Docker 1

自行搭建私有云ownCloud,启用SSL,其他配置

ownCloud简介 ownCloud(官网)是一款开源的私有云框架,可以通过它实现个人网盘的功能,如果拥有一个性能不错的VPS,那么就可以摆脱奇慢无比的百度云等网盘啦!我花了大约一天的时间总算搭好了ownCloud. 用途 如果搭在VPS上,可以用作个人的网盘使用.ownCloud提供了各个平台的文件同步客户端,因此搭建好ownCloud之后即可使用客户端来同步.上传.下载文件,十分方便. 可以搭在性能较好的智能路由器上,连接硬盘,这样路由器就能作为个人的NAS存储云使用.ownCoud的文档

在linux下搭建私有云

0:最近各大网盘纷纷停用,于是便琢磨着是不是搭建一个私有云,这样麻麻就不用担心网盘被停用了. ownCloud是一个免费开源的软件,用于为分享文件,日历,联系人,书签和个人音频/视频.非常容易安装和管理. 1:搭建环境配置:你的服务应该工作在LAMP上.参考下面链接去安装一键LAMP服务. 点击打开lamp一键安装连接: 安装成功以后,安装必要的php扩展: yum install php-mysql php-json php-xml php-mbstring php-zip php-gd cu