原创

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

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

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

devops

Devops框架图解

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

珍爱生命,使用Docker

自建Devops.drawio

开源云平台生死连问

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

什么是大教堂?

什么是集市?

什么是信任链?

什么是开源生态?

为什么要做开源生态?

怎么做开源生态?

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

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

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

Consul自动负载均衡

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

Consul

Github仓库备份

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

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

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