共计 3054 个字符,预计需要花费 8 分钟才能阅读完成。
作者简介:郑建林,现任深圳市技研智联科技有限公司架构师,技术负责人。多年物联网及金融行业教训,对云计算、区块链、大数据等畛域有较深入研究及利用。现次要从事 PaaS 平台建设,为公司各业务产品线提供平台底座如技术中台,数据中台,业务中台等。
公司简介
深圳市技研智联科技有限公司:为佛山技研智联科技有限公司子公司,前者为三技精细和研华合资公司。提供从工控设施,网关,云平台一体化的业余印染数字化工业互联网平台。
佛山技研智联科技有限公司(以下简称“技研智联”)是由三技精细技术(广东)股份有限公司以及研华科技股份有限公司于 2020 年 8 月合资成立,是一家专一于为纺织企业提供自动化控制系统软件、工业互联网利用平台、数字化转型与智能制作整体解决方案,并为企业提供行业软件征询、施行、集成等服务的高新技术企业,专精特新中小企业。
公司倒退至今曾经是 100 多人规模业余技术产品团队,自主研发的 iTEX 智慧纺织云平台,目前曾经连贯 70 多家工厂,2000 多台设施,可能把工厂各个系统、各类跨业务的数据在同一个平台上买通,让企业实现基于数据和流程的业务协同。
公司较早就开始拥抱云原生容器化部署,反对客户在私有云 iTEX 云平台应用 SaaS 产品,同时反对用户按公有云形式私有化部署装置应用。目前 IT 和运维团队规模 5 人,次要满足本身研发上云和客户装置部署运维需要。
背景介绍
自己为深圳市技研智联科技有限公司架构师和技术负责人,负责整个公司根底平台搭建设计,所在团队为整个公司产品业务提供根底 PaaS 平台,包含技术中台,数据中台,业务中台等。原先业务团队次要做 SaaS 云平台和边缘管制相干产品。应用超交融服务器上宰割部署 K8s 集群,通过 Rancher 来治理服务器集群。DevOps 用的 git 反对的脚步打 Docker 镜像形式,手动公布服务。存在服务器资源有余,扩展性欠缺,运维治理不便,技术框架差别等问题,随着业务倒退须要底层资源管理,技术框架,公共服务对立服务化火烧眉毛。
选型阐明
作为公司根底服务平台团队,须要提供对立易用的容器服务公布部署治理一站式平台,期间比照了 Openshift,Rancher,KubeSphere 这几大开源 PaaS 容器治理平台,比照特点如下(心愿尽量主观,各个平台组件一直倒退,若有失正确望见谅):
表 1 开源 PaaS 容器治理平台比照
开源 PaaS | Rancher | Openshift | KubeSphere |
---|---|---|---|
开发团队 | Rancher | 红帽 | 青云科技 |
容器平台 | 好 | 好 | 好 |
监控 | 好 | 好 | 好 |
devops | 个别 | 个别 | 好 |
多集群反对 | 好 | 个别 | 良好 |
利用市场反对 | 无 | Operator | Helm |
多租户 | 反对个别 | 反对个别 | 反对良好 |
交互 | 良好 | 良好 | 好 |
装置 | 轻 | 重 | 重 |
一方面 KubeSphere 优良的交互体验一下击中了研发人员的心理,同时本着交融产品模块化开发的初衷,最终抉择了 KubeSphere,心愿能进步交互成果,另外冀望能够晋升整体产品底层设施稳定性和开发效率。
实际过程
K8s 集群基于腾讯云服务器 centos7.9 零碎采纳三个 Master 节点高可用集群多个 Worker 节点计划搭建,应用稳固 K8s v1.23.5 版本。分为开发,测试,预公布和生产四个公有网络 K8s 集群。
网络计划
网络采纳 Calico CNI。相比 Flannel,Calico 网络插件具备如下劣势:
- 性能更全面,还可提供网络安全和治理;
- Calico 不应用 Overlay 网络。相同,Calico 配置第 3 层网络,该网络应用 BGP 路由协定在主机之间路由数据包,性能具备劣势 – 能做网络策略,可与服务网格 Istio 集成。
集群网络为腾讯云 VPC 公有网络外网不可拜访, 对外采纳负载平衡对立接入通过 APISIX 流量网关后再到业务网关解决。服务之间都是内网通过 K8s 虚构网络解析服务名拜访。
存储计划
出于老本思考, 存储次要采纳腾讯云 CBS 云硬盘存储, 通过 NFS 挂载到 PV 中供服务绑定 PVC 应用。对性能要求高的也能够应用腾讯云上提供的其余高性能存储服务。
DevOps 继续集成部署
在应用 KubeSphere 之前公司私有云服务都部署在超交融服务器环境,应用 GitLab 的 CI 能力,在 Rancher 上公布服务。开发测试环境开发人员进行代码编译打包而后公布,生产环境开发人员打 tag 推送镜像,而后对立由运维人员应用 Rancher 进行公布部署。CI/CD 流程架构图如下:
改用 KubeSphere 后开发人员集成公布在 KubeSphere DevOps 我的项目里实现整个流程的编辑运行查看等操作。基于 Jenkins 脚本编排流水线,生产环境由运维人员进行 DevOps 我的项目受权操作。操作起来更晦涩,能实现更简单的流水线编排,但 Jenkins 容器镜像绝对较大会吃资源一点。基于 KubepShere CI/CD 流程架构图如下:
日志与监控
日志监控采纳更为轻量的 Loki 零碎组件来采集解决,并用 Grafana 进行可视化展现,监控应用 Prometheus,同样应用 Grafana 来展现。
KubeSphere 账号权限治理
各个利用普遍存在本人的账号角色体系,治理起来会比拟繁琐,因而买通产品利用账号和 KubepShere 账号体系能极大进步配置应用体验,幸好 KubepShere 提供了 oauth 受权接口模板,只须要依照例子配置 url 及 client_id,写好回调解决接口即可买通账号受权登录。受权登录架构图如下:
应用成果
账号以及我的项目权限治理
买通利用零碎账号跟 KubepShere 账号受权后,用户及权限治理更容易便捷,KubeSphere 集成成果如下图:
首次登录 KubeSphere 受权个人信息即可,后续登录无需反复受权操作。目前不足之处是企业租户和角色没有和咱们平台利用买通,须要各自配置。受权信息须要账号 ID,账号名字以及邮箱等。第一次受权确认账号信息如下图所示:
应用服务公布部署
应用服务公布部署性能更全面,不便对立管理控制。
在应用过程中也呈现过偶然卡住须要勾销从新运行状况,多个流水线同时运行须要较长时间排队问题,后续运行效率这块心愿可能优化。
资源及服务性能监控
KubeSphere 监控提供了 Prometheus 监控套件,对服务器资源及应用状况能实时监控同时能够查问历史变动,极大不便了系统维护治理,提前发现系统资源瓶颈进行解决,进步稳定性。服务器集群监控如下图所示:
KubeSphere 同时反对对单个服务的性能和资源应用进行监控,这是原先应用 Rancher 没有体验过的,对评估整体服务部署资源性能占用有了很好计算参考和优化方向。服务监控如下图所示:
容器治理组件扩大
去年六月底 KubeShere 3.3.0 版本公布后第一工夫装置尝鲜,一开始全功能装置 KubeSphere,core,Prometheus,Istio,DevOps,monitor,APP 利用商店等各个组件。发现整个一套部署上来会很重,同时以后阶段有些组件还不太用得上,于是在部署装置配置文件里对一些模块(如 Istio,APP 商店)设置为 false 不装置即可。
将来布局
PaaS 容器治理监控等基础设施作为企业产品服务的重要底座,稳定性,易用性,可适配性也是咱们一直谋求的指标,因而打算后续联合 KubeSphere 弱小的容器治理平台能力进行本身产品需要服务治理进行交融,几个重要方向如下:
- 轻量化部署 KubeSphere 外围组件,同时开发适配本人须要的插件。
- 轻量化部署后做多环境集群对立治理。
- 同时非凡场景下反对混合云场景。
- 依据后续业务量适合机会上 Istio 和 Serverless。
本文由博客一文多发平台 OpenWrite 公布!