陈冰心,腾讯云产品经理,负责超级节点迭代与客户拓展,专一于 TKE Serverless 产品演进。
背景
让人又爱又恨的 Serverless
Serverless 煊赫一时,被称为云原生将来倒退的方向。信通院报告显示:在外围业务中应用 Serverless 的用户占到18.11%,曾经开始和打算应用 Serverless 技术的用户超过了70%。Serverless 广受追捧,得益于它在“疾速的开发交付”、“极高的运维效率”、“极低的资源老本”这三个方面上的劣势。
Serverless 能够让业务更快上云,让用户用最小的运维投入享受云带来的便利性。底层资源布局及运维交给更业余的云平台解决,使用户能够更专一业务和产品自身,从而更好地晋升产品和业务的外围竞争力。
Serverless 的劣势如此显著,但在理论落地应用中,无论是云厂商还是用户,均处在摸着石头过河的阶段,仍在一直学习一直试错,次要起因是 Serverless 在带来便利性的同时,也突破了传统 Serverful 模式下的种种用户应用习惯,对企业各个组织均造成了冲击;其先进的产品状态在老的架构上又引入了较高的适配复杂度。具体表现在:
Serverless 对企业的运维团队造成冲击
- 对接复杂度高,架构革新和适配有老本
- 扭转了惯例的节点运维习惯,运维须要从新适应新的运维形式
- 业务对资源的弹性应用让平台运维对资源不再可控
Serverless 对企业的财务团队造成冲击
- 按量计费模式代替了传统包年包月,财务布局异样艰难
- 资源老本不再可控
- 无奈以固有的形式对业务团队进行分账
Serverless 和 Serverful 的完满均衡
咱们依然认可 Serverless 模式下不可代替的劣势并且深信这些劣势最终可能帮忙企业晋升效率,在 Serverless 渐进式演变的过程中,咱们思考的是,在当下如何找到 Serverless 和 Serverful 的两头态,让用户在资源可控度和运维简化间找到一个均衡,用更小的代价取得 Serverless 的收益,由此咱们提出了 HouseKeeper 的理念,结构了全新的节点产品状态,以求均衡 Serverless 与 Serverful,凑近传统 Serverful 的状态下,咱们孵化出云原生增强型的 Serverful节点 - 原生节点 ,那么在凑近 Serverless 的一边,又能做些什么呢,咱们给出的完满答案是有节点的 Serverless 服务 - 超级节点。
超级节点是基于 Serverless (此处亦可称 Nodeless)容器技术,模仿 Serverful 有节点治理体验的新的集群节点状态。有 pod 强隔离高稳固、Node 免运维、准确配置资源、兼顾资源可控性与应用便捷性等特点。实用于心愿升高运维累赘、进步资源装箱率且不想扭转运维模式的企业渐进式 Serverless 化。咱们冀望通过迁徙式的应用体验,让用户在不扭转本身架构、不影响财务核算的前提下,切实体验到 Serverless 的便当。
如下总结了超级节点的特点:
超级节点向用户提供可用区级别的、反对自定义规格的节点能力,应用超级节点相似于应用一台超大规格的 CVM,每一个调度至超级节点的 pod 都是一台独立的子机,pod 间因而齐全隔离,使业务具备极高的稳定性和安全性。在节点维度反对了按量计费和包年包月两种计费模式,包年包月的资源能够在保障资源供应的根底上以较低的价格交付用户,如果须要进行固定资源的扩缩容,仅须要对这台“超大规格的 CVM”进行升降配,资源管理变得更为简略。
在产品能力上,超级节点针对兼容 TKE 规范集群状态做了大量工作,保障用户的业务能够平滑在一般节点和超级节点间无损切换。在底层架构上,超级节点基于腾讯云自研的 Serverless 容器技术,通过平安沙箱、轻量的高性能运行、加强调度器以及高性能网络等保障业务平安稳固地运行。
超级节点承载了内外部共计千万核业务稳固、平安运行,腾讯QQ、会议、文档等业务,私有云小红书、超参数、搜狐、百果园等客户,沿用原运维体系,将大量稳态外围模块部署在超级节点上,包年包月的超级节点模式稳固上线数月,替换了 90% 预留券的应用,新增了数十万核在线常驻业务切换至超级节点。
超级节点,有节点的 Serverless 服务
传统的节点运维管理模式
传统的节点运维管理模式的特点在于:有节点概念,计费维度在单个节点上。其劣势在于对无论是对运维来讲还是财务人员来讲,治理齐全可控。但毛病也非常明显:
海量的节点保护工作:
- 泛滥测试集群、生产集群大量节点的日常保护
- 节点 OS、内核、容器运行时的保护
- 节点 K8s 组件的保护和降级
- 为晋升集群资源利用率进行简单的节点扩缩容工作
难以避免的容器隔离性问题:
- pod 共享宿主节点内核
- pod 共享宿主节点硬盘
- pod 共享宿主节点网卡
- 容器逃逸危险
业余、简单的资源布局和调度工作:
- 大量的业务混部、Qos、亲和性等布局和配置工作能力带较好的资源利用率
- 集群资源布局须深刻理解业务容器资源需要,资源有余则容器无奈调度,对波峰业务需预留 buffer 资源,波谷时,会造成预留的资源节约
常见的Serverless管理模式
Serverless 模式的特点在于:无节点,以 pod 为资源交付对象和计费对象。其劣势在于,齐全弹性应用,没有资源节约,利用部署灵便,无需进行节点运维。这种模式的问题在于:
资源管理老本高:
pod 数比 Node 数高一个量级,资源粒度越细,带来的准确布局老本越高。特地是当企业须要长时间应用 Serverless 资源的时候,以后支流的云厂商给出的解决方案为预留券模式,该模式须要为不同规格的 pod 对应购买相应数量的预留券以抵扣其耗费,须要用户准确地统计每一种规格 pod 的运行数量,pod 规格及运行数量为业务侧动态变化的数据,购买资源却是平台侧的行为,这两头的 Gap 导致平台侧对于资源的购买和保护老本变得极其昂扬,这种不优雅的包月实现形式不仅让不应该关怀准确资源使用量的人员陷入了窘境,也限度了真正的资源使用者,与 Serverless 提倡的轻运维按需应用的初衷南辕北辙。
财务管理老本高:
在 Serverless 模式下,计费单元在 pod 上,资源(pod)的生命周期由业务管制,业务的变更将间接带来老本的变动。老本不可控会为企业的财务管理带来极大挑战。除了老本不可控外,老本的核算和业务间的摊派也将变得辣手,传统的节点管理模式下,以节点维度来统计每个业务的使用量,将节点资源的老本耗费与业务挂钩,财务管理清晰简略,而在 Serverless 场景中,预留券的模式下, pod 生命周期各不相同,预留券每小时的抵扣对象也均不雷同,从而导致了分账艰难,按量计费模式下的资源耗费也须要额定统计。在 Serverless 模式下,资源和老本在传统运维模式下均不易治理,企业的各个组织均须要做出较大扭转能力适应 Serverless 在企业内落地。
超级节点模式
超级节点模式的特点在于:有节点概念,但无节点运维工作,以 Node 为计费对象,兼容基于节点的运维、财务体系。从而达到了 Serverless 模式的运维简略、资源不节约和业务部署灵便的特点,也兼顾了 Serverful 模式的老本可控、资源可控。
更简略可控的资源管理模式:
用户能够像治理一台超大号云主机一样治理 K8s 超级节点。能够通过包年包月的模式申明须要应用的固定资源总规格,后盾将预留对应的资源,辞别了 Serverless 模式下资源不可见,按量应用资源无奈保障的担心,让用户用得释怀。针对固定资源的扩缩容变成了单节点维度的升降配;针对弹性资源的扩缩容,仅需退出按量计费的超级节点,即可依照节点上调度 pod 的理论规格进行计费,再无 buffer 资源节约。
更轻量的运维:
无需再关注资源利用率,无需思考调度,超级节点模式下保障资源百分百装箱。在包年包月超级节点、按量计费超级节点与一般节点共用的场景下,调度器会智能优先调度到最合适的资源上,帮忙最大化实现资源的无效利用。
更简略的财务管理模式:
Serverless 模式下独创节点维度的包月计费模式,解决了精细化应用资源场景下的资源布局问题、预留券购买问题、财务管理问题。企业只须要计算固定和弹性资源的总使用量,购买适合的包年包月固定资源并配合弹性资源进行应用。预付费的包年包月计费也更适宜企业财务部门的资源估算模式。
更高稳定性的服务:
超级节点底层基于自研 Serverless 容器技术 Heeler,经由内外部千万级规模验证,能够保障业务稳固运行。
超级节点产品个性
高稳定性、高安全性
为业务稳定性保驾护航:
超级节点上的一个 Pod 底层对应一个子机,底层为虚拟机级别的隔离,通过自研的平安沙箱技术和虚拟化技术,保障 Pod 间无烦扰,业务间强隔离。不会呈现节点上Pod间资源抢占的问题,也不会呈现单 Pod 故障导致整个节点故障的状况。
为容器利用平安提供全方位保障:
- 保障通用平安需要:集群隔离、网络隔离,底层依赖与环境平安独特保障利用平安
- 保障应用环境平安:通过网络安全策略管制、镜像拉取安全控制保障应用环境平安,提供全方位的操作审计
- 托管平台隔离:做到集群间隔离,角色和访问控制保障平台独立隔离
- 基础设施隔离:容器间实现虚拟化隔离,pod 间人造做到子机级别的隔离,高可用场景下反对 pod 实现物理机、机架级别的隔离
运维更简略:
齐全托管的模式,学习成本低,不依赖专职的 K8s 运维即可轻松部署业务。在日常的运维中,免去了海量的节点保护工作,不须要解决容器隔离性的问题,也极大简化了业余、简单的资源布局和调度工作。
计费模式更灵便:
咱们独创了超级节点的包年包月模式,解决了企业运维和财务头疼的问题。包年包月模式下,由用户自定义节点规格,用户可包年包月购买自定义总规格的节点算力来实现预付费,符合固定算力的在线常驻业务,包年包月的超级节点相较于一般节点单核价格更低,用户可将合乎规定的 pod 全副迁徙至超级节点,来升高固定资源的单核老本,从而达到降本增效的目标。按量计费模式下,可弹性应用节点资源,应用后按节点内理论应用的 CPU 内存按量计费。按量计费模式实用于弹性算力场景,可通过增加按量计费的超级节点,在业务顶峰时应用弹性资源,进一步升高集群的资源老本。
齐全兼容 K8s:
超级节点提供规范的 Kubernetes 服务和应用形式,满足绝大部分容器场景下的交付规范,提供了规范的 K8s 编排、运维、扩缩容等的应用形式,保留了 K8s 的扩展性,在根底能力、可观测性、云原生解决方案上均齐全兼容 K8s 生态。此外,适配 Nodeless 的 K8s 个性蕴含:
- 反对在超级节点上注入 Daemonset
- 反对 pod 固定 IP
- 反对 pod 绑定平安组
- 反对挂载 Ceph CBD 类型的块存储设备,保留反对各种 K8s 原生反对的 CSI volume 的能力
- 反对 pod 编排指定 hostNetwork: true
- 反对 pod 编排中的 container/initContainer.ports 指定 hostPort
- 反对 pod 编排中指定 hostPath
- 反对通过 pod metrics 端口(默认9100)获取更多的指标,包含:cpu/memory/gpu/network/diskio/filefd/vmstat 以及容器的 cadvisor 指标
- 反对特权级容器
超级节点应用场景
超级节点实用于全业务场景,尤其适宜高稳态业务的运行。反对在私有云或 IDC 的规范 Kubernetes 集群、Serverless 集群中应用,可通过简略的开启形式,将固定和弹性算力调度到超级节点上,其调度模式齐全兼容原集群的调度范式,可让原集群平滑进行 Serverless 化或混合云化降级。
在线常驻业务应用包月+按量超级节点
劣势:高稳固、低成本、易治理 相较于包年包月的一般节点,超级节点单核价格更便宜。对于在线常驻的服务,用户所需算力固定,若以后 pod 规格大部分在 8C 以下,可应用超级节点的包年包月模式,基于 pod 总规格按需购买包年包月的超级节点,将 pod 全副调度至超级节点,升高集群资源的单核价格,实现降本诉求。
弹性业务应用按量计费超级节点
劣势:高稳固、低成本、高弹性 弹性业务场景下,用户应用按量计费的超级节点,可实现疾速秒级扩容,轻松应答突发流量,通过缩小预留的资源 buffer 降低成本。高弹性:疾速秒级扩容,轻松应答突发流量,业务流量降落后主动销毁 pod,无损缩容。低成本:缩小集群预留 buffer,将集群的节点保护在资源利用率更高、应用和预留更正当的程度,节省成本。
如何创立超级节点
在 TKE 集群和 TKE Serverless 集群中均可创立超级节点。进入集群详情页 > 抉择左侧菜单栏中的节点治理 > 节点池 > 单击新建节点池,抉择超级节点池并填写对应参数即可:
总结
云计算的概念层出不穷,其本质上是对生产关系和生产力的配置与优化,最终达到为使用者增效的目标,在容器化的漫长过程中,企业的观点和行为都在一直变动,但承受和拥抱新技术对于每一个处于过程中的亲历者来说都肯定有一个阵痛期,如何帮忙用户用起码的代价换取最大的收益,如何可能均衡好劣势与矛盾,是每个云厂商应该思考的课题。从齐全的 Serverless 到有节点的 Serverless,我认为并不是产品技术的退化,只有可能解决使用者的痛点,为使用者带来切实的价值,咱们不应该拘泥于产品的状态,咱们走出的这一步,其实是提高的,咱们正在走向平凡的翻新。
优惠活动
流动倒计时,错过拍大腿!
超级节点大额满减券等你支付!
扫描下方图片二维码进入会场抢优惠!
【腾讯云原生】云说新品、云研新术、云游新活、云赏资讯,扫码关注同名公众号,及时获取更多干货!!