作者:尹珉,KubeSphere Ambassador、contributor,KubeSphere 社区用户委员会杭州站站长。

公司简介

杭州微宏科技有限公司于 2012 年成立,专注于业务流程管理和自动化(BPM&BPA)软件研发和解决方案供应商。创始团队毕业于浙江大学、清华大学、美国 Rice 大学和 University of Texas 等海内外知名高校,曾服务于世界知名软件公司和 500 强企业。

微宏已为超过 1000 家的国内国外大中型企业和政府提供了从流程规划设计、流程运行、流程自动化、流程集成、流程挖掘的全生命周期流程软件产品和解决方案,客户分布于制造、金融、电器电子、医药、服务业、高科技和政府等十多个行业。

微宏科技是国家高新技术企业、浙江省专精特新企业,通过了 ISO9001 质量管理体系认证、CMMI 认证、ISO27001 信息安全管理体系认证。获赛迪“2021 年智能 BPM 领域最佳产品”奖、“2021-2022 业务流程管理&自动化领域优秀产品”奖、中国软件网“2021 年度智能流程平台优秀产品奖”、“2022 应龙杯最佳 BPA 业务流程自动化产品奖、“2022 数字政府建设领军企业”奖,连续 2 年上榜浙江省软件协会“浙江省软件核心竞争力企业(成长型)”榜单。

背景介绍

公司在自建 IDC 机房的物理服务器上搭建了 Kubernetes 集群,并使用 Kuboard 作为集群管理工具。研发环境使用这些集群资源进行开发和测试。而 CI/CD 流水线则通过同样部署在物理服务器上的 Jenkins 来实现代码编译、镜像构建等步骤,最终以手动方式发布服务。

这种模式下存在一些问题:缺乏统一的服务编排和管理,集群和服务之间缺乏联动,CI/CD 流程自动化程度不足,部署发布需要手动操作,日志和监控数据分散,缺少统一可视化平台等。这种传统研发模式已经难以适应企业对敏捷开发和自动化交付的需求。需要进一步融合云原生技术,实现基础设施的智能化和研发流程的端到端自动化。

平台选型

作为 DevOps 运维团队,我们需要提供自助化的综合运维平台。在开源平台选型时,公司考虑到以下两点最终选择了 KubeSphere:

  1. KubeSphere 屏蔽了 Kubernetes 的复杂性,通过 GUI 来简化集群管理,降低学习成本。
  2. KubeSphere 整合并扩展了多种优秀开源项目,如 Prometheus、Jenkins 等,提供了统一的入口,实现了全栈的 DevOps 能力。

相比其他平台,KubeSphere 更好地规避了 Kubernetes 本身的复杂性,也减少了集成各类开源工具的工作量。这使得我们可以更专注于运维自动化与自助化平台建设,而不需要单独管理底层基础架构与服务。因此 KubeSphere 成为我们满足公司需求的最佳选择。

实践过程

硬件资源

研发环境:IDC 机房 40 台虚拟机,自建 K8s+KubeSphere 集群。

生产环境:阿里云 ACK 集群 12 节点。

存储方案

使用 JuiceFS 作为分布式文件层,搭配 MinIO 作为对象存储接入层。

  • JuiceFS:提供分布式高性能文件存储。使用近似原子开源存储引擎如 LevelDB。
  • MinIO:开源对象存储兼容 AWS S3 API,作为 JuiceFS 对象存储接口。

整合方案优点:

  • 简单易用,提供类 S3 对象存储 API。
  • 高性能、弹性,通过 JuiceFS 实现。
  • 低成本,可以使用廉价的云硬盘或 NAS 作为后端存储。

DevOps 持续集成部署

公司以前研发环境中的 CI/CD 主要依靠单节点 Jenkins 实现,存在许多问题:

  • 开发人员频繁更新代码,多环境切换导致构建部署经常出错。
  • Jenkins 资源有限,构建效率较低。

