高性能 Kubernetes 元数据存储 KubeBrain 的设计思路和落地效果-许辰Unary -> Stream 代替分页,降低延迟 内存高效复用,避免 OOM 读优化 - 2 多分片并发读 通过并发,大大减少读时延 读优化 - 3 读写分离 follower 可以无限扩展,没有 raft 同步问题 读写之间无相互影响 读优化 - 4 Count 优化 基于周期性 Compact 统计,存在内存 降低时延,减轻存储压力 Watch 优化 - 1 写性能提升带来直接收益 落地效果 压测环境 • 配合 apiserver 优化手段,规模达 5w 节点 200w Pod 生产环境 • 2 W 节点 100w Pod 超大集群,有效降低资源碎片率 落地效果 读写 QPS > 1w • 背景介绍 • 设计思路 • 性能优化 • 落地效果 • 未来演进 影响力构建 集成进入 Kubernetes 作为新型 Storage Backend 已经开源,以0 码力 | 60 页 | 8.02 MB | 1 年前3
k8s操作手册 2.3★最后重启操作系统 # reboot ★第1章、部署k8s版本<=1.23 k8s在1.23及之前版本默认是调用docker作为底层的容器运行时,从1.24版本开 始移除了dockerShim组件,不再支持docker,从而默认使用containerd作为底层 的容器运行时。 k8s 1.23及之前版本: kubelet→dockerShim→dockerd→containerd→runC 24及之后版本: kubelet→cri-containerd→containerd→runC 后来cri-containerd重构进containerd中(CRI Plugin),合为一个containerd进程 默认调用的cri-socket: unix:///var/run/containerd/containerd.sock 本小节讲解k8s v1.23及之前版本的安装;首先按照第0章的步骤完成准备工作。 ①安装并配置docker-ce # yum install docker-ce docker-ce-cli containerd.io -y #k8s v1.23支持的docker 最新版本为20.10.x # systemctl enable docker # systemctl start docker # docker info ★配置docker服务使用systemd去管理(以及信任本地镜像仓库)0 码力 | 126 页 | 4.33 MB | 1 年前3
腾讯基于 Kubernetes 的企业级容器云实践-罗韩梅负载均衡 • 重启机制 ① 区分异常原因 ② 本地重启/跨机重启 • 黑名单机制 • 集群核心数据的备份和恢复 ① Etcd ② 核心数据库 • 云盘机制保护应用数据 • 举例:1.4升级1.9版本 • Pod Hash发生变化 • Container名称发生变化,点分隔改为了下划线分隔 • 容器标签发生变化 pause容器的标签io.kubernetes.container.name=POD改为 Pod Pod 微服务/通用服 务 Autoscaler controller prometheus Metrics-server APP弹性伸缩: • 主动扩缩容 • 扩容可以指定新版本 • 缩容可以定点裁撤 自动扩缩容 • 资源阈值 • 自定义指标阈值 • 实例个数范围 • 周期性自动伸缩 Autoscaler controller Apiserver cluster-agent • 当该服务要升级新的版本时,如果对所有实例停止,则会造 成服务中断;如果采用滚动升级,无法保证升级过程是否有 异常,以及无法充分验证新版本的可用性(即使经过了测试 阶段的测试)。 • 通常采用灰度升级的方式:即选择某一个或N个实例先升级到 新版本,在充分稳定验证后,再考虑升级其他实例,而该灰 度的过程可以分为任意批次。有时为了验证多个版本,一个 应用内也可以同时又多个版本并行存在。充分保证现网的服0 码力 | 28 页 | 3.92 MB | 1 年前3
第1930期:Kubernetes基础介绍秘密 44 Kubernetes基础结构介绍 Kubernetes(来自希腊语,意为“舵手”或者“飞行员”又称为k8s),它是谷歌开源的容器集群管理系统,是谷歌多年大规模 容器管理技术Borg的开源版本。是目前最流行的容器编排技术。 它由谷歌在2014年首次对外宣布 。它的开发和设计都深受谷歌的Borg系统的影响,它的许多 顶级贡献者之前也是Borg系统的开发者。在谷歌内部,Kubernetes的原始代号曾经是Seven, 就是对该项目代 号的致意。 Kubernetes v1.0于2015年7月21日发布。随着v1.0版本发布,谷歌与Linux 基金会合作组建了 Cloud Native Computing Foundation (CNCF)并把Kubernetes作为种子技术来提供。目前最新的 版本是1.16版本。(https://github.com/kubernetes/kubernetes) Kubernetes 调度容器,以及容器自我修复机制。 水平扩展:通过简单明了实现水平扩展,基于CPU等资源负载率的自动水平扩展。 服务发现和负载均衡:实现内部负载均衡可以实现服务访问负载。 自动发布和回滚:可以自动实现版本的发布和回滚。 秘钥和配置管理:对于密码等信息,专门提供了Secert对象为其解耦。 存储编排:支持多种不同类型的存储,包括本地存储、云存储、网络存储等。 批量处理执行:除服务型应用,还支持批处理作0 码力 | 49 页 | 4.11 MB | 1 年前3
⾸云容器产品Kubernetes操作指南755 或 777 存储卷名称:配置该存储类的名称,当创建pvc时,需要引⽤该名称 容量:所要创建存储卷的⼤⼩,单位GB 访问模式:ReadWirteMany:可以多个节点同时读写,ReadWriteOnce:仅单个节点读写 标签:可以添加⾃定义的标签 查看存储卷详情 点击单个存储卷的详情,即可查看该存储卷的详细信息 可以在基本信息和yaml⽂件中切换不同的显示⽅式 20 删除存储卷 前提条件 3. 操作说明 22 c) 设置容器配置 i. 基本配置 镜像名称:填写所⽤镜像名称,本例中为hello-world。格式为domain/imagename。 镜像版本:填写所需镜像版本,如不指定,默认为latest。 最⼩申请:为该应⽤所需最⼩资源额度,包括 CPU 和内存两种资源。该资源由容器独占,以 防资源不⾜⽽被其他服务或进程争占资源,导致应⽤不可⽤。其中,CPU 数量)、标签和注解。然后单击 下⼀步进⼊容器配置⻚⾯ c) 设置容器配置 i. 基本配置 镜像名称:填写所⽤镜像名称,本例中为mysql。格式为domain/imagename。 镜像版本:填写所需镜像版本,本例中为5.7。如不指定,默认为latest。 最⼩申请:为该应⽤所需最⼩资源额度,包括 CPU 和内存两种资源。该资源由容器独占,以 防资源不⾜⽽被其他服务或进程争占资源,导致应⽤不可⽤。其中,CPU0 码力 | 94 页 | 9.98 MB | 1 年前3
Kubernetes开源书 - 周立:与VM映像相⽐,容器镜像的创建更加容易、有效率。 持续开发,集成和部署 :通过快速轻松的回滚(由于镜像的不可变性)提供可靠且频繁的容器镜像构建和部署。 Dev和Ops分离问题 :在构建/发布期间⽽⾮部署期间创建镜像,从⽽将应⽤程序与基础架构分离。 开发、测试和⽣产环境⼀致 :在笔记本电脑运⾏与云中⼀样。 云和操作系统可移植性 :可运⾏在Ubuntu、RHEL、CoreOS、内部部署,Google Container io/docs/concepts/overview/what-is-kubernetes/ 01-什么是Kubernetes 7 安装Kubernetes(单机) 对于Mac/Windows 10 前提:保持⽹络畅通 系统版本满⾜要求 对于macOS或者Windows 10,Docker已经原⽣⽀持了Kubernetes。你所要做的只是启⽤Kubernetes即可,如下图: Minikube ⼀些场景下,安装Min 使⽤Kubespray部署⽣产可⽤的Kubernetes集群 (1.11.2) 前提:科学上⽹,或⾃⾏将gcr.io的镜像转成其他镜像仓库的镜像。 Kubernetes的安装部署是难中之难,每个版本安装⽅式都略有区别。笔者⼀直想找⼀种 ⽀持多平台 、 相对简单 、 适⽤于 ⽣产环境 的部署⽅案。经过⼀段时间的调研,有如下⼏种解决⽅案进⼊笔者视野: 部署⽅案 优点 缺点 Kubeadm0 码力 | 135 页 | 21.02 MB | 1 年前3
逐灵&木苏-阿里巴巴 K8S 超大规模实践经验•nearly one million containers 面向终态升级 通过面向终态的应用管理理 念提高应用运维的效率 自愈能力升级 统一容器与应用实例周期简化 应用启动流程 不可变基础设施 分离基础设施与应用容器简化 应用运维复杂性面向终态升级 • 过程式的运维有什么问题? 例子:升级某服务的 3000 个实例 容 器 平 台 运 维 平 台 容 器 平 台 运 维 平 台 Kubernetes 镜像,一次定义多次运行 通过镜像提供的组装机制 打包应用镜像,包含业务 及运维基础设施进程 更进一步组合多个容器 为一个 Pod,Pod 一次 定义多次运行不可变基础设施 • 应用与运维基础设施容器分离 • 支持各自独立升级 • SidecarSetOpenKruise • AdvancedStatefulSet • SidecarSet • BroadcastJob • CloneSet 规模及性能优化实践性能优化 RT/QPS 资源使用率 链路RT/QPS 服务异常 队列长度 gRPC监控 长连接分布 请求分布 限流 Authorization Authenticatio n 序列化 压缩 版本转换 Admission Cache Storage Filter Chain API 存储 Kube-APIServer Webhook ETCD 数据构建 压测场景 压测环境 压测报告0 码力 | 33 页 | 8.67 MB | 6 月前3
运维上海2017-Kubernetes与AI相结合架构、落地解析-赵慧智Container Image 用来将需要容器化的应用程序及其环境进行打包后存储的镜像。 • 通常会有一个 Image 管理仓库来存储 Image。 • 同一个 Image 会有版本记录。 • 只包含软件环境的配置 • 硬件配置需要运行时去指定 OCI (Open Container Initiative) • From Linux Foundation 存储管理 • 对于所有 Kubernetes Volume 按照业务类型提供统一的管理 • 用户在进行Volume操作的时候 根据业务进行中间层处理,包括 但不限于访问权限,大小申请, 读写操作等 • 根据用户不同的角色进行集群不同的环境选择 • 在业务层面让用户感知为统一的环境 多集群管理 云提供服务形式 • 企业级架构 • 用户管理 • 用户访问权限管理 多个用户在模型训练时需要通过队列的方式来解决资源短缺 问题 • 需要对不同用户进行资源池划分 模型管理与发布 • 模型发布: • 模型服务的负载均衡 • 硬件资源的规划 • 模型管理: • 模型的版本 • 模型的类型 研发环境与生产环境隔离 • 硬件资源互相隔离 • 网络资源相互连通 资源监控及分配策略 • 用户资源的限制 • - 创建训练任务的限制 • - 创建模型服务的限制0 码力 | 77 页 | 14.48 MB | 1 年前3
第29 期| 2023 年9 月- 技术雷达的设计模式、组件库以及良好的设计和工程实践,以确保 数字产品的一致性。设计系统从过去的企业风格指南演变而来,提供易于查找和使用的共享组件库和文档。通 常,设计系统的风格指南以代码的形式记录并进行版本控制,比简单的文档记录更加清晰且易于维护。设计系 统已经成为跨团队和学科进行产品开发时的标准方法,每当需要新的视觉组件时,团队不用重新发明轮子,因 此能够集中精力,专注解决产品本身的种种挑战。 须运行所有这些测试以及安全扫描,我们更提倡自动合并依赖项更新 PR。 简而言之,团队必须完全相信,流水 线运行成功后,软件就可以投入生产。在这种情况下,依赖项更新 PR,即使它们在间接依赖项中包含主要版本 更新,也应该自动合并。 6. 针对 FAIR 数据的数据产品思维 试验 数据产品思维重视将数据消费者视为客户,确保他们在数据价值链中的无缝体验。这包括易用的数据发现、理 解、信任、访问和 IaC,更易于理解和维护。与所有 IaC 一样,同时使用多种方式进行配置变更,会带来 不一致的风险。所以,我们建议禁用通过用户界面和 API 的方式处理配置变更,确保 Terraform 代码始终是唯 一的真实生效的版本。 9. ReAct 提示工程 试验 ReAct 提示工程是一种用于提示大语言模型的方法,相较于思维链(CoT)等竞争方法,ReAct 旨在提高大语言 模型的响应准确性。这一方法在一份 20220 码力 | 43 页 | 2.76 MB | 1 年前3
Alluxio 助力 Kubernetes, 加速云端深度学习: 157.9元/小时 x 4 = 631.6 元 P100 1卡:12.78 元/小时 x108 = 1380.24 元 数据访问的新挑战 1.强大的算力需要匹配的I/O吞吐 2.计算存储分离导致I/O延迟 3.单机缓存无法满足海量数据加速 9993.6 3189.6 0 2000 4000 6000 8000 10000 12000 Synthetic ESSD云盘 PL2 default CACHE 默认的CACHE_PROMOTE会带来显著的性能开销 策略:1.优先本地加载缓存 2.避免数据震荡 3.避免数据冗余 1 2 3 3. Fuse性能调优 • 选择更高版本的kernel • 设置max_read=131072 • 定制libfuse2代码,支持配置Libfuse线程池 • 延长元数据缓存时间 建议 端到端的优化方案 1252.5 49810 码力 | 22 页 | 11.79 MB | 1 年前3
共 37 条
- 1
- 2
- 3
- 4













