一个基于 Docker 的私有云方案

一个基于 Docker 的私有云方案


最近调研了很多 Docker 相关的项目,希望能够搭建一套稳定的基于Docker的私有云方案。

基于 Docker 的私有云,本质是一整套以 Docker 为核心的,

代码托管 -> 自动构建 -> 私有镜像托管 -> 容器创建 -> 动态负载 工作流。

首先看一下开发流程,也就是代码托管 -> 自动构建 -> 私有镜像托管


常见的代码托管方案

  • SaaS: Github, Bitbucket ( Stash 也更名为 Bitbucket 了,本文中的 Bitbucket 特指 Bitbucket.org, Stash 特指私有部署版的 Bitbucket ) 等
  • 私有部署: Stash, Gitlab, Gogs, gitosis 等

首先剔除掉 SaaS,因为国内网络访问和付费等各种原因。开发还可以,有各种科学上网手段,但是如果要和线上服务器联动,不稳定因素太大。其次剔除掉一些无 WebUI 的方案,因为功能太弱了。

在 Gitlab, Gogs, Stash 中,我更倾向于选择 Gitlab

Stash 私有部署的授权费用不低。破解版首先有侵权问题,其次版本过低。不过 Stash 和 Jira 等 Atlassian 公司的产品链接非常方便。Gogs 功能很全,但是没有 Gitlab 功能强大。

Gitlab 基本上覆盖了 Github 的常用功能,此外支持 gitlab-ci 自动构建内置 Docker Registry,并且有完整的 Registry 权限控制和管理UI

基本上 Gitlab 一个就可以覆盖 代码托管 -> 自动构建 -> 私有镜像托管 这三步


然后是部署流程,也就是 私有镜像托管 -> 容器创建 -> 动态负载

这一步我强烈推荐 Rancher

Docker 官方的 Swarm Mode + UCP, DockerUI 后继者 Portainer 都只有基本的容器管理功能。

Rancher 支持 Cattle,Kubernetes 和 Mesos 三个资源编排引擎,内置IPSec虚拟子网,内置 HAProxy 负载均衡服务,通过 WebUI 就可以把多台节点组合成一台大的 Docker 宿主机,然后动态地把网络请求负载到各个容器上。

此外 Rancher 还有一大堆插件,从 管理外部 DNS 服务器,到申请 Let's Encrypt HTTPS 证书,应有尽有。

理想环境下(使用 DigitalOcean 等带 API 的 主机提供商,使用 SimpleDNS 等带 API 的 DNS 服务提供商),在 Rancher 的 WebUI 上,通过点击就可以完成 VPS 配给, DNS 配置,HTTPS 证书申请,启动容器,动态负载均衡所有任务,岂不妙哉。

目前我的结论是,Gitlab + Rancher 似乎是建立一套基于 Docker 的私有云方案的一个很好的选择。

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值