基于云原生的私有化 PaaS 平台交付实践

本文将解读如何利用云原生解决私有化交付中的问题,进而打造一个 PaaS 平台,提升业务平台的复用性。在进入正题之前,有必要先明确两个关键词:

  • PaaS 平台:多个核心业务服务作为一个整体平台去封装,以平台形式提供服务。
  • 私有化交付:平台需要部署私有云环境中,要面对无网情况下依然可以运转。

传统交付痛点

基于云原生的私有化 PaaS 平台交付实践

如上图:私有云会有明确的安全性要求

  1. 私有云服务无法连接外网,数据只能通过单向网闸形式进行摆渡到内网私有云。
  2. 源代码只能存储在公司机房中,私有云只部署编译文件。
  3. 服务会不定期迭代,另外为了保证服务稳定性需要自建独立业务监控。

基于以上要求面临的挑战大概有几点:

  1. 架构可迁移性差:服务之间配置复杂,多种异构语言需要修改配置文件,无固定服务 DNS。
  2. 部署运维成本高:服务依赖环境需支持离线安装,服务更新需本地运维人员手动完成,复杂场景下,完整一次部署大概需要 数人 / 月 的时间。
  3. 监控运维成本高:监控需支持系统级 / 服务级 / 业务级监控,通知方式需支持短信、Webhook 等多种类型。

架构方案

基于云原生的私有化 PaaS 平台交付实践

我们的原则是 拥抱云原生和复用已有能力,近可能使用业界已存在且成熟技术方案。 我们采用 KubeSphere+K8S 作为服务编排,处于安全性及简洁性考虑对 Syncd 进行二次开发完整 DevOps 能力,监控系统上采用 Nightingale+Prometheus 方案。

如上图架构图

  1. 蓝色框内是我们底层 PaaS 集群,我们对业务服务通用服务统一进行了服务编排升级,用以解决架构迁移性差问题。
  2. 红色框内,监控系统作为一种编排服务形式存在,所有监控项交付前配置好。用以解决监控系统运维成本高问题。
  3. 紫色框内,服务容器可以实现跨网段自动拉取并自动化部署。用以解决服务服务部署成本高问题。

下面我们针对这三部分做下介绍。

服务编排:KubeSphere

KubeSphere 的愿景是打造一个以 K8s 为内核的云原生分布式操作系统,它的架构可以非常方便地使第三方应用与云原生生态组件进行即插即用(plug-and-play)的集成,支持云原生应用在多云与多集群的统一分发和运维管理,同时它还拥有活跃的社区。

 

基于云原生的私有化 PaaS 平台交付实践 (kubesphere.io)

原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/309319.html

(0)
上一篇 2023年12月5日
下一篇 2023年12月5日

相关推荐

发表回复

登录后才能评论