公司简介
T3 出行是南京领行科技股份有限公司打造的才智出行生态渠道,由中国榜首轿车集团有限公司、东风轿车集团有限公司、重庆长安轿车股份有限公司发起,联合腾讯、阿里巴巴等互联网企业一起投资打造。公司以“成为最值得信赖的出行服务企业”为品牌愿景,“科技引领 愉悦出行”为使命,倡议“可信,更自由”的出行理念,努力为用户供给“可信、安全、质量”出行服务,让用户感受愈加自由的出行体会。
布景介绍
随着 T3 出行事务体量持续上涨,服务的稳定性需求系统化的保障。容器化改造将供给标准化的环境,根据使用运转环境实现完好的版别操控,消除开发到出产的环境差异,保证使用生命周期内环境一致性和标准化。一起容器化环境能够让服务同享计算资源,并经过混部方式来提高整体计算资源的利用率,下降企业使用的基础设施运营本钱。
容器化之前 T3 出行是传统的虚拟机形式,一切事务都部署在虚拟机上,整体产研经过堡垒机、传统的监控系统、日志渠道等进行日常使用的运维。而一旦服务容器化开端,咱们必然需求一个云原生的容器化办理渠道,让 T3 出行整体产研从传统的虚拟机操作形式转变为云原生操作形式。一起,之前日常的使用运维形式需求使用多个渠道进行协作,产研定位一个使用性能问题往往需求来回切换多个渠道。所以咱们希望容器化渠道能够集成周边的配套,如日志检查、监控系统,让产研尽量在一个渠道内完结日常运维的作业;也能够作为渠道工程的一部分,让产研在开发环境能够具有满意的权限创立、更新、删除非基线环境,而无需了解底层架构知识,经过自助化的环境才能能够让研制并行开发测验,终究让事务能够快速、高效增长。
选型说明
咱们的选型思路基本上是根据功能、UI 体会、社区活跃度、学习本钱这 4 点来的。首要必须要满意咱们对容器渠道的需求(在布景介绍中现已描绘),其次是社区活跃度以及生态,终究是 UI 体会,在 UI 体会中包含了用户的学习本钱,咱们希望以低学习本钱的方式让 T3 出行的研制更够快速上手容器渠道,一起也具备运维视角,如此就既满意了研制的使用视角纬度,也满意了运维的集群视角维度。 咱们在选型期间对比了 Rancher、Openshift、KubeSphere,终究挑选了 KubeSphere 作为 T3 出行云原生容器渠道。KubeSphere 定位是以使用为中心的容器渠道,供给简单易用的操作界面,帮助用户屏蔽掉那些技术细节,必定程度上下降了学习本钱。一起 Kubesphere 具备优异的容器办理才能、多集群支持才能、多租户才能、天然集成的可观测才能等,让咱们能够在一个渠道上满意了日常运维所需。
实践进程
多集群统一办理
KubeSphere 多集群中角色分为主集群和成员集群,由 1 个主集群和多个成员集群组成,与咱们原先的集群规划不约而同。主集群咱们作为成员集群的操控面存在,经过主集群下发不同的办理战略给到成员集群。对于成员集群而言,咱们根据不同的环境、不同的租户性质也会划分到不同集群。如根据环境区分,咱们会有开发集群、测验集群、预出产集群、出产集群;而根据租户性质,咱们会有一些对接三方事务的集群。
项目办理
在很多传统的 DevOps 渠道中,并没有与项目进行联动,服务往往仅仅相关了安排架构,当安排架构变化,服务的元信息就不准确了。并且,对于一个项目来说,常常会有跨部分合作的状况,而事务发布的视角却是在各自的部分下的,项目成员无法在一个视图下看到项目的一切事务,在项目的协作进程中自然就增加了许多交流本钱。而 KubeSphere 便是根据项目维度对容器服务进行办理的,在 KubeSphere 中一个项目对应的便是 Kubernetes 一个 Namespace,租户之间的视图是隔离的,日常只需求在自己的项目视图下进行协作即可。
咱们的 DevOps 渠道正在逐渐的往项目集成方向开展,现在咱们是依照事务域进行统一办理,一个事务域代表了一个 KubeSphere 中的一个项目,事务域下会有多个相关的事务服务,不管安排架构怎么改换,事务域始终不变。
多租户办理
KubeSphere 中的多租户办理是根据企业空间维度来完结的,企业空间是用来办理项目、DevOps 项目、使用模板和使用库房的一种逻辑单元。咱们能够在企业空间中操控资源访问权限,也能够安全地在团队内部分享资源。企业空间能够相关多个集群中的多个项目,并对企业空间中的成员进行权限办理,引用 KubeSphere 官方配图便于咱们直观的理解:
咱们是以事务域为项目维度进行统一办理,那么企业空间作为 KubeSphere 最小的租户办理单元自然是被咱们依照事务域进行划分。所以 T3 当下的多租户办理逻辑便是:企业空间(事务域)→ 集群(开发、测验等)→ 项目(事务域)。一起在企业空间中,咱们也笼统出了部分办理纬度,使用 KubeSphere 的部分办理,便于咱们给不同的人员赋予不同集群(环境)操作权限。
内部 DevOps 渠道与 KubeSphere 的结合
T3 容器化之前已有一套 DevOps 渠道,这套 DevOps 渠道交付的制品是部署在虚拟机上的。而容器化项目开展的前置条件便是必须支持容器发布,如果让现有的 DevOps 渠道改形成云原生化的 DevOps 渠道作业量巨大,项目风险不可控,所以咱们终究挑选了 DevOps 渠道与 KubeSphere 的结合。内部 DevOps 渠道新增容器发布功能,只进行容器服务的发布和 Pod 副本数的扩缩容操作,由 KubeSphere 对发布后的容器进行接管,给研制人员展示容器发布后的使用状态,让研制人员自助式的与容器进行交互。
能够说,KubeSphere 接管了 T3 容器化发布的后半场,研制人员执行发布后,便会来到 KubeSphere 上进行与容器的交互操作,如日志检查、监控检查、进入容器操控台、检查容器事情等。
效果
- T3 出行的事务现已全面容器化,一切的集群已被 KubeSphere 纳管,产研的日常使用保护作业都需求根据 KubeSphere 渠道进行开展。
- 得益于 KubeSphere 的以使用为中心的设计,帮用户屏蔽了底层技术细节,现在 T3 出行整体产研都能够自助式的使用 KubeSphere 进行日常的作业,也让 T3 产研从传统的使用保护形式成功的转向了云原生使用保护形式。
- KubeSphere 集成了监控、日志、事情,提高了 T3 产研日常的人效。
- KubeSphere 集群等级的可观测,是咱们提升集群资源利用率的参考根据。
未来规划
- 内部 DevOps 渠道与 KubeSphere 深度交融,给 T3 产研带来更好的体会。
- 根据 T3 的事务场景采用更多优异的开源项目,与社区一起成长。
- FinOps 与 Serverless 的探索与实践。
本文由博客一文多发渠道 OpenWrite 发布!