为解决这些问题,我们切换到了 KubeSphere 平台,利用其整合的 DevOps 功能改进了 CI/CD 流程:

  • KubeSphere 提供了可视化流水线编排,简化了复杂流程的搭建。
  • 基于 Kubernetes 的弹性资源,可以动态扩展 Jenkins executor 提升构建效率。
  • 标准化和最佳实践减少了环境配置错误,提升了部署稳定性。

通过 KubeSphere 的 DevOps 解决方案,我们改善了 CI/CD 流程,提升了研发环境的效率和质量。

日志及监控

公司使用自建的 ELK 栈采集日志数据,并使用 KubeSphere 平台内置的 Prometheus 作为监控方案,然后通过 Grafana 来可视化展示监控数据。

使用效果

CI/CD

公司使用 KubeSphere 平台的 DevOps 功能,更好地满足了大规模并发构建流水线的需求。

应用商店

公司在探索云原生过程中,发现使用 Helm 可以标准化地进行应用发布。KubeSphere 天生具备应用商店功能,将 Helm 的能力可视化,大大降低了开发人员的学习成本。

未来规划

目前我们已完成业务的全面容器化,并基于 KubeSphere 平台的能力进行云原生架构的迁移。KubeSphere 为我们提供了 GUI 化的 Kubernetes 集群管理、CI/CD 流水线、服务网格治理等功能,简化了云原生技术的运用。

在平台助力下,我们的研发和运维效率显著提升。我们相信运用 KubeSphere 的云原生平台,必将为公司下一步业务增长提供坚实基础。我们将持续扩展业务场景,丰富平台功能,并探索基于 KubeSphere 的多云和边缘计算等新型架构,为客户带来更出色的产品体验。

本文由博客一文多发平台 OpenWrite 发布!

微宏科技基于 KubeSphere 的微服务架构实践的更多相关文章

  1. 基于 Docker 的微服务架构实践

    本文来自作者 未闻 在 GitChat 分享的{基于 Docker 的微服务架构实践} 前言 基于 Docker 的容器技术是在2015年的时候开始接触的,两年多的时间,作为一名 Docker 的 D ...

  2. 基于 Spring Cloud 的微服务架构实践指南(下)

    show me the code and talk to me,做的出来更要说的明白 本文源码,请点击learnSpringCloud 我是布尔bl,你的支持是我分享的动力! 一.引入 上回 基于 S ...

  3. 微服务架构实践 - 你只懂docker与spring boot就够了吗?

    微服务架构实践 - 你只懂docker与spring boot就够了吗? 作者 浮云发发 已关注 2017.02.27 02:50* 字数 2613 阅读 2583评论 6喜欢 35赞赏 2 微服务并 ...

  4. 新项目架构从零开始(三)------基于简单ESB的服务架构

    这几个月一直在修改架构,所以迟迟没有更新博客. 新的架构是一个基于简单esb的服务架构,主要构成是esb服务注册,wcf服务,MVC项目构成. 首先,我门来看一看解决方案, 1.Common 在Com ...

  5. 京东基于Spark的风控系统架构实践和技术细节

    京东基于Spark的风控系统架构实践和技术细节 时间 2016-06-02 09:36:32  炼数成金 原文  http://www.dataguru.cn/article-9419-1.html ...

  6. 基于OpenResty和Node.js的微服务架构实践

    什么是微服务? 传统的单体服务架构是单独服务包,共享代码与数据,开发成本较高,可维护性.伸缩性较差,技术转型.跨语言配合相对困难.而微服务架构强调一个服务负责一项业务,服务可以单独部署,独立进行技术选 ...

  7. 基于 Spring Cloud 的微服务架构实践指南(上)

    show me the code and talk to me,做的出来更要说的明白 GitHub 项目learnSpringCloud同步收录 我是布尔bl,你的支持是我分享的动力! 一. 引入 上 ...

  8. 放弃Dubbo,选择最流行的Spring Cloud微服务架构实践与经验总结

    http://developer.51cto.com/art/201710/554633.htm Spring Cloud 在国内中小型公司能用起来吗?从 2016 年初一直到现在,我们在这条路上已经 ...

  9. 从 Spring Cloud 开始,聊聊微服务架构实践之路

    [编者的话]随着公司业务量的飞速发展,平台面临的挑战已经远远大于业务,需求量不断增加,技术人员数量增加,面临的复杂度也大大增加.在这个背景下,平台的技术架构也完成了从传统的单体应用到微服务化的演进. ...

  10. 基于AWS的云服务架构最佳实践

    ZZ from: http://blog.csdn.net/wireless_com/article/details/43305701 近年来,对于打造高度可扩展的应用程序,软件架构师们挖掘了若干相关 ...

