尧图网络科技YAOTU DIGITAL 获取报价
获取报价
首页 / 资讯中心 / 文章详情

Telepresence 配置中的 quantity 字节量格式:从 `129M` 到 `123Mi` 的换算与实战用法

发布时间:2026/9/29 8:00:08

资讯中心
01
ARTICLE

Telepresence 配置中的 quantity 字节量格式:从 `129M` 到 `123Mi` 的换算与实战用法

Telepresence 配置中的 quantity 字节量格式:从 `129M` 到 `123Mi` 的换算与实战用法
云原生开发工具微服务网络【免费下载链接】telepresenceLocal development against a remote Kubernetes or OpenShift cluster项目地址https://gitcode.com/gh_mirrors/te/telepresence点击查看免费下载本篇技术指南聚焦 Telepresence 项目中所有以字节为单位的配置值quantity的书写规范。无论你是在config.yaml中设置 gRPC 消息上限maxReceiveSize还是在 Helm values 中调整日志流式传输的chunkSize只要涉及内存、消息或文件大小的数值都需要遵循这套格式。读完本文你将掌握整数、科学计数法与十进制/二进制后缀的完整换算规则并能准确判断128974848、129M、123Mi为何表达的是同一个量级。quantity 是什么Telepresence 配置中的字节量约定在 Telepresence 的配置体系中许多与传输、缓存、限制相关的字段都以**字节bytes**为计量单位而不是以更笼统的块数行数来描述。官方约定文档 docs/common/quantity.md 给出了这一格式的权威定义Quantity is measured in bytes. You can express it as a plain integer or as a fixed-point number using E, G, M, or K. You can also use the power-of-two equivalents: Gi, Mi, Ki.也就是说一个 quantity 值既可以写成纯整数也可以写成带十进制后缀E、G、M、K的定点数还可以使用二进制幂后缀Gi、Mi、Ki。该文档给出了一个经典示例——下面三个值表示的是大致相同的量128974848, 129e6, 129M, 123Mi这一约定并非独立存在而是贯穿于 Telepresence 的客户端配置与 Helm 图表之中。例如 docs/reference/config.md 中grpc.maxReceiveSize字段的类型就被标注为quantity默认值为4Midocs/reference/cluster-config.md 中 traffic-manager / traffic-agent 的maxReceiveSize同样使用quantity类型并默认4Mi。理解这套格式是正确读写这些配置的前提。三种书写方式整数、科学计数法与带后缀后缀1. 纯整数plain integer直接写出字节总数例如128974848即 128,974,848 字节。这种写法最精确但可读性差适合机器生成或需要精确到字节的场景。2. 定点数 / 科学计数法fixed-point number使用E、G、M、K表示以 10 为底的幂后缀含义数值Kkilo10³ 1,000Mmega10⁶ 1,000,000Ggiga10⁹ 1,000,000,000Eexa10¹⁸ 1,000,000,000,000,000,000例如129e6就是 129 × 10⁶ 129,000,000 字节129M同样是 129,000,000 字节。这里的E既可作为后缀出现在数字末尾也可与科学计数法结合写作129e6等价于129M。3. 二进制幂后缀power-of-two equivalents使用Gi、Mi、Ki表示以 2 为底的幂后缀含义数值Kikibi2¹⁰ 1,024Mimebi2²⁰ 1,048,576Gigibi2³⁰ 1,073,741,824例如123Mi 123 × 1,048,576 128,974,848 字节。一个例子看懂换算为什么它们大致相同回到官方文档中的示例将三个值换算成字节数书写形式换算过程字节数128974848直接整数128,974,848129e6129 × 10⁶129,000,000129M129 × 10⁶129,000,000123Mi123 × 2²⁰128,974,848可以看到123Mi二进制与128974848完全相等而129e6/129M十进制与它们只差约 25KB0.02%。这就是文档所说roughly the same value的原因——十进制后缀与二进制后缀之间存在约 2.4% 的固有差异1000 对 1024、10⁶ 对 2²⁰选哪个取决于你想要精确表达哪种计数方式。在 Telepresence 中的实际应用场景maxReceiveSizegRPC 消息大小上限Telepresence 客户端与 traffic-manager / traffic-agent 之间所有流量都通过 gRPC 隧道传输见 docs/reference/config.md 的grpc小节。其中maxReceiveSize: 10Mi用于限制单条 gRPC 消息的最大字节数。默认值为4Mi。在 pkg/client/config.go 中这一字段被定义为Grpc结构体成员注释明确写道MaxReceiveSize is the maximum message size in bytes the client can receive in a gRPC call or stream message. Overrides the gRPC default of 4MB.也就是说Telepresence 使用 quantity 格式覆盖 gRPC 库默认的 4MB 上限你可以按需调整例如大流量拦截场景下可调大。chunkSize与podByteLimit日志流式传输限制在 Helm values 的logStreaming配置块中对应源码 pkg/client/cli/helm/values.go 的LogStreaming结构体同样使用resource.Quantity类型承载字节量// LogStreaming bounds the traffic-managers StreamLogs RPC. type LogStreaming struct { ChunkSize *resource.Quantity json:chunkSize,omitzero PodConcurrency *int32 json:podConcurrency,omitzero PodByteLimit *resource.Quantity json:podByteLimit,omitzero Deadline *string json:deadline,omitzero }chunkSize控制单次日志分块大小podByteLimit限制单个 Pod 可流式传输的日志字节总量。二者都可以用4Mi、10Mi、1Gi这类 quantity 书写。Helm values 与 JSON Schema 校验客户端配置pkg/client/config.go与 Helm 值pkg/client/cli/helm/values.go中的这类字段均以 Kubernetes 的resource.Quantity类型承载而 docs/helm/values.schema.json 中专门定义了名为quantity的 JSON Schema 引用quantity:{$ref:...}用于校验 Helm values 的合法性。这意味着你写入的值会经过与 Kubernetes 相同的解析逻辑。测试中的用法在 pkg/client/config_test.go 中可以看到实际的解析调用cfg.Grpc().MaxReceiveSizeV, _ resource.ParseQuantity(20Mi)即通过resource.ParseQuantity(20Mi)将字符串形式的 quantity 解析为内部数值——这也解释了为什么配置文件中可以放心书写4Mi、20Mi、129M这类字符串而不是手算后的整数。书写建议与常见误区区分大小写后缀M10⁶与Mi2²⁰并不相等二者相差约 4.86%。需要精确表达 2 的幂如内存对齐、缓冲区设计时用Mi表达十进制约数时用M。E后缀的两种用法129e6是科学计数法129E是带后缀的定点数两者在 Telepresence 文档与 Kubernetesresource.Quantity语法中均可被解析。默认值参考grpc.maxReceiveSize默认4Mi见 docs/reference/config.md 与 docs/reference/cluster-config.md改动前建议先确认流量规模是否真的超出默认值。统一团队配置由于这些字节量字段同时影响客户端与集群侧部署的对象docs/reference/config.md 提醒涉及images等会影响集群部署对象的配置时务必保证客户端与集群侧使用一致的配置quantity 字段同理。小结Telepresence 的 quantity 格式为所有字节计量配置提供了一套简洁、统一的表达方式纯整数最精确E/G/M/K适合十进制约数Gi/Mi/Ki适合二进制对齐场景。以128974848、129e6、129M、123Mi这一组等价示例为锚点你可以在阅读maxReceiveSize、chunkSize、podByteLimit等配置时快速心算其真实字节量并在自己的config.yaml或 Helm values 中写出既易读又准确的数值。赞分享云原生开发工具微服务网络【免费下载链接】telepresenceLocal development against a remote Kubernetes or OpenShift cluster项目地址https://gitcode.com/gh_mirrors/te/telepresence点击查看免费下载相关推荐YouTube.js 中 PlayerMicroformat 类解析playerResponse 微格式节点的字段映射与实战用法YouTube.js 中 PlayerMicroformat 类解析playerResponse 微格式节点的字段映射与实战用法 本文围绕 YouTube.j后端Apollo配置转换数据格式转换处理Apollo配置转换数据格式转换处理 在日常开发中你是否经常遇到配置格式不统一、跨系统配置共享困难的问题Apollo作为一款强大的配置中心不仅提供了集中配置中心后端微服务Introduction to Autonomous Robots自主机器人技术完全指南与核心原理Introduction to Autonomous Robots自主机器人技术完全指南与核心原理 自主机器人技术正以前所未有的速度改变着我们的生活和工作方式机器人教育上一篇Montserrat字体终极指南如何用这款开源字体解决你的设计难题下一篇SeaTunnel BosFile Source 连接器从百度云 BOS 对象存储读取数据的完整实战指南创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
02
RELATED NEWS

相关资讯

更多网站建设与数字化升级内容

03
WHY YAOTU

想打造同款高转化官网?

懂行业、懂生意,从建站到增长一站式陪跑

◈

场景化定制

不做模板站,围绕你的业务场景量身设计,小众不撞款。

◐

营销型架构

以转化目标组织内容与路径,让官网真正带来询盘。

▲

全周期服务

设计、开发、运营、运维一体,上线只是开始。

免费获取你的建站方案

留下需求,专属顾问 24 小时内为你输出方案建议。