依托KubeSphere容器平台,好上好信息落地CI/CD简化开发部署成本
作者头像
  • 林琳
  • 2023-03-03 00:00:00 3039

企业概述

好上好信息,中国境内领先的综合服务商,专注于为中国制造企业提供全面支持,总部设在深圳,员工总数逾500人。旗下囊括北高智、天午、大豆、蜜连、泰舸等多个子公司,业务涵盖电子元器件分销、物联网产品设计与芯片定制。采用“集团大平台+子公司业务自主”的运营模式,各子公司在业务层面独立运作,共享仓储物流、资金信贷、IT信息系统、方案设计等后台资源。

物联网业务背景

初期,各子公司引入物联网业务时,形成独立团队,专注于各自的业务开发。资源配置主要针对当前需求,追求快速开发与上线,导致技术选型与系统架构分散。大豆电子依托Spring Boot,蜜连科技则采用Python Flask,辅以Golang处理中间件消息,但随着业务交叉与重叠,原有的体系架构暴露了诸如资源分散、部署复杂、监控分散等弊端。

技术选型与解决方案

为解决上述问题,引入Kubernetes(K8s)与Docker,优化现有容器架构,并拓展新业务。在K8s调研与使用过程中,发现KubeSphere作为K8s之上的云原生应用分布式操作系统,具备K8s所有功能,同时提供更简洁的操作界面、开箱即用的特性、内置插件与多租户管理功能,以及更加直观的管理界面。KubeSphere还支持快速集群搭建,简化安装部署流程,且提供了丰富文档、教程与社区支持,便于问题解决。

实施与优化

实施KubeSphere后,采用标准Spring Boot微服务架构,统一部署于KubeSphere集群,包括业务层、中间件层、数据层与CI/CD流程。数据存储采用阿里NAS文件系统,互联网内容分发利用阿里云OSS与CDN服务。集成GitLab、Harbor与KubeSphere的DevOps工具链,实现了自动化部署与高效监控。

CI/CD实践

CI/CD流程简化了开发与部署流程,包括代码提交触发Jenkins构建、Maven编译、Docker构建、Harbor仓库推送、部署脚本执行以及企业微信通知。通过GitLab与Jenkins的集成,实现了自动化流水线,提高了开发效率与部署速度。

技术堆栈与架构优化

采用K8s标准存储类进行数据存储,配置字典与保密字典用于管理中间件与数据层的敏感信息。平台存储部分使用KubeSphere默认的OpenEBS,业务及中间件数据则通过阿里NAS实现便捷的数据备份与扩展。

问题解决与反馈

面对Aliyun Docker仓库导致的长时间CI/CD问题,通过安装Harbor仓库解决了性能瓶颈。对于Jenkins频繁重启的问题,调整了KubeSphere-devops-system中的内存限制,显著提升了稳定性。集成自建GitLab与Jenkins时,通过通用钩子实现了无缝触发。

体验与展望

KubeSphere的安装便捷,大幅简化了CI/CD流程,提高了集群的稳定性和可管理性。内置组件的稳定高效确保了业务的平稳运行,且支持第三方Helm仓库,简化了中间件的安装过程。未来,计划将旧业务逐步迁移至KubeSphere集群,并考虑使用Golang开发更多新业务,利用网关的无侵入特性增强微服务治理。

    本文来源:图灵汇
责任编辑: : 林琳
声明:本文系图灵汇原创稿件,版权属图灵汇所有,未经授权不得转载,已经协议授权的媒体下载使用时须注明"稿件来源:图灵汇",违者将依法追究责任。
    分享
上好简化容器落地KubeSphere依托部署成本开发平台
    下一篇