关于云计算:技研智联云原生容器化平台实践

47次阅读

共计 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 容器治理平台比照

开源 PaaSRancherOpenshiftKubeSphere
开发团队 Rancher 红帽 青云科技
容器平台
监控
devops 个别 个别
多集群反对 个别 良好
利用市场反对 OperatorHelm
多租户 反对个别 反对个别 反对良好
交互 良好 良好
装置

一方面 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 弱小的容器治理平台能力进行本身产品需要服务治理进行交融,几个重要方向如下:

  1. 轻量化部署 KubeSphere 外围组件,同时开发适配本人须要的插件。
  2. 轻量化部署后做多环境集群对立治理。
  3. 同时非凡场景下反对混合云场景。
  4. 依据后续业务量适合机会上 Istio 和 Serverless。

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

正文完
 0