Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >新东方的Kubernetes实践:从服务化ES到Kafka和Redis

新东方的Kubernetes实践:从服务化ES到Kafka和Redis

作者头像
CNCF
发布于 2019-12-04 08:25:48
发布于 2019-12-04 08:25:48
1.2K0
举报
文章被收录于专栏:CNCFCNCF

口述/作者:

姜江,新东方信息管理部平台架构负责人

陈博暄,新东方信息管理部高级运维工程师

编辑:

Rancher Labs

新东方信息管理部平台架构负责人 姜江

新东方信息管理部高级运维工程师 陈博暄

2017年,新东方开始了利用容器化手段将中间件业务服务化的探索,基于Rancher 1.6使用ES;2019年,新东方再次开始了扩大了中间件的业务服务化,基于Kubernetes使用Kafka、ES和Redis。利用容器化手段将中间件服务化,有效提升了运维团队的工作效率,极大地缩短了软件开发流程。本文将分享新东方在中间件服务化上的尝试。

从幼儿园、小学、中学、大学和出国留学,新东方几乎涉及了每一个教育领域。我们的教育产品线非常长,也非常复杂。那么,这么长的教育线,我们是用怎样的IT能力进行支持的呢?——新东方云。

我们目前有16个云数据中心,包括自建、租用IDC,我们还通过云联网直接连接了阿里云和腾讯云,最终形成了一套横跨多个云提供商的混合云架构。新东方的云体系很特别,你可以在里面看到一些相对传统的部分,比如SQL Server、windows和柜面服务程序。但也有比较新潮的东西,比如TiDB、容器、微服务等等。除此之外,还能找到视频双师、互动直播等偏互联网应用的部分。一个企业的IT架构和一个企业的业务阶段是密切相关的。新东方和万千从传统业务走向互联网+的企业一样,正处于数字化转型的关键阶段。

接下来我们来谈一谈新东方的容器化之路。新东方做容器也很多年了。2016年,新东方尝试了基于Docker Swarm的一些商业方案方案,不是很理想。2017年正是容器编排架构风云变换的一年,我们选择了Rancher的Cattle引擎开始了容器化的自主建设,同时也在观望业界动向。到了2018年,新东方的容器建设再次进化,最终全面转向了K8S。

那么在新东方是怎么看待K8S的呢?我们认为K8S是介于PaaSIaaS层之间的中间层,对下层的IaaS层和上层的PaaS层都制定了接口和规范。但是并不关心功能实现。而我们要做一套完整的容器云,只有K8S是远远不够的,还需要引入其他开源组件进行补充。

从上图可以发现,我们利用各种开源组补充K8S生态,组合成目前的新东方的容器云平台。

我们的运行时组件基于Docker,Host主机操作系统选择的是Ubuntu,K8S网络组件用的是Canal,同时采用Mellanox网卡加速技术。Rancher 2.0作为我们的k8s管理平台,提供多租户管理、可视化、权限对接AD域等重要功能,帮助我们避免了大量的后台集成整合工作,为我们节约了人力的同时提供了一套稳定的图形化管理平台。

下面介绍一下我们的K8S实践, 从上图可以看到,我们完全基于原生社区版本的K8S。通过kubeadm工具和nginx stream负载均衡部署成一个三节点HA架构。

集群关键组件运行在host网络模式。这样可以减少网络上的资源消耗,获得更好地性能,比如Ingress组件,通过Flannel构建overlay容器网络,运行上层应用。

使用容器肯定需要涉及到镜像管理。新东方是早期Harbor的用户,我们从1.2版本就开始用Harbor,后端存储对接ceph对象存储。目前,我们在尝试镜像分发的功能,使用的是阿里云开源的Dragonfly。它可以将南北向的下载流量转换为东西向,使镜像在node之间复制成为可能。当集群规模非常大的时候,减缓拉取镜像对Harbor服务器造成的压力负载。

