设计思路

  1. 我需要一个内网生态,通过一个nginx访问到我所有的资源,内部实现细节我不关心,那么就需要一个nginx服务器来负载所有的服务
  2. 服务器太多了,我不想一个个的记录ip去登录,那我就需要一个跳板机来记录我的服务器,我只需要记住跳板机的地址,就可以登录所有的服务器
  3. 内网中我不想ip访问,我想要使用域名,所以我就需要一个dns服务器来解析内网域名
  4. 想要为路由器做一些拓展,那就需要一个软路来进行增强
  5. 因为后面我还想通过公网进行访问我的一些服务,安全起见,就需要最小可用原则去暴露,并且需要在关键节点:nginx和跳板机做一个安全管控

实现内容

中间件平台

搭建市面上主流的中间件服务,比如nacos,es,gitlab,应用监控服务,服务监控等内容,用来监控我的硬件和软件。

通过部署集群来增加应用服务可用性

通过一些脚本页面操作等,简化服务器重启带来的配置成本

应用服务器

部署生态少不了应用服务,所以需要通过应用服务器来部署我的应用,譬如单点登录,博客,一些数据管理等平台都需要通过应用来简化操作。
应用服务器应该是内网专用的,不能在外网直接访问到应用服务器。如果需要在外网提供服务,应该通过nginx指定跳转到网关,对外暴露的应该是网关,任何应用都不应该被公网访问到。

数据库&文件服务器

一些主流的数据库服务器,可以高效的管理我的资源。文件服务器可以让我的文件梳理的井井有条。毕竟云上资源比较贵。
这些服务器属于非常私密的资源,所以这些服务器应该和应用服务器一样,不允许外部直接访问的。如果有访问需求,应该是通过nginx和网关来访问。
因为数据比较私密,所以这块要在网关经过层层验证才可以,不允许随意的去访问资源,避免敏感数据泄漏

邮件服务器

通过邮件服务器,配合一些开放平台,可以做一些订阅通知服务,让我可以被动的去接收应用和服务器的一些状态,而不是等我想起来之后再主动去获取。

总结

内网虚拟化平台,不仅仅是一套解决方案,我觉得带给我最多的还是对自己的提升,通过学习这些,可以拓宽我的思路。
搭建了一套虚拟化平台后,后续如果要孵化一些应用,就可以通过内网虚拟化平台来做。
数据的重要性是无可比拟的,在无法完全确认安全之前,上公网是一件比较愚蠢的行为。自己的电脑又无法7*24小时工作,孵化工作艰难无比,一个虚拟化平台,可以让我的应用经过时间的检验,通过层层考核,孵化出来的内容也会更加健壮。