逐灵&木苏-阿里巴巴 K8S 超大规模实践经验
阿里云云原生应用平台 阿里巴巴 k8s 超大规模实践 关注“阿里巴巴云原生”公众号 回复 1124 获取 PPT自我介绍 •曾凡松(逐灵),当前主要负责 k8s 在阿里巴巴场景中的规模化落地,将 k8s 应用于阿里最核心的业务,帮助客 户以云原生的方式管理应用并获得效率、 稳定性及成本的改善。 •汪萌海(木苏),经历了阿里巴巴集团 集群调度从自研 sigma 系统迁移到 k8s 体系的过程,目前主要负责解决阿 体系的过程,目前主要负责解决阿 里巴巴集团在大规模场景下使用 k8s 碰到的稳定性、容器编排质量和性能问 题。❖ 阿里巴巴容器的发展历程 ❖ 基于 k8s 云原生改造实践 ❖ k8s 规模及性能优化实践 ❖ 云原生应用管理演进路线 主要内容阿里巴巴容器的发展历程 2013 初步探索 使用容器的方式替换传统使用 VM 部署应用的,基于 lxc 自研 了 t4 容器并构建了 AI 集团管理 系统 统,并构建了集团统一资源池, 在此基础上发展出弹性、混部等 技术成果,大幅降低了数据中心 的资源成本 2019 全面拥抱云原生 阿里业务全面上云,运维体系全 面拥抱云原生,基于 k8s 生态在 阿里内部蓬勃发展。在 2019 双 11 中,k8s 体系支撑了阿里史上 规模最大的集群,并提供了极速 的应用扩容体验 2015 野蛮生长 体验到使用容器部署应用的优势 后,阿里内部发展出众多的运维 平台,包括0 码力 | 33 页 | 8.67 MB | 5 月前3腾讯云 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变化 无感知 • 本质是一个负载均衡器 控制面和数据面算法复杂度都是O(1) • 经历了二十多年的运行,比较稳定成熟 • 支持多种调度算法 优势 IPVS mode 不足之处 • 没有绕过conntrack,由此带来了性能开销 • 在k8s的实际使用中还有一些Bug 02 优化的方法 指导思路 • 用尽量少的cpu指令处理每一个报文 • 不能独占cpu • 兼顾产品的稳定性,功能足够丰富 弯路 • 为什么DPDK不行?0 码力 | 27 页 | 1.19 MB | 9 月前3蚂蚁金服Service Mesh渐进式迁移方案
步步为营,扩大战果 • 杜绝一刀切k8s和Service Mesh落地方案演进路线 部署在 非k8s上 不是Service Mesh形态 部署在K8s上 非SM 部署在 非k8s上 Service Mesh (Sidecar模式) 部署在K8s上 Service Mesh (Istio模式) 部署在K8s上 Service Mesh (Sidecar模式) 部署在 非k8s上 Service 不现实 Istio的非k8s支 持投入产出比 太差 背景1:原生Istio无法支撑我们的规模 背景2:k8s(Sigma3.1)将加快普及 K8s普及在即, 不适合再大面积 铺开,快速会师ü 和路线1的核心差别 • 是先上k8s,还是先上Service Mesh • 而且是终极形态的Service Mesh(意味着更偏离目标) ü 好处是第一步(非k8s上向Sidecar模式演进)非常自然 缺点是再往后走 • 由于没有k8s的底层支持,就不得不做大量工作 • 尤其istio的非k8s支持,工作量很大 • 而这些投入,在最终迁移到k8s时,又被废弃 ü 结论: • 不符合蚂蚁的远期规划(k8s是我们的既定目标) • 会造成投资浪费(k8s铺开在即) 演进路线2分析 部署在 非k8s上 Service Mesh (Sidecar模式) 部署在 非k8s上 Service Mesh0 码力 | 40 页 | 11.13 MB | 5 月前3VMware SIG Deep Dive into Kubernetes Scheduling
availability through tuning of vSphere, and Kubernetes configuration and labeling. This is applicable to any K8s distribution running on the vSphere stack. Agenda 4 Kubernetes default scheduling How it works VM VM VM VM VM K8S Prod VM K8S Prod VM K8S Prod VM K8S Prod VM K8S Test VM K8S Test VM K8S Test VM K8S Prod VM K8S Prod VM K8S Prod VM K8S Prod VM K8S Prod VM K8S Prod (Master) VM VM VM VM VM VM VM K8S Prod VM K8S Prod V K8S Prod VM K8S Prod VM K8S Test VM K8S Test VM K8S Test VM K8S Prod VM K8S Prod VM K8S Prod VM K8S Prod VM K8S Prod (Master) (Master)0 码力 | 28 页 | 1.85 MB | 1 年前3Service Mesh 发展趋势(续) 蚂蚁金服 | 骑士到中盘路向何方?
Infrastructure Backend Proxy 优点: • 架构优雅,职责分明,边界清晰 • Mixer的变动不影响Proxy • Proxy无需和Adapter耦合 • 读取配置 -> 连接k8s/Galley • Adapter的运行时资源开销 • 不受Adapter增减/更新/升级影响 • 保持Proxy代码简单 • 保持Proxy代码简单 • 数据平面可替换原则 Kubernete v1的优点不应该成为Mixer v2的缺点 优点: • 架构优雅,职责分明,边界清晰 • Mixer的变动不影响Proxy • Proxy无需和Adapter耦合 • 读取配置 -> 连接k8s/Galley • Adapter的运行时资源开销 • 不受Adapter增减/更新/升级影响 • 保持Proxy代码简单 • 保持Proxy代码简单 • 数据平面可替换原则 • 集中式服务: 机? 有了高大上的容器/k8s/云原生, 还要不要支持土里土气的 虚拟机?Part 3:ServiceMesh灵魂拷问三:要不要支持虚拟机? Google Traffic Director 支持虚拟机,而且可以 虚拟机和容器相互访问 Linkerd 1.* 天然支持 Envoy 天然支持 Istio 开始准备支持,后 来实质性取消,基 本只有k8s好用 Linkerd 2.00 码力 | 43 页 | 2.90 MB | 5 月前3开课吧基于混合云的Kubernetes平台落地实践-程亮
程亮 多云多K8S多环境 程亮 • 开课吧 首席架构 技术委员会主席 • 负责公司微服务建设,多环境治理搭建,公司中长期技术规划 • 目录 2018 2019 2020 2021 K8S多环境 • 基于jenkins的传统发布 K8S多环境发布一期方案 • 一期通过K8S发布,一键master • 新增服务模版,自动生成deployment K8S多环境二期优化实战 • 一套代码,支持多种环境 一套代码,支持多种环境 • 物理隔离的多环境 • 共享资源的多环境 收益总结 • 降低服务器使用成本40% • 运维100%自动化 • 多云部署,高可用 P-1 为什么要做多云多K8S多环境 ‣ 标准的dev test pre prod环境 ‣ 存在的问题 • 标准的四套环境 DEV TEST PRE PROD • 标准的CICD流程 Developer LOCAL DEV Jenkins GitLab Maven Repository(nexus) Registry 云厂商K8S pull install deploy push get status rolling update • 多云多K8S多环境平台建设的初衷 多环境平台建设的初衷 01 02 03 多云多K8S多环境平台 K8S集群(多个) 管理后台 发布平台 提升资源使用率 1 多云冗余高可用 2 环境并行互不影响0 码力 | 22 页 | 7.42 MB | 9 月前3基于 Kubernetes 构建标准可扩展的云原生应用管理平台-孙健波、周正喜
为了更好的用户体验: 用户 期望: K8s 提供: 研发与运维人员日益增长的应用管理诉求 传统 PaaS 有限的、不可扩展的专有API 与能力 K8s 生态“无限”的应用基础设施能力 不停构建“PaaS”平台不是“银弹” 与其 基于 K8s 构建平台 不如 把 K8s 变成面向开发者的平台 构建一个具备“以应用为中心的 API 抽象”、“用户友好” 且“高度可扩展”的 K8s! 以应用为中心的 API WebService - image - replicas - port 抽象 Deployment - image - replicas Service - port 原始 k8s API 资源 Workload - image - replicas Rollout - canary ArgoRollout - image - replicas - rollout Deployment 缺乏交互、复用、可移植能 力。不同重复造轮子只是适 配不同 API 如何基于 K8s ,构建出一个既用户友好,又高可扩展,还 统一、标准化的应用管理平台? 简单的“客户端”抽象: DCL (Data Configuration Language) 对 K8s 资源进行抽象实际上就是在操纵 YAML 数据,通过 DCL 来完成相比于 CRD + controller0 码力 | 27 页 | 3.60 MB | 9 月前309-harbor助你玩转云原生-邹佳
排运行 • 所需镜像从Dockerhub 来拉取 2 Helm Chart • 通过Helm来安装 • 目标为K8s集群 • 仅聚焦Harbor组件安装 • goharbor/harbor-helm 3 K8s Operator • 通过K8s CRD实现编排 • 目标为K8s集群 • 专注于HA模式支持 • goharbor/harbor- operator (开发中) 4 资源隔离与多租户管理 构建高可用(HA)仓库服务 [2] 使用Helm Chart和外部高可用服务(数据库,缓存和存储)部署HA的仓库服务 构建高可用(HA)仓库服务 [3] Harbor Operator提供基于K8s集群的all-in-one HA解决方案(也支持使用外部共享服务) Kubernetes Cluster User Defined Namespace Operator Namespace(s) Controller Redis Controller Minio Controller External Services K8s Resources K8s Resources K8s Resources K8s Resources K8s Resources Database Service Cache Service Storage Service 构建高可用(HA)仓库服务0 码力 | 32 页 | 17.15 MB | 6 月前322-云原生的缘起、云原生底座、PaaS 以及 Service Mesh 等之道-高磊
以度量为基础,以NodeSelector算法来 决定在哪儿部署容器服务 • 运行时以期望与实际的差别进行动态调 整到期望的状态 标准化能力-分布式操作系统核心-容器服务-基本技术原理 事实标准的K8S容器服务设计 成应用与物理资源(IaaS,虚 拟机、物理,多云)的中间抽 象层,因为应用很复杂,很容 易陷入差异化定制市场,抽象 层的市场范围会更广,作为开 源平台,更容易成为通用性市 场选择。通用性才能做到普适 Kubectl Custom Controller Custom Resource(CR) Operator机制 Pod,Deployment, etc Spec (K8s Yaml) Custom Resource Spec (K8S yaml) 通过拓展实现自定义控制器来实现对非标准资源的纳 管,比如数据库的自动拓展能力或者自动化数据同步 能力等等。 标准化能力-分布式操作系统核心-容器服务-新发展 由于历史遗留或者软件形态所限制,不可能所有的软件都可以被微服务化或被容器化,那么现在阶段来看,整个 数字化转型的一些困难就是处于在技术上的碎片化,为云原生彻底发挥对极端变化的适应性价值还有很多障碍。 在统一的K8s管理面下, 通过一种代理容器(内置 了管理虚拟机的逻辑) 来启动虚拟化Pod, 此时可以同时在统一的 容器云平台下运行微服 务化容器化或者未容器 化的传统软件了; 另一个方向是,将底层计 算、存储和网络进行超融0 码力 | 42 页 | 11.17 MB | 6 月前3Operator Pattern 用 Go 扩展 Kubernetes 的最佳实践
Go 扩展 K8s 的最佳实践 吴学强 ApeCloud KubeBlocks Maintainer & 研发总监 目 录 认识我们 00 什么是 Operator 01 Operator 基础模型 02 Operator 最佳实践 03 我们是谁 云猿生(ApeCloud)是一家提供数据库内核与管理平台的基 础软件开发商. KubeBlocks 基于 K8s 的多云、混合云DBPaaS管理平台 Operator 前世今生 TPR Operator CRD Operator Pattern 2015.11 2016.12 2017.12 Now K8s 1.1 版本中正式推出 TPR (ThirdPartyResource),首次尝 试解决 K8s API 的扩展性问题, 但存在诸多问题,Alpha 阶段既 夭折 CoreOS 提出 Operator 概念,用 于管理和运行基于应用程序领 sample: etcd operator K8s 1.9 版本发布,CRD进入 beta 阶段并正式取代 TPR; controller-runtime 加入 K8s 社 区并正式发布; 自此,CRD + controller-runtime 逐渐成为开发 operator 的首选 Operator Pattern 是官方定义的标准扩 展机制,是 K8s Native Application;0 码力 | 21 页 | 3.06 MB | 9 月前3
共 55 条
- 1
- 2
- 3
- 4
- 5
- 6