我们的K8S集群是完全跑在物理机上的,当集群规模大了之后,物理机增多,我们必须要引用物理机的管理软件减少我们的运维成本。

在这里,我们使用的是Ubuntu的Maas,它是个裸机管理平台,可以将没有操作系统的物理机,按照模板装成指定的标准物理机。我们再结合Ansible playbook初始化物理节点,将它变成我们想要的物理机节点,加入到集群里边。

从上图中可以看到,通过加载TiDB的role把标准物理机变成TiDB的节点,通过K8S的role把标准物理机变成K8S节点,我们会在每一种role里将Osquery和Filebeat推到物理机上,它们可以收集物理机的机器信息,推送到CMDB进行资产管理。

我们的CI/CD是基于业务来区分的,有一部分我们直接对接新东方自己的Jenkins,另一部分业务直接对接Rancher Pipeline功能来实现CI/CD。

集群监控方面,我们现在用的是开源社区Prometheus的Operator。一开始我们用的是原生的Prometheus,但是原生的Prometheus在配置告警发现和告警规则上特别麻烦。

引用了Operator以后,Operator帮我们简化了配置的过程,比较好用,推荐大家使用。

值得一提的是,Rancher 2.2版本之后的集群监控都是基于Prometheus Operator,大家感兴趣的话,可以回去下一个新版本的Rancher体验一下。

我们的日志是针对两个级别来设置的。业务日志通过sidecar的方式运行filebeat,把数据收集到kafka集群里面,再由logstash消费到ES,可以减轻ES的压力负载。

另一方面是集群层面,集群层面的日志通过Rancher 2.2提供日志收集功能,用fluentd收集到ES集群当中。

我们一共有五套集群,一个是跑线上业务的,生产和测试两套;一个是Platform1集群,跑中间件类应用,比如ES、Redis、Kafka,也是分生产和测试两套;还有一个是测试集群,它是测试功能的,K8S集群升级迭代、测试新的组件、测试新的功能都是在这个集群上完成的。

可能细心的朋友发现我们的集群是1.14.1版本的,版本非常新,为什么?因为Kubernetes 1.14有一个非常重要的功能,叫local PV,目前已经GA,我们非常看中这个功能,因此将集群一路升级到1.14。

目前,业务应用主要是两个方面:

  1. 掌上泡泡APP以及新东方APP后端服务都跑在容器云架构上。
  2. 中间件的服务化,比如Kafka、Redis、ES集群级别的中间件服务都跑在我们的容器云架构上。

为什么要将中间件服务化?

那么,我们为什么要将中间件服务化呢?

在我们看来,中间件比如ES、队列、Redis缓存等都有几个共同的特点,就像图中的怪兽一样,体型很大。

我举个例子做个比较: 比如我启动一个业务的虚机,4C8G比较常见,起10个就是40C 80G。作为对比, 40C80G是否能启动一个elasticsearch的节点呢? 40C 80G启动一个es节点是很紧张的。实际生产中, 一个高吞吐的ES节点一般需要100G以上的内存。从这个例子我们就可以体会到中间件类负载的单体资源消费非常的大。

另外,中间件在项目中应用非常广,随便一个应用,肯定会使用Redis、MQ等组件。随便一个组件单独部署就要占用占多台虚机。各个项目又都希望自己能有个小灶,希望自己能独占一个环境。而小灶对资源的耗费就更多,加上中间件不可避免的各种版本、各种配置不一样,我们需要雇佣非常多的人来维护中间件,这就是一个很大的问题。

当然,如果整个公司一共也就有十来个项目的话,完全使用虚机也可以。但是新东方现在有三四百个项目,中间件消耗了相当大的资源。如果全部用虚机资源的话,成本还是很高的。

那我们怎么解决这个问题呢?我们祭出三箭:容器化、自动化、服务化。

