原创

国内的Devops云平台动辄封号,删库,屏蔽,还多次发生数据泄密,项目被云平台克隆事件,国内云平台devops已死!数据安全没法保证,自建私有Devops平台才靠谱。这里采用开源项目建立一个完善的低成本Devops系统,基本运行良好!

目标:单节点,以最低成本,最低消耗,使用开源软件实现一个可用的DevOps!满足中小企业的研发、测试、运维需求。并对后续如何扩展本套DevOps系统做了项目,成本,路线升级规划,可以一直扩展到业界最前沿最大系统。

整套系统已经跑起来很长时间了!单节点Nas服务器,32G内存,共运行了约80个Docker,优化到平均负载10以下。

devops
devops

Devops框架图解

下面系统大多可以做负载平衡,多节点备份,可以扩展为一个高可用,大中央平台。

珍爱生命,使用Docker

自建Devops.drawio
自建Devops.drawio

开源云平台生死连问

珍爱生命,不建议使用国内云平台。

什么是大教堂?

什么是集市?

什么是信任链?

什么是开源生态?

为什么要做开源生态?

怎么做开源生态?

开源生态的土壤肥力维护如何做?

这些问题没想明白,没想到如何做的是没法做开源的。

国内平台连种子嫩芽都要收割,到处收费,动辄删库,屏蔽,封号,注定做不了开源生态。

Consul自动负载均衡

基于服务自动发现和注册的负载均衡,负载均衡的方式没有变,只是多了一些外围组件,当然这些组件对 Client 是不可见的,client 依然只能看到 Nginx 入口,访问方式也没变化。

Consul
Consul

Github仓库备份

最优秀的资源,大多只在短时间内出现!

平时多备份你重要的仓库,以及你使用的仓库的重要上下游仓库!

yaml
githubback:
  image: lnxd/github-backup
  container_name: "githubback"
  hostname: githubback
  # ports:
    # - "80:80"
  volumes:
    - "${USERDIR}/githubback/data:/home/docker/backups:rw"
  env_file:
    - .env
  environment:
    - HTTP_PROXY=http://[ip]:[port]
    - HTTPS_PROXY=http://[ip]:[port]
  restart: always

配置要求

个人Nas配置

  • cpu j4125 4 核 14nm 2.00 GHz ~2.70 GHz
  • SSD sata 接口的 读写 500MB/S
  • 32G DDR4. 2x16G 双通道

上图中介绍的系统都是上面配置的单服务器中可以运行的。

如何以最低的配置,最少的内存运行起来最多的功能才是本文的追求,花费更多金钱去满足极少数情况的高压力是钱多的没处花。

  • 8G内存的nas 就可以运行 gitea + dronezentao 想用就用
  • gitlab 要跑起来至少要2核 8G 内存,jenkins 也是内存 cpu 占用大户。大于 16G 内存时考虑上这个
  • 4核 32G 内存的nas,图片中介绍的可以全都跑起来!

可靠性

ELK集群监控对于单服务器来说完全多余,netdata监控也不错,portainer就够用了,以后为了节约资源,portainer说不定也会被干掉,大多数时候命令行监控就够了。少于200节点K8S就是多余的。

数据安全

云平台把数据交给别人,赌别人的道德不会私自偷拿你的数据?真是想多了。

某垄断社交平台内部有专门的团队分析客户的数据,看有什么有价值的没有,是很多年前就爆出来的消息。

自建DevOps成本其实相当的低!

整套系统可以从少到多,从小到大,慢慢优化,扩展的。硬件成本也是随着需求变化而变化的,随着业务扩展而增加成本,一开始单节点单服务器就可以满足要求了,后面业务增加慢慢扩展为集群,k8s 等。

数据,代码是公司核心资产与竞争力的公司,上云赌别人的人品就是找死。你注册账户的时候,就同意了,无论别人随意删除你的数据,或者窃取你的数据都是不用付任何责任的,再说,整个系统数据都在别人手上,你要维权也没有证据。

备份

  • UPS电源,防止意外断电
  • rsync 备份,对于大多数人,已经够用了
  • 文件系统快照
  • 离线每日,或者每周冷备份
  • 大系统,多台服务器的时候可以用多节点集群备灾。nginx,harborgitlabelasticsearch等都可以使用集群

扩展性

上面说的都可以单服务器搞定。多台服务器的时候可以用多节点集群备灾。nginx,harborgitlabelasticsearch等都可以使用集群。

多于200节点,大于3台服务器以后考虑上K8S。ELK监控之类的这时候可以上了。蓝鲸智云标准运维这时候也可以考虑了。

再次扩大的时候可以考虑Proxmox VE(PVE) + ceph

更大的系统,或者对外提供云平台服务的时候可以考虑上OpenStack

项目介绍

ELK

消耗资源很多,至少上百节点以上再考虑上这个

portainer -> netdata-> ELKzabbix

cacti

zabbix

ansible

CMDB

PVE

Proxmox VE(PVE)

CEPH

OpenStack

其它项目

大家还有啥好项目建议?

onedev

onedev 是替代Gitlab的极佳候补,看文档介绍,潜力无限!

smartdns

一个本地DNS服务器,获取最快的网站IP,获得最佳上网体验。

awesome-selfhosted

这里你能找到各种各样的自建 Docker 服务

私有Git服务器整理

  1. ruby系:GitLab。这个没什么好说的,说到私有git服务器第一反应必然是这个,似乎也是目前已知的开源git服务器中体量最大的,功能齐全,界面美观。
  2. golang系:Gogsgiteaforgejo。这仨一脉相传,简单概括来说,就是先有的gogs,然后一群贡献者嫌gogs更新慢、不加新功能,然后fork出了gitea;然后gitea搞了几年之后开公司了,codeberg担心gitea搞收费,就又从gitea代码fork出了一个forgejo自己开发。
  3. Java系:gitbucketGitBlitOneDev。这三家都是个搞个的,其中OneDev比较新,界面做的也比较现代化。

系列教程

全部文章RSS订阅

Devops系列

Devops 分类 RSS 订阅

相关文档


作者: 夜法之书
版权声明: 本博客所有文章除特別声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 夜法之书 !
评论
数据加载中 ...
 上一篇

阅读全文

Doxygen入门教程
Doxygen入门教程 Doxygen入门教程
作为一个专业的开发,不会写专业的代码文档怎么行?Doxygen是专门为生成专业的代码注释文档而设计的专业工具。本文章向大家介绍Doxygen 入门教程,主要包括Doxygen 入门教程使用实例、应用技巧、基本知识点总结和需要注意事项。
2022-05-28
下一篇 

阅读全文

视频图书和音乐完全自动化管理框架图解
视频图书和音乐完全自动化管理框架图解 视频图书和音乐完全自动化管理框架图解
音视频,音乐和图书管理全过程自动化解决方案框架图解!结构化你的音视频、音乐和图书资源。所有过程一张图搞定!
2022-05-09