随机推荐

  1. blender建模渲染Tips

    blender渲染 灯光的三种方式 1,常规灯光:shift+A选择灯光. 2,世界环境光:右侧地球图标调整. 3,物体自发光:把渲染物体变成一个发光体来进行调节灯光. 渲染视窗的调节 ctrl+b裁 ...

  2. 一个好主板对CPU超频的现实意义————一次超频经历 (z390ws华硕工作站主板+i7-9700k CPU ,Ubuntu18.04.5系统,8核心超频 5.2Ghz以上,单核心满负荷运转可以稳定运行10多分钟后才重启)

    本人于今年2020年1月份在某宝上购买了一款workstation主板,也就是工作站主板,传说中的华硕Z390WS主板(购入价格为3900元),由于当时手里有些小钱,又弄了一个大蝴蝶1350w的电源( ...

  3. Ubuntu系统:NVIDIA显卡关闭图形显示 —— 彻底禁用NVIDIA GPU 的显示输出接口 —— ubuntu无桌面方式启动 —— NVIDIA显卡模式切换(显示模式切换为计算模式)

    相关: ubuntu desktop改用无桌面方式启动 在使用Linux做异构计算等科学计算的时候一个常见的问题就是: NVIDIA显卡关闭图形显示 -- 彻底禁用NVIDIA GPU 的显示输出接口 ...

  4. VUE learn

    Vue .js 的官方文档中是这样介绍它的. 简单小巧的核心,渐进式技术拢,足以应付任何规模的应用. 简单小巧是指 vue.js 压缩后大小仅有 17k .所谓渐进式(Progressive ),就是 ...

  5. Tree组件的快速定位更新节点的状态,以及修改节点的数据属性等操作

    当我们点击树节点的时候我们常常只能获得树的id,那么我么如何获快速定位到树节点的内容呢,除此之外,当树已经存在时,但是缺少我们想要的内容时,我们想在树节点上添加我们需要的额外的内容时该怎么办,那么就是 ...

  6. zabbix 4.0 监控 mysql

    zabbix官方支持监控MySQL,但直接使用默认的模板是不可用的,需要经过额外的设置才可以使用.如果只需要对mysql数据库做简单的监控,zabbix自带的模板完全能够满足要求 下面是用zabbix ...

  7. QTreeWidget折叠子项(折叠当前项的所有子项)

    QTreeWidget折叠子项(折叠当前项的所有子项) 本文仅供本人知识总结使用,所以内容会比较浅显,不喜勿喷. 文章目录 QTreeWidget折叠子项(折叠当前项的所有子项) 一.仅折叠子项 二. ...

  8. 使用 crontab 设置 Homebrew 自动更新

    本人有强迫症,希望自己电脑上安装的软件永远是最新的.App Store 有自动更新功能,然而 Homebrew 则没有自动更新的选项.每次手动更新的话时间长了又感觉麻烦.后来发现可以使用 cronta ...

  9. pikachu靶场 越权(水平越权+垂直越权)

    水平越权 A用户和B用户属于同一级别用户,但各自不能操作对方个人信息.A用户如果越权操作B用户个人信息的情况称为水行越权操作 三个用户 lucy/lili/kobe  密码都为123456 随便登录其 ...

  10. MySQL Installer 方式安装MySQL

    一.下载MySQL 首先,去数据库的官网https://dev.mysql.com/downloads/windows/installer/8.0.html下载MySQL. 点击download进入下 ...