容器化最好理解,刚才提到了杂七杂八的各种配置,通通用容器来统一,你必须按我的标准来。直接将容器部署到物理机,以获得更好的性能和弹性。

容器化的下一步是自动化,自动化更精确地说其实是代码化。就是将基础设施代码化,以代码上线迭代的方式管理基础设施。我们使用Helm和Ansible来实现代码化和自动化。

前面两步都做好之后,我们就可以进入到第三步。如果我们拿自己的管理规范和最佳实践去约束大家,可能作用并不大。最简单的办法就是服务输出,让大家来用我们的服务。

逐渐地将小灶合并成大锅饭,削峰填谷,也避免了资源的浪费。每个公司多少多有一些超级VIP的项目. 这种业务就变成了大锅饭里面单独的小灶。同样是大锅饭的机制,但我单独为你提供资源隔离、权限隔离。

在服务化之前,我们对运维人员更多的理解是项目的劳务输出。每天都很忙,但也看不到做太多成果。服务化之后,我们将劳务输出转变为对服务平台的建设,赋能一线人员,让二线人员做更有意义的事。

我们的实践:ELK/ES

接下来,我们来逐一讲解新东方各个中间件编排的方式。

Elastic公司有个产品叫做ECE,是业内第一个容器化管理ES的平台,ECE基于K8S的1.7(也可能是1.8)实现。通过容器的方式、用物理机为用户提供各个版本的ES实例。但是它也存一些局限性:只能管ES,其他的中间件管不了。

这对我们启发很大,我们就想能不能用Rancher+Docker的方式,模仿制作一个我们自己服务平台。于是诞生了我们的第一版平台,来使用Rancher 1.6管理ELK。

上图就是我们的ELK集群,它是横跨Rancher 1.6和k8s和混合体,目前处于向k8s迁移的中间状态。

ELK的编排方式我们有两个版本:UAT环境的编排和生产编排。在UAT环境我们采用rook(ceph)的方案, ES节点用Statefulset方式启动。这种方案的好处是万一哪个节点挂了,存储计算完全分离,你想漂移到哪里就可以漂移到哪里。

我们的生产环境会比较不一样,我们将每个ES节点都做成一个deployment,我们不让它漂移,用Taint和label将deployment限定在某一主机上。POD的存储不再使用RBD,直接写入本地磁盘hostpath, 网络使用host网络获取最好的性能。

如果挂了怎么办呢?挂了就等待就地复活,机器挂了就地重启,换盘或者换硬件。如果还不能复活怎么办呢?我们有个机器的管理,机器干掉,直接从池里面重新拉一台新机器出来,上线,利用ES的复制功能把数据复制过去。

大家可能会很奇怪,你们怎么搞两套方案,而且生产编排还那么丑?

我们认为简约架构才是最美架构,中间环节的组件越少,故障点也越少,也就越可靠。本地磁盘的性能要优于RBD,本地网络要优于K8s网络栈。最重要的是:我们编排的这些中间件应用,实际上全部都是分布式的(或者内置HA架构),他们都有内置的副本机制,我们完全不用考虑在K8S这一层做保护机制。

我们也实验对比过这两种方案,如果节点挂掉,本地重启的时间要远低于漂移的时间,RBD有时候还会出现漂移不过去的问题。物理节完全挂掉的几率还是很小的。所以我们最终在线上环境选择了稍微保守一点的方案。

我们的实践:Redis

我们现在的Redis主要是哨兵的方案,同样采用deployment限定到特定节点的方式编排。我们的Redis不做任何持久化,纯作为cache使用。这就会带来一个问题:假如master挂了,那么K8S就会马上重启,这个重启时间是一定小于哨兵发现它挂了的时间。它起来之后还是master,是个空空的master,随后剩下的slave中的数据也会全部丢掉,这是不可接受的。

我们先前也做了很多调研,参考携程的做法, 在容器启动的时候用Supervisord来启动Redis,即使POD中的Redis挂掉也不会马上重启POD,从而给哨兵充分的时间进行主从切换,然后再通过人工干预的方式恢复集群。

