腾讯云 Kubernetes 高性能网络技术揭秘——使用 eBPF 增强 IPVS 优化 K8s 网络性能-范建明
TKE使用eBPF优化 k8s service Jianmingfan 腾讯云 目录 01 Service的现状及问题 优化的方法 02 和业界方法的比较 性能测试 03 04 解决的BUG 未来的工作 05 06 01 Service的现状及问题 什么是k8s Service • 应用通过固定的VIP访问一组pod,应用对Pod ip变化 无感知 • 本质是一个负载均衡器 仅支持随机的调度算法 • kube-proxy代码实现比较简单 • iptables 在linux 已经广泛部署 优势 iptables mode 不足之处 • 控制平面的时间复杂度是O(N^2), 当service达到上千时,修改rule耗时超过半小时。 • 数据平面的时间复杂度是O(N) • 调度算法比较少,仅仅支持random的 • iptables rule iptables+conntrack 做SNAT • 控制面和数据面算法复杂度都是O(1) • 经历了二十多年的运行,比较稳定成熟 • 支持多种调度算法 优势 IPVS mode 不足之处 • 没有绕过conntrack,由此带来了性能开销 • 在k8s的实际使用中还有一些Bug 02 优化的方法 指导思路 • 用尽量少的cpu指令处理每一个报文 • 不能独占cpu0 码力 | 27 页 | 1.19 MB | 9 月前3绕过conntrack,使用eBPF增强 IPVS优化K8s网络性能
0 码力 | 24 页 | 1.90 MB | 1 年前3高性能 Kubernetes 元数据存储 KubeBrain 的设计思路和落地效果-许辰
KubeBrain 字节跳动高性能 K8s 元信息存储 许辰 字节跳动资深研发工程师 许 辰 字节跳动基础架构工程师 本科和硕士毕业于北京大学计算机系 负责大规模 Kubernetes 系统的构建和优化 KubeBrain/ KubeGateway/ KubeZoo 等多个项目的发起人 • 背景介绍 • 设计思路 • 性能优化 • 落地效果 • 未来演进 背景 新场景对 Kubernetes 性能要求更高 离线场景,Pod 生命周期短、变更频率高 如何扩展 Kubernetes 集群 单个集群规模垂直扩展 多个集群横向扩展 降低运维管理成本 减少资源碎片 提高资源利用率 Kubernetes 的架构特点 中心化架构 所有组件通过 apisever 交互 随着规模增大存储系统成为瓶颈 etcd 存在性能问题 apiserver 参数 按照对象拆分 etcd 设计新的元信息存储 … 如何解决存储瓶颈? KubeBrain 1. 大脑 2. 谐音科比 Kobe Bryant • 背景介绍 • 设计思路 • 性能优化 • 落地效果 • 未来演进 K8s 元信息存储的需求 (1) 读 • 单 Key 读,提供线性一致性 • Range 扫描读,支持快照读,支持分页 写 • K8s 乐观锁0 码力 | 60 页 | 8.02 MB | 1 年前3运维上海2017-Kubernetes 在大规模场景下的service性能优化实战 - 杜军
0 码力 | 38 页 | 3.39 MB | 1 年前3DaoCloud Enterprise 5.0 产品介绍
存储 17 参考文档 18 版权 © 2023 DaoCloud 第 3 页 简介 DaoCloud Enterprise 5.0(DCE 5.0)是一款高性能、可扩展的云原生操作系统。 它能够在任何基础设施和任意环境中提供一致、稳定的体验,支持异构云、边 缘云和多云编排。 DCE 5.0 集成了最新的服务网格和微服务技术,能够跟踪每 一个流量的生发始终, 提供非侵入式流量治理功能,支持无感接入传统微服务、云原生微服务和开源微服务 框架,实现企业现有微服务体系及新旧微服务体系的融合治理,支持微服务从开发、 部署、接入、观测、运维的全生命周期管理,提供高性能云原生微服务网关,保证微 服务应用的连续可用性;引入自主开源的 eBPF 网格加速技术,全面提高流量转发效 率。 涉及的模块:全局管理、容器管理、微服务治理、服务网格、可观测性、应用工作 台、云原生网络、云原生存储 DaoCloud 第 8 页 云原生底座 提供云原生计算、网络、存储等能力,兼容各种集群接入,支持集群从部署、版本升 级、证书变更、配置变更、回收等全生命周期管理,突破 K8s API 性能瓶颈,实现企 业超大规模用户并发使用多集群。针对企业环境,提供场景化的网络方案,实现当前 企业网络基础设施复用的最大化,降低企业使用云原生应用门槛。 涉及的模块:全局管理、容器管理、云原生网络、云原生存储0 码力 | 18 页 | 1.32 MB | 1 年前34-2-如何用OpenStack和K8s快速搭建一个容器和虚拟机组合服务的云平台-王昕
Kuryr 一个Docker远程驱动 网络集成方案比较 可以排除的组合 网络集成方案比较 可行方案 IaaS层网络 PaaS层网络 适用场景 Calico Kuryr 不需要多租户隔离,大量使用容器技术,对性能 要求很高 Overlay Kuryr 需要多租户隔离,需要统一管理容器网络和虚拟 机网络,将容器用作轻量级虚拟机,对性能要求 较高 Overlay Calico 需要多租户隔离,对容器网络的管理独立于虚拟 需要多租户隔离,对容器网络的管理独立于虚拟 机网络 Overlay Overlay 需要多租户隔离,对容器网络的管理独立于虚拟 机网络,对性能要求不高;快速集成,用于测试 Kubernetes网络方案 曾经遇到的坑和解决方案 覆盖网络造成的MTU Size 问题 Ø 问题 Ø Neutron网络做隧道封装时,占用了包头, 导致上层网络的最大允许MTU比默认要小, 造成虚拟机网络时通时不通 Ø0 码力 | 38 页 | 3.55 MB | 1 年前3第29 期| 2023 年9 月- 技术雷达
自托管式大语言 模型,相较云托管的大语言模型,它支持更多的定制和管控。随着大语言模型日益复杂,我们正在深思如何在 小型设备上运行大语言模型,特别是在边缘设备和资源受限的环境中。我们还提到有望提高性能的 ReAct 提示 工程,以及利用大语言模型驱动的自主代理开发远超简单的问答交互的动态应用。我们也提到一些向量数据库 (包括 Pinecone)由于大语言模型而重新流行起来。大语言模型的底层能力,包括更专业化和自行托管的能力, 过创建拉取请求(PR)来更新依赖项。不过,团队仍然需要制定工程纪律,以确保及时处理这些 PR,尤其是 对长时间不活跃的应用程序或服务提交的 PR。 如果系统具有广泛的测试覆盖范围——不仅有完善的单元测试,还包括有功能和性能测试,并且构建流水线必 须运行所有这些测试以及安全扫描,我们更提倡自动合并依赖项更新 PR。 简而言之,团队必须完全相信,流水 线运行成功后,软件就可以投入生产。在这种情况下,依赖项更新 PR,即使它们在间接依赖项中包含主要版本 组件并不容易。已经出现了一些框架来简化这一过程,甚至一些框架中还使用了浏览器引 擎,但复杂性仍然存在。比开发人员体验更糟糕的是用户体验:当必须在浏览器中加载和构建自定义 Web 组件 时,页面加载性能会受到影响,即使在预渲染和精心调整组件的情况下,也几乎无法避免“无样式内容闪烁” 或某些布局变化。放弃使用 Web 组件的决定可能会产生深远的影响,正如我们的一个团队曾经不得不将其基于 Web0 码力 | 43 页 | 2.76 MB | 1 年前3Kubernetes for Edge Computing across Inter-Continental Haier Production Sites
Eureka Ribbon Hystrix Zuul Feign Apidoc Metrics Trace Zuul Feign Springcloud: • 相对封闭 • 技术栈比较重 • 需额外维护注册中心 • 一些场景在容器平台中已不复存在 海尔框架: • Quickstart工具支持,填写应用名称,快速生成代码框架 • 充分借助容器平台功能 海尔工业互联网 - 提供常用协议服务的接入、转换(Dubbo,XML) • 灵活定制化的数据变换 控制能力: • 认证鉴权机制 • 流量控制 • 黑白名单 • 服务路由 可靠高效: • 分布式,高可用 • 高性能,低延迟 • 线性扩容 海尔工业互联网 –微服务之监控日志 Node PrometheusServer(Pod) Retrieval Storage PromQL Local Storage0 码力 | 33 页 | 4.41 MB | 1 年前3运维上海2017-Kubernetes与AI相结合架构、落地解析-赵慧智
在企业环境中 Node 很有可能需要进行不同类别的区分,而每 一类 Node 上的环境都有可能会不同。 关键点回顾 • Kubernetes 是什么:容器编排工具 • Container 与 VM 比较的优势:更轻量化,更快,更易部署 • Container Image 的管理 • Container 运行与 Image 的标准:OCI • Kubernetes 的基本架构:Master 与 深度学习对于并行化硬件的依赖 - GPU • Core 的多少往往决定真正并行化运算的数量 GPU 硬件使用流程 AI 模型 • AI 模型会决定最终使用资源的多少 • AI 模型的服务性能还与网络相关 • 并不是所有 AI 模型都适合通过 GPU 加速 Kubernetes 介绍 Kubernetes 使用 Kubernetes 部署与企业对接 AI 技术介绍0 码力 | 77 页 | 14.48 MB | 1 年前3Operator Pattern 用 Go 扩展 Kubernetes 的最佳实践
Operator determines deviations from a standard performance profile Observerbility 日志、系统指标等采集、分析;监控配置与报警;性能 指标收集与分析等等。 Backup & Restore 备份策略、备份方式、恢复方式、备份管理等等。 Disaster Recovery & High Availability Fa 没有对应的 informer, controller-runtime 会马上为其增加 informer 并完成初始化 Cache 注意事项 Cache 中的对象都保存在内存中,如果对象很多,内存占用会比较大, 所以一方面要根据单个对象大小以及总得对象规模来评估 controller 内 存消耗。 另一方面 informer 提供了同类型对象的共享机制,降低内存开销 近距离感受 list & watch0 码力 | 21 页 | 3.06 MB | 9 月前3
共 34 条
- 1
- 2
- 3
- 4