高性能 Kubernetes 元数据存储 KubeBrain 的设计思路和落地效果-许辰KubeBrain 字节跳动高性能 K8s 元信息存储 许辰 字节跳动资深研发工程师 许 辰 字节跳动基础架构工程师 本科和硕士毕业于北京大学计算机系 负责大规模 Kubernetes 系统的构建和优化 KubeBrain/ KubeGateway/ KubeZoo 等多个项目的发起人 • 背景介绍 • 设计思路 • 性能优化 • 落地效果 • 未来演进 背景 背景 • Kubernetes 规模增大 10 倍以上 公司业务快速发展 存储、大数据、机器学习等场景云原生化 • 新场景对 Kubernetes 性能要求更高 离线场景,Pod 生命周期短、变更频率高 如何扩展 Kubernetes 集群 单个集群规模垂直扩展 多个集群横向扩展 降低运维管理成本 减少资源碎片 提高资源利用率 Kubernetes 的架构特点 中心化架构 所有组件通过 apisever 交互 随着规模增大存储系统成为瓶颈 etcd 存在性能问题 apiserver etcd K8s 各组件 apiserver 元信息存储 etcd etcd 存在的问题 自研元信息存储 调优 etcd 参数 按照对象拆分 etcd 设计新的元信息存储 … 如何解决存储瓶颈? KubeBrain 1. 大脑 2. 谐音科比 Kobe0 码力 | 60 页 | 8.02 MB | 1 年前3
k8s操作手册 2.3里,也可以装在实体机上 ②规划主机名及ip k8s的服务器使用固定ip地址,配置主机名,要求能解析相应的主机名(master 结点)到对应的ip地址,可以使用内网集群的dns服务器或写入/etc/hosts文件 里。如: 主机名 ip地址 k8s-master1.cof-lee.com 10.99.1.51 k8s-master2.cof-lee.com 10.99.1.52 k8s-master3 com k8s-node01 10.99.1.62 k8s-node02.cof-lee.com k8s-node02 EOF ★k8s初始化时要求系统里有/etc/resolv.conf文件及系统对外通信网口上配置有 默认路由;根据实际情况添加 # cat >> /etc/resolv.conf <文件 里配置信任此镜像仓库地址! # cat >> /etc/hosts < 文件方式去初始化集群(和上面命令行方式二选一) # kubeadm config print init-defaults > /etc/kubeadm-init.yaml #输出初始化配 置文件并编辑 # 0 码力 | 126 页 | 4.33 MB | 1 年前3
第1930期:Kubernetes基础介绍种子技术来提供。目前最新的 版本是1.16版本。(https://github.com/kubernetes/kubernetes) Kubernetes 的目标旨在消除编排物理/虚拟计算,网络和存储基础设施的负担,并使应用程序运营商和开发人员完全将重点放 在以容器为中心的业务上进行自助运营。Kubernetes 也提供稳定、兼容的基础(平台),用于构建定制化的workflows 和更 高级的自动化任务。Kubernetes 服务发现和负载均衡:实现内部负载均衡可以实现服务访问负载。 自动发布和回滚:可以自动实现版本的发布和回滚。 秘钥和配置管理:对于密码等信息,专门提供了Secert对象为其解耦。 存储编排:支持多种不同类型的存储,包括本地存储、云存储、网络存储等。 批量处理执行:除服务型应用,还支持批处理作业CI(持续集成),如有需要,一样可以实现容器故障后修复。 Kubernetes特点: 可移植: 支持公有云,私有云 Scheduler调度器(kube-scheduler):负责资源调度(Pod调度)的进程,相当于“调度室”。按照预定的调度策略 将Pod调度到相应的机器上 etcd:集群的数据存储,他存储着集群中所有的资源对象。数据存储采用的是键值对存储。保存了整个集群的状态。 11 www.h3c.com Confidential 秘密 11 11 K8s基本概念和术语介绍(Node) 工作节点(Node/Worker):0 码力 | 49 页 | 4.11 MB | 1 年前3
第29 期| 2023 年9 月- 技术雷达Spring 91. Mockery 92. Netflix DGS 93. OpenTelemetry 94. Polars 95. Pushpin 96. Snowpark 评估 97. 基准配置文件 98. GGML 99. GPTCache 100. 语法性别 API 101. htmx 102. Kotlin Kover 103. LangChain 104. LlamaIndex 105 和业务的演进过 程。RFCs 可以成为促进演化架构的宝贵工具。不过,为了获得最佳效果,我们建议组织采用轻量级的 RFCs 方 法。如果不限定范围并明确要点,这些文件往往会随着时间的推移而变得越来越长,类似于传统的解决方案架 构文件一样最终被归档和遗忘。 3. 具有可访问性意识的组件测试设计 试验 在软件交付进程中,可访问性要求是 Web 组件测试阶段的一种考察指标。尽管诸如 chai-a11y-axe Connect(OIDC)等联合身份机制对流水线进行 身份验证,以访问云服务。这一重要的技术仍未被充分利用在 GitHub Actions 中,因此推荐 OIDC for GitHub Actions。通过这种方式,可以避免存储长期的访问令牌来访问云资源,同时确保流水线无法直接访问机密信息。 然而,请务必谨慎地限制访问权限,以确保操作以最低权限运行。 8. 使用 Terraform 创建监控和告警 试验 基础设施及代码(IaC)0 码力 | 43 页 | 2.76 MB | 1 年前3
张海宁:使用Kubernetes部署超级账本Fabricy项目创始人 • Cloud Foundry中国社区最早技术布道师之一 • Hyperledger Cello项目贡献者 • 《区块链技术指南》、《软件定义存储》作者之一 公众号:亨利笔记 《区块链技术指南》 《软件定义存储》 SACC2017 议程 1 超级账本项目概览 2 Kubernetes架构简介 3 用Kubernetes部署Fabric 4 总结 Container 1 Tools, Libs, SW Container 2 Tools, Libs, SW Kubernetes SACC2017 Kubernetes 的存储:Persistent Volume Claim Pool of Persistent Volumes VSAN VMFS NFS Kubernetes Cluster 管理员 Replicas: 2 P1R1 P1R2 P2R1 SACC2017 在Kubernetes中部署Fabric SACC2017 • Fabric的应用面临几个问题: – 大量配置文件,繁琐且容易出错。 – 开发人员无法专注于应用开发。 – 基于Fabric身份管理的设计,网络中节点增减的步骤繁多。 – 节点的状态不易监控,节点宕机后需手动重启。 • 降低使用门槛,提高易用性成为区块链应用落地的0 码力 | 45 页 | 2.70 MB | 1 年前3
sealos 以 kubernetes 为内核的云操作系统Sealos API Sealos CLI Desktop 裸金属 AWS 阿里云 更多······ boot 集群镜像 租户管理 应用管理 函数计算 消息队列 数据库 缓存 计算驱动 网络驱动 存储驱动 自由组装 内聚解耦 化整为零 大道至简 sealos 的能力 • 10 秒上线一个自带域名和 https 的 nginx 应用 • 其它应用同理如博客系统 低代 码平台等 系统 日至 系统 数据库 消息队列 对象存储 计算 储存 网络 kubernetes SaaS服务 30min 1人 一键打包 整体交付 一次建构 到处运行 使用sealos 技术实现 行业 痛点 在公网不可信的环境中提供多 租户共享一个kubernetes集群 的能力, ,如etcd存储, k8s apiserver,对象存储,数 据库等 技术 方案 优势 利用 等技术可做到计算安 等技术可做到计算安 全隔离,存储隔离且获得本地 磁盘同等IO能力 , 可以把整个集群像Docker 一样打包,一键交付 , 有轻量化、超高性能、极易管 理等特点 自研 负载均衡器, 可支撑超大规模数万节点 集群运行 ,运行速度全球领先,毫秒级发布 更高稳定性 实现安全隔离 轻量化 数万节点集群运行 运行速度 全球领先 超高性能 极易管理 使用场景 私有云 完全 离线0 码力 | 29 页 | 7.64 MB | 9 月前3
涂小刚-基于k8s的微服务实践openstack kvm docker 镜 像 管 理 弹性伸缩 智能调度 配置管理 健康检查 服务发现 动态dns 负载均衡 容器监控 日志采集 应用监控 节点监控 动态存储 本地存储 网络存储 静态存储 代码检查 代码编译 镜像编译 服务发布 镜像同步 镜像上传 镜像下载 镜像安全 k8s tcp负载 https-http 虚拟主机 服务路由 traefik ingress-nginx 作用 k8s-namespace 通过配置文件关键字dev/test/prod等声明应用所属的环境,隔离不同环境业务,通过特定标识来识别业务线。 k8s-service k8s-dns注册服务名,通过配置文件关键字关联业务线应用名称,保持应用和k8s之间的关联。 k8s-app-name 容器host应用名称,deployment 名,通过配置文件关键字关联业务线应用名称,保持应用和k8s之间的关联。 节点启动 挂载/data/all-log目录 实时扫描发现新目录日志 logstash通过不同的消费groupid来消费同一 topic互不干扰,日志通过同一topic一分为 二,分别写入es和文件存储 create-path kibana nginx 金丝雀灰度发布 upstream jm-prod.api.svc.cluster.local 80% jm-canaryapi.svc0 码力 | 19 页 | 1.34 MB | 1 年前3
DaoCloud Enterprise 5.0
产品介绍全局管理 10 可观测性 10 应用工作台 11 多云编排 11 微服务引擎 12 服务网格 13 中间件 14 镜像仓库 14 云原生网络 15 存储 17 参考文档 18 版权 © 2023 DaoCloud 第 3 页 简介 DaoCloud Enterprise 5.0(DCE 5.0)是一款高性能、可扩展的云原生操作系统。 涉及的模块:全局管理、容器管理、云原生网络、云原生存储、信创异构 中间件服务 专为有状态应用设计的云原生本地存储能力,满足中间件高 I/O 的存储需求,提升运 维管理效率。精选各类数据库、分布式消息和日志检索等中间件,提供多租户、部 署、观测、备份、运维操作等全生命周期的中 间件管理能力,实现数据服务的自助化 申请、弹性扩展、高并发处理和稳定高可用。 涉及的模块:全局管理、容器管理、云原生网络、云原生存储、精选中间件 台、云原生网络、云原生存储 可观测性 基于日志、链路、指标、eBPF 等技术手段,全面采集服务数据,深入获取请求链路信 息,动态观测、多维度掌控集群、节点、应用和服务的实时变化,通过统一控制面实 现所有集群及负载观测数据的查询,引入拓扑分析技术可视化掌握应用健康状态,实 现秒级故障定位。 涉及的模块:全局管理、容器管理、可观测性、云原生网络、云原生存储 版权 © 2023 DaoCloud0 码力 | 18 页 | 1.32 MB | 1 年前3
基于Kubernetes构建容器云平台的实践
- UCloud优刻得实验室负责⼈ 叶理灯链路路跟踪 负载均衡 ⾃自动容灾 持续集成 持续部署 灰度发布 服务注册/发现 关系数据库 KV存储 对象存储 块存储 DNS 消息队列列 API- Gateway 镜像仓库 统⼀一代码管理理 统⼀一编程框架 统⼀一通讯协议 统⼀一部署环境 计算平台/KUN 公共服务 存储平台 Think in Cloud . 北北京 基于RBAC实现 账号管理理隔离 01 IPv6 Pod与集群外部互通 其他⽅方案 • Calico/Flannel: 基于 BGP、IPIP、VXLAN 或⽤用户态程序, 每个节点需要部署 Agent程 序, 数据需要进⾏行行单独的存储(etcd),整 体上⽐比较复杂、⽽而复杂往往和可靠性成反⽐比 Dual Stack IPv4 IPv6 CIDR /64 --- IPv4 --- IPv6 集群外 服务器器 Containers Think in Cloud . 北北京 监控系统⽅方案 • 监控基于 Prometheus 构建,Prometheus 部署于 K8s 集群中,使⽤用 HostPath 存储数据; • Metrics 采集: A. 采集 apiserver、controller-manager、scheduler、etcd、kube-proxy、Kubelet 等组件提供的 metrics0 码力 | 30 页 | 3.52 MB | 1 年前3
Alluxio 助力 Kubernetes, 加速云端深度学习8卡 : 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 I Alluxio 服务器 HDFS接口客户端 POSIX接口客户端 Alluxio 服务器 Alluxio 服务器 大数据查询 大数据ETL 模型训练 Alluxio核心功能三:统一的文件系统抽象 Alluxio 服务器 Alluxio在云端AI训练场景的性能好处 • 支持大规模的数据缓存 • 本地内存加速 • 支持数据预热 • LRU缓存管理 Object storage fuse TensorFlow TensorFlow Alluxio Master Pod Pod MXNet MXNet Pod Pod Caffe Caffe oss 阿里云 对象存储 statefulset daemonset 一键式部署Alluxio,中心化配置集群参数 $ cat << EOF > config.yaml properties: fs.oss.accessKeyId:0 码力 | 22 页 | 11.79 MB | 1 年前3
共 42 条
- 1
- 2
- 3
- 4
- 5