在Redis的优化上,我们为每个Redis实例绑定CPU。我们知道 Redis进程会受到CPU上下文切换或者网卡软中断的影响。因此我们在Redis实例所在node上做了一些限制,并打上了taint。我们把操作系统所需要的进程全部要绑到前N个CPU上,空出来后面的CPU用来跑Redis。在启动Redis 的时候会将进程和CPU一一对应,获得更佳的性能。

我们的实践:Kafka

众所周知,Kafka是一种高吞吐量的分布式发布订阅消息,对比其他中间件,具有吞吐量高、数据可持久化、分布式架构等特点。

那么,新东方是怎样使用Kafka的?对Kafka集群有什么特殊的要求呢?

我们按照业务应用场景来分组,会划分为三类:第一类是使用Kafka作为交易类系统的消息队列;第二类是使用Kafka作为业务日志的中间件;第三类是Kafka作为交易类系统的消息队列。

如果想满足这三类应用场景,我们的Kafka就必须满足安全要求。比如不能明文传输交易数据,所以一定要进行安全加密。

下面,我们来讲解一下Kafka原生的安全加密,我们是怎么做的?又是如何选择的?

除了金融行业以外,其他行业使用Kafka一般不会使用它们的安全协议。在不使用安全协议情况下,Kafka集群的性能非常好,但是它明显不符合新东方对Kafka集群的要求,所以我们开启了数据加密

我们使用Kafka原生支持,通过SSL对Kafka进行信道加密,使明文传输变成密文传输,通过SASL进行用户验证,通过ACL控制它的用户权限。

我们简单看一下两种SASL用户认证的区别。SASL_PLAIN是将用户名密码以明文的方式写在jaas文件里面,然后将jaas文件以启动参数的形式加载到Kafka进程里面,这样Kafka的client端访问服务器的时候会带着jaas文件去认证,就启动了用户认证。

SASL_GASSAPI是基于Kerberos KDC网络安全协议,熟悉AD域的朋友肯定了解kerberos,AD域也用到了Kerberos网络安全协议,客户端直接请求KDC服务器和KDC服务器交互,实现用户认证。

两种方法各有利弊,最终新东方选择的是第一个SASL_PLAIN的方式,原因很简单,这样我们可以避免单独维护KDC服务,减少运维部署成本。但是这种方法有一个问题,因为Kafka用户名和密码都是通过这个进程加载进去的,你想改文件比如添加用户、修改用户密码,那你就必须重启Kafka集群。

重启Kafka集群势必对业务造成影响,这是不能接受的。因此我们采用变通的方法, 按照权限分组,总共在jaas文件里面预先设置了150个用户,管理员为项目分配不同的用户.这样就避免了增加项目重启集群的尴尬。

如上图, 我们在Kafka集群上我们开放了两个端口,一个是带用户认证并且带SSL加密的端口,另一个是没有SSL加密,只启用了用户认证的SASL_PLAIN端口。连接Kafka的客户端根据自己的需求选择端口进行访问。

说完架构,我们来说说kafka的编排。我们kafka和zk集群都通过host网络部署,数据卷通过hostpath方式落到本地物理机,以获取更好地性能。

Kafka和zk都是单个deployment部署,固定在节点上,即使出现问题我们也让他在原机器上重新启动,不让容器随意迁移。

监控方面采用exporter+Prometheus方案,运行在overlay的容器网络。

我们的实践:服务化平台

我们在做这个服务化平台时想法很简单:不要重复发明轮子,尽量利用已有技术栈,组合helm、ansible、k8s。

以kafka为例, ansible 会根据环境生成helm chart , 像ssl证书,预埋用户配置等是由ansible按照用户输入进行生成,生成的结果插入到helm chart中,随后helm根据chart创建对应实例。

以下是我们平台1.0 Demo的一些截图。

