Kubernetes开源书 - 周立
;如果节点不健康且不接受Pod,则 为 False ,如果node controller与Node失联40秒以上,则为“ Unknown MemoryPressure 如果node的内存存在压⼒,则为 True ——即node内存容量低;否则为 False DiskPressure 如果磁盘存在压⼒,则为 True ——即磁盘容量低;否则为 False NetworkUnavailable 请注意,由于延迟时间⼩,通常少于1秒,在观察condition和产⽣污点的时间段内,启⽤此功能可能会稍微增加成功调 度但被kubelet拒绝的Pod的数量。 Capacity(容量) 描述Node上可⽤的资源:CPU、内存,以及可调度到该Node的最⼤Pod数。 Info(信息) 关于Node的⼀般信息,如内核版本、Kubernetes版本(kubelet和kube-proxy版本)、Docker版本(如果使⽤了Docker Controller创建的Pod会绕过Kubernetes调度程序,并且不遵循节点上的unschedulable属性。 因为,我们假设daemon进程属于机器,即使在准备重启时正被耗尽。 Node容量 Node的容量(CPU数量和内存⼤⼩)是Node对象的⼀部分。 通常来说,Node在创建Node对象时注册⾃身,并报告其 容量。如果您正在进⾏ manual node administration ,则需要在添加Node时设置Node容量。0 码力 | 135 页 | 21.02 MB | 1 年前3⾸云容器产品Kubernetes操作指南
最⼩申请:为该应⽤所需最⼩资源额度,包括 CPU 和内存两种资源。该资源由容器独占,以 防资源不⾜⽽被其他服务或进程争占资源,导致应⽤不可⽤。其中,CPU 资源的单位为 Core(即⼀个核)、内存的单位为 MiB。 最⼤申请:可指定该应⽤所能使⽤的最⼤资源额度,包括 CPU 和内存两种资源,防⽌占⽤过 多资源。其中,CPU 资源的单位为 Core(即⼀个核)、内存的单位为 MiB。 Init Container:勾选该项,表示创建⼀个 进⾏⾼级设置。 可选:⽔平伸缩。您可勾选是否开启⽔平伸缩,为了满⾜应⽤在不同负载下的需求,容器服务 ⽀持容器组(Pod)的弹性伸缩,即根据容器 CPU 和内存资源占⽤情况⾃动调整容器副本数 量。 指标:可选 CPU 使⽤量和内存使⽤量,需要和设置的所需资源类型相同。 触发条件:资源使⽤率的百分⽐,超过设置的Pod request值,容器开始扩容。 最⼤副本数:该 Deployment 最⼩申请:为该应⽤所需最⼩资源额度,包括 CPU 和内存两种资源。该资源由容器独占,以 防资源不⾜⽽被其他服务或进程争占资源,导致应⽤不可⽤。其中,CPU 资源的单位为 Core(即⼀个核)、内存的单位为 MiB。 最⼤申请:可指定该应⽤所能使⽤的最⼤资源额度,包括 CPU 和内存两种资源,防⽌占⽤过 多资源。其中,CPU 资源的单位为 Core(即⼀个核)、内存的单位为 MiB。 Init Container:勾选该项,表示创建⼀个0 码力 | 94 页 | 9.98 MB | 1 年前3QCon北京2017/支撑海量业务的互联网架构/知乎基于 Kubernetes 的 Kafka 平台探索和实践
Kubernetes 集群资源管理理和调度 容器器技术提供资源隔离 应⽤用程序管理理 Kafka on Kubernetes 设计 Kafka 容器器 • 内存、CPU、⽹网络和存储 调度 Kafka 容器器 内存 CPU 和⽹网络 内存 和 CPU • 依照集群类型测试基准数据 容器器⽹网络 • 容器器采⽤用独⽴立的内⽹网 IP ⽅方案 存储 容器器挂载服务本地⽬目录 Kafka 保证重要 Topic ⾼高可⽤用 • 客户端与服务器器注册联动 指标维度 举例例 Kubernetes 3 容器器内存、CPU、运⾏行行状态 Broker 14 消息量量,JVM, Leader分布,磁盘消耗 Topic 13 消息量量,消费延迟 主机 4 内存、⽹网络、CPU、磁盘 客户端 2 ⽣生产或消费 Topic 消息量量 监控 业务解耦 容器器⽇日志通过本地代理理收集0 码力 | 34 页 | 2.64 MB | 1 年前3高性能 Kubernetes 元数据存储 KubeBrain 的设计思路和落地效果-许辰
• 高性能 存储层 - 数据格式 etcd KubeBrain 能否使用类似的格式? 1. 否 2. 底层存储引擎全局有序,有写热点那问题 Etcd 以 Revision 为 Key 内存 Btree 索引维护 key 和 revision 的映射关系 存储层 - 数据格式 KubeBrain 逻辑层 逻辑层 – 写 逻辑层 – Watch(1) Watch 机制本质上是一个消息队列系统 一定有一个单点对消息进行排序 采用主从架构 逻辑层 – Watch(2) 一主多从 1. 仅主节点负责写入和事件生成 2. 从节点只读 逻辑层 – Watch(3) • Master 内存中保留最近写入的 事件 • 写入滑动窗口记录并发写操作的 结果 • 消费滑动窗口中的数据实现有序 的 Event 推送 • 当前消费的最大位置为 Brain 层 的 Committed 读 Unary -> Stream 代替分页,降低延迟 内存高效复用,避免 OOM 读优化 - 2 多分片并发读 通过并发,大大减少读时延 读优化 - 3 读写分离 follower 可以无限扩展,没有 raft 同步问题 读写之间无相互影响 读优化 - 4 Count 优化 基于周期性 Compact 统计,存在内存 降低时延,减轻存储压力 Watch 优化 - 1 写性能提升带来直接收益0 码力 | 60 页 | 8.02 MB | 1 年前3Kubernetes全栈容器技术剖析
8.2 8.4 8.6 8.8 9 100 300 500 内存占用率对比 裸金属容器进程内存 虚机容器进程内存 对比结论: 在同等压力下裸金属容器的响应时延减少1 倍,裸金属容器应用的吞吐量相对于虚机 容器吞吐量增长1倍,但是cpu资源的占用 却只多出60%左右,同时裸金属容器的进 程占用的内存减少10%。 11 国内首发Windows容器服务:帮助企业实现海量Windows应用轻松容器 dows Server在x86伺服器中的市占率高达6成。 CCE推出基于Kubernetes的Windows Server容器管理服务 • 完美兼容Kubernetes能力,支持容器CPU/内存资源编排,无状态/ 有状态应用模型等能力; • 可纳管最新的Windows 1709系统,支持启动Windows Native容 器。 12 CCE支持GPU异构计算能力,帮助企业高效灵活应用深度学习服务0 码力 | 26 页 | 3.29 MB | 1 年前3Operator Pattern 用 Go 扩展 Kubernetes 的最佳实践
迁移、同步、清洗、跨地域、灾备、多活等等。 DB Operator Day-2 Operations Operator 基础模型 第二部分 K8s 架构 Cache Informer 机制 Cache 如何获取到本地(内存中) Informer 启动后会通过 reflector 的 list & watch 机制获取某种资源的 全量 objects。list 可以简单理解为一个 HTTP GET 请求,watch 为一 会马上为其增加 informer 并完成初始化 Cache 注意事项 Cache 中的对象都保存在内存中,如果对象很多,内存占用会比较大, 所以一方面要根据单个对象大小以及总得对象规模来评估 controller 内 存消耗。 另一方面 informer 提供了同类型对象的共享机制,降低内存开销 近距离感受 list & watch 机制 Cache 本质及开发建议 相信 Cache0 码力 | 21 页 | 3.06 MB | 9 月前3第1930期:Kubernetes基础介绍
个具体的node上的一个具体文件中,并只在此node上启动运行。 每个pod可以设置限额,目前可以设置CPU和内存,cpu的单位为core的数量, 是一个绝对值而不是相对值。k8s中是以千分之一为最小单位,一般一个pod 设置为100m到300m,也是就是0.1-0.3个cpu。内存是以MB为单位 k8s设置2个参数: requests:该资源的最小申请量,系统必须满足的要求 limits:该资 K8s基本概念和术语介绍(资源限制) 资源限制: Kubernetes通过cgroups提供容器资源管理的功能,可以限制每个容器的CPU和内存使用,比如对于刚才创建的 deployment,可以通过下面的命令限制nginx容器最多只用50%的CPU和128MB的内存: $ kubectl set resources deployment nginx-app -c=nginx --limits=cpu=500m0 码力 | 49 页 | 4.11 MB | 1 年前3K8S安装部署开放服务
master CPU:2 核, 内存:8GB, 系统盘:40GB, docker 数据盘:80GB 3 台作为 k8s node CPU:2 核, 内存:16GB, 系统盘:40GB, docker 数据盘:40GB, ceph 数据盘:1TB *下面是 vSphere 上创建虚拟机的步骤: A1. 创建 k8s-master CPU:2 核, 内存:8GB,系统盘:40GB,docker /etc/fstab xfs_growfs /dev/mapper/centos-docker df –Th A2. 创建 k8s-node1, k8s-node2, k8s-node3 内存:16GB, 系统盘:40GB,docker 数据盘:40GB,ceph 数据盘:200GB 【注】所有节点(k8s-master, k8s-node1, k8s-node2, k8s-node3)均需做以下0 码力 | 54 页 | 1.23 MB | 1 年前3第29 期| 2023 年9 月- 技术雷达
声称更加面向应用程序而不是工作负载为中心。 21. 自托管式大语言模型 评估 大语言模型(LLMs)通常需要大量的 GPU 基础设施才能运行,但目前有强烈的推动力使它们可以在更简单的 硬件上运行。对大语言模型进行量化可以减少内存需求,使高保真度模型可以在成本更低廉的硬件甚至是 CPU 上运行。像 llama.cpp 这样的工作使大语言模型可以在包括树莓派、笔记本电脑和通用服务器在内的硬件上运 行成为可能。 许多组织 群的控制面板。在没有显著大型集群的情况下,很难对自定义 Kubernetes 控制器和操作器进行压力测试。然而, 通过 KWOK,你可以在笔记本电脑上轻松设置一个拥有数千个节点的集群,而无需消耗大量 CPU 或内存资源。 这种模拟支持节点类型和 pod 的不同配置,以测试各种场景和边缘情况。如果你需要一个真正的 Kubernetes 集群来测试操作器和自定义资源定义(CRDs),我们推荐 kind 或 k3s; 它对我们的监控和可观察性策略以及整个监控领域的长期影响。 94. Polars 试验 Polars 是 Rust 实现的一个内存运行的 DataFrame 库。 与其他 DataFrame 库(如 Pandas)不同,Polars 是多 线程、支持惰性求值、并且并行操作安全的。 Polars 使用 Apache Arrow 格式作为内存模型,以高效实现分析 操作,并实现与其他工具的互用性。 如果您熟悉 Pandas,就可以快速上手0 码力 | 43 页 | 2.76 MB | 1 年前3sealos 以 kubernetes 为内核的云操作系统
Sealos是云操作系统发行版本 Linux发行版,如redhat Linux kernel CPU 内存 磁盘 Linux发行版,如redhat Linux kernel CPU 内存 磁盘 Linux发行版,如redhat Linux kernel CPU 内存 磁盘 有了 sealos 就可以一条命令构建一朵云 抛弃 IaaS PaaS SaaS 拥抱 云内核 架构0 码力 | 29 页 | 7.64 MB | 9 月前3
共 18 条
- 1
- 2