设计思路
- 我需要一个内网生态,通过一个nginx访问到我所有的资源,内部实现细节我不关心,那么就需要一个nginx服务器来负载所有的服务
- 服务器太多了,我不想一个个的记录ip去登录,那我就需要一个跳板机来记录我的服务器,我只需要记住跳板机的地址,就可以登录所有的服务器
- 内网中我不想ip访问,我想要使用域名,所以我就需要一个dns服务器来解析内网域名
- 想要为路由器做一些拓展,那就需要一个软路来进行增强
- 因为后面我还想通过公网进行访问我的一些服务,安全起见,就需要最小可用原则去暴露,并且需要在关键节点:nginx和跳板机做一个安全管控
实现内容
中间件平台
搭建市面上主流的中间件服务,比如nacos,es,gitlab,应用监控服务,服务监控等内容,用来监控我的硬件和软件。
通过部署集群来增加应用服务可用性
通过一些脚本页面操作等,简化服务器重启带来的配置成本
应用服务器
部署生态少不了应用服务,所以需要通过应用服务器来部署我的应用,譬如单点登录,博客,一些数据管理等平台都需要通过应用来简化操作。
应用服务器应该是内网专用的,不能在外网直接访问到应用服务器。如果需要在外网提供服务,应该通过nginx指定跳转到网关,对外暴露的应该是网关,任何应用都不应该被公网访问到。
数据库&文件服务器
一些主流的数据库服务器,可以高效的管理我的资源。文件服务器可以让我的文件梳理的井井有条。毕竟云上资源比较贵。
这些服务器属于非常私密的资源,所以这些服务器应该和应用服务器一样,不允许外部直接访问的。如果有访问需求,应该是通过nginx和网关来访问。
因为数据比较私密,所以这块要在网关经过层层验证才可以,不允许随意的去访问资源,避免敏感数据泄漏
邮件服务器
通过邮件服务器,配合一些开放平台,可以做一些订阅通知服务,让我可以被动的去接收应用和服务器的一些状态,而不是等我想起来之后再主动去获取。
总结
内网虚拟化平台,不仅仅是一套解决方案,我觉得带给我最多的还是对自己的提升,通过学习这些,可以拓宽我的思路。
搭建了一套虚拟化平台后,后续如果要孵化一些应用,就可以通过内网虚拟化平台来做。
数据的重要性是无可比拟的,在无法完全确认安全之前,上公网是一件比较愚蠢的行为。自己的电脑又无法7*24小时工作,孵化工作艰难无比,一个虚拟化平台,可以让我的应用经过时间的检验,通过层层考核,孵化出来的内容也会更加健壮。