这是集群管理,部署到不同的集群上会有不同集群的入口维护它的状态。

上面展示的是申请服务的步骤。整个步骤非常简单,选中集群和想要的版本就可以了。

在这个管理界面,你可以看到你的IP、访问入口、你的实例使用的端口(端口是平台自动分配的)。如果是SSL连接,你还可以得到你的证书,可以在页面上直接下载。我们后期还会将集群的日志都接入到平台中。

我们的后台还是挺复杂的。后台使用ansible 的AWX平台。这里可以看到创建一个集群其实需要很多的输入项,只不过这些输入项我们在前台界面中就直接帮用户生成出来了。

这是部署出来的完整的Kafka集群,有Zookeeper,有Kafka,有监控用的exporter等。我们为每个集群都配置了一个kafka Manager,这是一套图形化的管理控制台,你可以直接在manager中管理kafka。

监控报警是必不可少的,我们基于Prometheus Operator做了一些预置的报警规则。比如topic是否有延迟。当集群生成后,Operator会自动发现你的端点,也就是我们刚看的exporter,operator发现端点后就开始自动加入报警,完全不需要人工接入。

我们为每个项目生成了可视化面板,需要监控的时候可以直接登录Grafana查看。

上图是简单的压测结果。512K的Message,SSL+ACL的配置五分区三副本,约为100万消息每秒, 配置是五个16C 140G内存的容器,SSD硬盘。我们发现随着Message体积变大,性能也会随之下降。

服务化平台路线展望

刚才讲了我们今年的一些工作,那么我们明年想做什么呢?

2020财年开始,新东方计划将Redis、ES这些服务也全部服务化,并将这些暴露出来的API最终整合到云门户里,给集团内的用户或者是第三方系统调用。

另外一个不得不提的就是Operator,上周Elastic又发布了一个新项目叫ECK,ECK就是ES的官方Operator。

通过Operator,你只需要简单地输入CRD,Operator就会自动生成你需要的集群。

我们认为基于Helm的方式,虽然能极大地简化Yaml的工作,但它还不是终点,我们相信这个终点是Operator。

编者按:

本文是根据新东方姜江和陈博暄在Rancher于2019年6月20日在北京举办的第三届企业容器创新大会(Enterprise Container Innovation Conference,简称ECIC)上的演讲整理而成。本届ECIC规模宏大,全天共设置了17场主题演讲,吸引了近千名容器技术爱好者参加,超过10000名观众在线观看。您可在Rancher公众号中阅读更多大会演讲实录的文章。

推荐阅读

需求开发应用部署“一条龙”,平安云如何加速容器场景落地

计算资源利用率提升38%,厦航的容器化电商中台构建实践

提升60%基础资源利用率!中国联通的容器化大数据平台实践

Rancher Labs中国团队招聘架构师啦!坐标北上深,年薪30-50万上不封顶!我们等的那个人,会是你吗?(点击下方图片,查看详情!)

About Rancher Labs

Rancher Labs由CloudStack之父梁胜创建。旗舰产品Rancher是一个开源的企业级Kubernetes管理平台,实现了Kubernetes集群在混合云+本地数据中心的集中部署与管理。Rancher一向因操作体验的直观、极简备受用户青睐,被Forrester评为2018年全球容器管理平台领导厂商,被Gartner评为2018年全球最酷的云基础设施供应商。

