云原生k8s【第五课】:资源配额与限制

资源配额与限制

目的:给容器定好 CPU、内存的上下限,防止某个程序乱占机器资源,把整台服务器拖崩,多团队共用集群时还能划分资源地盘。

一、Requests(申请值)& Limits(上限值)单个 Pod 资源管控

  1. Requests:资源申请(保底需求,调度阶段生效)

Pod 启动前跟集群申请的最低资源门槛

  • 调度器找节点时:只会挑剩余资源 ≥ 这个申请数的机器;
  • 节点资源不够满足申请:Pod 一直 Pending,启动不了;
  • 作用:保证 Pod 启动后,一定能分到这么多资源,不会抢不到资源卡顿。

单位说明:

CPU:100m = 0.1 核(1000m = 1 整颗 CPU 核心)

内存:Mi、M 代表兆内存

  1. Limits:资源上限(运行阶段生效)

Pod 运行时最多能用的资源上限,不许超额

  • CPU 超了:不会杀死容器,只会被限速降频,跑的变慢;
  • 内存超了:系统直接 OOM 杀掉 Pod,防止它吃光整机内存连累别的服务;

二、ResourceQuota:命名空间总资源大盘配额

给整个命名空间划定资源总上限,一个空间里所有 Pod 加起来不能超额度

  1. 开启配额后硬性规则:

空间里新建任何 Pod,必须填写 requests 和 limits,不然直接报错 403 拒绝创建;

  1. 管控内容:

总 CPU 申请、总内存申请、总 CPU 上限、总内存上限、最多能跑多少个 Pod 等;

  1. 例子:

test 命名空间规定:最多 1 个 Pod、全部 CPU 申请总和≤1 核、内存总和≤1Gi;

如果你创建一个申请 15 核 CPU 的 Pod,远超总额度,直接创建失败。

三、LimitRange:默认资源模板

LimitRange 是给某个命名空间(namespace)统一定下规矩:

这个空间里所有新建的 Pod / 容器,CPU、内存的「最小申请值、最大上限值、默认值」全都统一规定死;

  1. 自动填充默认值

Pod yaml 没写 requests/limits,系统自动给它填上预设好的默认 CPU、内存;

  1. 限定单个 Pod 最大最小值

规定一个容器最少能用多少资源、最多不能超过多少,避免有人乱填超大资源占坑;

  1. 约束 Request 和 Limit 比例

比如限制上限最多只能是申请值的 2 倍,差距不能过大。

搭配逻辑(生产标准组合)

ResourceQuota(总盘子封顶) + LimitRange(默认值 + 单容器区间)

不用每次手写资源,集群总量还不会被撑爆。

相关推荐
一隅论数智16 小时前
给AI Agent一颗“私域大脑“:本体增强的工程化之路
大数据·运维·数据仓库·人工智能·笔记·学习·政务
王潇98316 小时前
零依赖、单文件:一套自创的分析框架,和它的三个应用站点
github
龙腾AI白云16 小时前
【轻量化大模型:低成本AI落地的产业新范式】
大数据·数据库·人工智能·机器学习
计算机编程指导师16 小时前
【计算机毕设选题】基于Hadoop的电信网络诈骗话术语义特征挖掘分析系统源码 毕业设计 选题推荐 毕设选题 数据分析 机器学习
大数据·数据库·python
阿俊在Coding16 小时前
从 0 实现最小 Coding Agent:读懂 Pi 生产级 Agent 的骨架
github
开开心心就好16 小时前
二维码批量生成导出工具,离线可用完全免费
java·前端·人工智能·智能手机·github·excel·visual studio
wdfk_prog16 小时前
Wi-Fi Direct 源码分析(11):P2P-GROUP-STARTED 之后——Group Interface、IP 配置与真实数据通路
运维·服务器·网络协议·tcp/ip·asp.net·p2p·wifi-direct
IT古董16 小时前
《FDE前沿部署工程师实战教程》31 - Enterprise AI Reliability:Agent稳定性与生产运维体系
大数据·数据库·人工智能
MicrosoftCloud16 小时前
用户权限 02|/etc/passwd、/etc/shadow、/etc/group:三个文件讲透 Linux 用户体系
linux·运维·ubuntu·用户管理·权限·useradd
天远API16 小时前
零信任架构实战:基于天远人车核验加强版构建自动化商用车承保核验网关
运维·人工智能·架构·自动化