目前Rancher在全球拥有超过一亿的下载量,并拥有包括中国人寿、华为、中国平安、兴业银行、民生银行、平安证券、海航科技、厦门航空、上汽集团、海尔、米其林、丰田、本田、中船重工、中联重科、迪斯尼、IBM、Cisco、Nvidia、辉瑞制药、西门子、CCTV、中国联通等全球著名企业在内的共25000家企业客户。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-07-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 CNCF 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
同程旅行大数据集群在 Kubernetes 上的服务化实践
同程旅行大数据集群从 2017 年开始容器化改造,经历了自研调度 docker 容器 ,到现在的云舱平台, 采用 Kubernetes 调度编排工具管理大数据集群服务。
深度学习与Python
2021/05/07
8080
同程旅行大数据集群在 Kubernetes 上的服务化实践
中通缓存服务平台基于 Kubernetes Operator 的服务化实践
ZCache 是中通下一代缓存服务平台,实现多种缓存类型自动部署,提供 Proxy 访问层,通过 Proxy 层提供指令限制、访问权限、限流、分片处理等功能,通过自研 K8s Operator 实现自动部署与故障转移,实现集群的高可用,提供完善统计、监控、运维功能、减少运维成本和误操作,提高机器的利用率,提供灵活的伸缩性,方便用户接入缓存服务。
张乘辉
2021/03/16
9620
谈谈对云原生应用的理解
  微服务后时代是什么?炒得最火的就是Cloud Native。顾名思义,云原生就是面向云设计的应用,自从2013年Matt Stine提出概念后,更多是一套技术体系和方法论,官方定义一直在演变,但核心还是通过基础云平台、云中间件、微服务、容器编排调度、Devops的优化整合,来帮助企业提高研发效率,做到业务更快交付。
王昂
2019/08/04
3.9K0
一文带你理解14个K8s必备基础概念
在微服务、云计算和无服务架构时代,理解Kubernetes并且知道如何使用它是十分有用的。然而,官方的Kubernetes文档对于刚开始接触云计算的用户来说有些难以理解。在本文中,我们将了解在Kubernetes中的重要概念。在之后的系列文章中,我们还将了解如何写配置文件、使用Helm作为软件包管理器、创建一个云基础架构、使用Kubernetes轻松编排服务并且创建一个CI/CD流水线来自动化整个工作流。有了这些信息,你可以启动任意种类的项目,并且创建一个强大的基础架构。
CNCF
2021/05/27
9140
一文带你理解14个K8s必备基础概念
腾讯云 Serverless 支撑「新东方」核心业务算力资源
谈起 Serverless 计算,在技术圈热度很高 —— 所有人都在说 Serverless,大家都声称在做 Serverless,但每个 Serverless 又不一样。我们不禁想问,Serverless 是不是只是一个炒热度的空洞热门词 ? 其实不然,Serverless 作为一种更易用、低成本、免运维的通用计算服务,已经在互联网核心业务中承担重要的算力角色,适用于各种计算应用场景。也正是因为其作为通用计算支撑,场景众多,业内使用 Serverless 计算的场景覆盖广泛,随处可见。 纵观国内 Se
腾讯云serverless团队
2020/08/05
1.7K0
vivo大规模 Kubernetes 集群自动化运维实践
随着vivo业务迁移到K8s的增长,我们需要将K8s部署到多个数据中心。如何高效、可靠的在数据中心管理多个大规模的K8s集群是我们面临的关键挑战。kubernetes的节点需要对OS、Docker、etcd、K8s、CNI和网络插件的安装和配置,维护这些依赖关系繁琐又容易出错。
2020labs小助手
2022/06/13
1K0
云原生时代,中间件应该如何“进化”?
作者 | 褚杏娟 云原生热度持续攀升,这一趋势也延伸了到中间件领域。借助云原生技术,中间件正在解决了自身的弹性、韧性、运维、交付等问题。同时,开发者使用中间件方式也越来越云原生化。 那么,在云原生时代,中间件应该如何完成自己的技术“进化”呢?5 月 30 日,网易数帆云原生首席架构师冯常健做客《极客有约》,与我们一起探讨了这一话题。以下内容根据直播内容整理,并做了不改变原意的删减,完整内容可查看回放视频。 https://www.infoq.cn/video/Zq2P94aVHmGbKiGs9qfh 中
深度学习与Python
2023/03/29
5810
云原生时代,中间件应该如何“进化”?
原 荐 Kubernetes(三) - 使
目前创建K8S集群的安装程序最受欢迎的有Kops,Kubespray,kubeadm,rancher,以及个人提供的脚本集等。 Kops和Kubespary在国外用的比较多,没有处理中国的网络问题,没法使用。 kubeadm是Kubernetes官方提供的k8s部署工具,不过不支持HA,且支持的docker版本、K8S版本也有限,因此无法作为生产级安装程序。 Rancher2016年的新起之秀,可以做到极简快速部署管理Docker,并支持多种编排方式:Cattle、Kubernetes、Mesos、Swa
喵了个咪233
2018/06/06
1.6K0
生产用例 | 百台边缘设备上的Kubernetes实践
随着国家政策的导向,互联网基础设施的普及,工业、能源行业的智能化改造已经进行的如火如荼,传统行业的特点是信息化、智能化水平严重落后于其他行业,在进行信息化、智能化改造的过程中,首先第一步,就是要获取底层系统的全方位的数据。
k3s中文社区
2019/11/11
1.5K0
Kubernetes微服务监控体系
监控系统是运维体系乃至整个软件产品生命周期中最重要的一环,完善的监控可以帮助我们事前及时发现故障,事后快速追查定位问题。而在以微服务为代表的云原生架构体系中,系统分为多个层次,服务之间调用链路复杂,系统中需要监控的目标非常多,如果没有一个完善的监控系统就难以保证整体服务的持续稳定。
用户5927304
2020/12/11
1.9K0
Kubernetes微服务监控体系
该上船了!- K8S 容器云平台的9大优势!
K8S 容器云平台(如: K8S, OpenShift, Rancher, 博云, 才云, DaoCloud...) 是基于K8S的容器即服务(CAAS)和平台即服务(PAAS)的平台. 提供完整的企业级PAAS平台能力:
东风微鸣
2022/04/21
2.2K0
该上船了!- K8S 容器云平台的9大优势!
微众银行案例|容器化实践在金融行业落地面临的问题和挑战
作者陈广镇、李焕,微众银行容器平台负责人,拥有大规模 Kubernetes 集群开发运维经验。目前负责微众银行容器项目规划、容器平台架构和开发。 本文整理自微众银行容器负责人陈广镇和李焕 在 Techo 开发者大会云原生专题的分享内容——微众容器化实践。本文主要和大家介绍微众的容器化实践,具体分为三个部分:里程碑、实践之路,以及未来的规划。 微众应用容器化项目始于2018年底,我们的生产环境在私有机房上,由于基础设施的差异,容器管理系统主要走自研路线,基于开源产品定制。 2019年1月,微众上线了第一
腾讯云原生
2021/01/05
1.4K0
TAD-云原生时代的应用定义
在 Kubernetes 成为容器编排事实标准的云原生时代,无数开源或者闭源项目,如众星捧月般围绕着它,建立各种生态,涵盖着集群管理,资源管理、平台管理、可观测性领域的运维管理等诸多领域,其中很多优秀项目都如雨后春笋似地出现。然而,作为这个编排系统的终端使用者的应用领域,却似乎是受到了冷落。本文将以应用的第一视角,对腾讯自研的云原生应用定义Tencent Application Definition(简称TAD)进行介绍,简要说明腾讯研发团队基于 K8s 之上的应用层面做的一些探索。
腾讯专有云
2022/06/24
3.1K0
TAD-云原生时代的应用定义
基于 Docker 的微服务架构实践
基于 Docker 的容器技术是在2015年的时候开始接触的,两年多的时间,作为一名 Docker 的 DevOps,也见证了 Docker 的技术体系的快速发展。本文主要是结合在公司搭建的微服务架构的实践过程,做一个简单的总结。希望给在创业初期探索如何布局服务架构体系的 DevOps,或者想初步了解企业级架构的同学们一些参考。
烂猪皮
2018/08/03
2.6K0
基于 Docker 的微服务架构实践
日志资源成本减少35%:新东方可观测体系改造如何降本增效?
新东方的可观测标准化改造开始于2021年下半年。一直以来,新东方致力于提供综合性教育服务,这包括了双减政策实施前的K12教育阶段,以及之后的素质教育、智慧教育、成人教育和国际教育等多方面的教育体系。
TakinTalks稳定性社区
2024/01/29
4230
日志资源成本减少35%:新东方可观测体系改造如何降本增效?
拒绝 Helm? 如何在 Kubernetes 上手撸 KRaft 模式 Kafka 集群?
今天分享的主题是:不使用 Helm、Operator,如何在 Kubernetes 集群上手工部署一个开启 SASL 认证的 KRaft 模式的 Kafka 集群?
运维有术
2024/12/09
4281
拒绝 Helm? 如何在 Kubernetes 上手撸 KRaft 模式 Kafka 集群?
1-Kubernetes入门体系架构学习
描述:近些年由于Cloud云计算(公有云)以及大数据的发展促进了企业从传统转型到数字信息化再到上云, 其中运维部署应用技术也从物理机转向虚拟化再转向了容器化,而又随着分布架构应用的火热,以及对业务快速迭代的的需要,便推动了如今的Kubernetes分布式架构运维平台,它实现了对容器资源的编排与控制, 这也是本次学习的重中之重;
全栈工程师修炼指南
2022/09/29
9670
1-Kubernetes入门体系架构学习
Kubernetes 从0到1
Kubernetes,又称为 k8s(首字母为 k、首字母与尾字母之间有 8 个字符、尾字母为 s,所以简称 k8s)或者简称为 “kube” ,是一种可自动实施 Linux 容器操作的开源平台。它可以帮助用户省去应用容器化过程的许多手动部署和扩展操作。也就是说,您可以将运行 Linux 容器的多组主机聚集在一起,由 Kubernetes 帮助您轻松高效地管理这些集群。而且,这些集群可跨公共云、私有云或混合云部署主机。因此,对于要求快速扩展的云原生应用而言(例如借助 Apache Kafka 进行的实时数据流处理),Kubernetes 是理想的托管平台。
heidsoft
2019/11/11
8370
Kubernetes 从0到1
vivo AI 计算平台云原生自动化实践
2018 年底,vivo AI 研究院为了解决统一高性能训练环境、大规模分布式训练、计算资源的高效利用调度等痛点,着手建设 AI 计算平台。经过两年的持续迭代,平台建设和落地取得了很大进展,成为 vivo AI 领域的核心基础平台。平台从当初服务深度学习训练为主,到现在演进成包含 VTraining、VServing、VContainer 三大模块,对外提供模型训练、模型推理和容器化能力。VContainer 是计算平台的底座,基于 Kubernetes 构建的容器平台,具备资源调度、弹性伸缩、零一混部等核心能力。
深度学习与Python
2021/06/08
1.3K0
vivo AI 计算平台云原生自动化实践
新东方式“自救”:腾讯新基建爆发
2003年春天,北京“非典”患者剧增,经过七天七夜的抢建,小汤山“非典”医院投入使用。受非典疫情影响,新东方承诺,学生可以无条件退费。春寒料峭,但退费的人,还是从新东方北京总部4楼办公室,一直排到了一楼。再回忆起彼时情景,新东方创始人俞敏洪仍觉得后怕,当时“吓破了胆”,找朋友借了1000多万元之后,才终于度过危机。 17年后的春天,另一场疫情肆虐神州大地,依旧是支持无条件退费,这次排队盛况不复存在,但新东方却走到了另一个生死关头:大量线下课停摆,几万名老师、员工散落各地,还有数以百万计的在读学生的学
鹅老师
2020/06/10
7500
推荐阅读
相关推荐
同程旅行大数据集群在 Kubernetes 上的服务化实践
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档