k8s的资源说明 cpu 内存 requests usage limits

news/2025/2/22 2:50:35/

一、k8s资源配置

在 Kubernetes 中,有三个非常重要的资源概念,分别是资源请求(Requests)、资源使用率(Usage) 和 资源限制(Limits)

1、资源请求 Requests

资源请求 是 Pod 启动时向 Kubernetes 调度器声明的最低资源需求。调度器会根据这些请求值来决定是否将 Pod 调度到某个节点上。
作用

  • 资源预留:确保 Pod 启动时有足够的资源可用。
  • 调度决策:调度器会检查节点的可用资源是否满足 Pod 的资源请求,只有满足条件时才会将 Pod 调度到该节点。
  • 服务质量(QoS):Kubernetes 根据资源请求和限制将 Pod 分为不同的服务质量等级(如 Guaranteed、Burstable、BestEffort)。
    示例
resources:requests:memory: "4Gi"cpu: "2"
  • memory: “4Gi”:Pod 请求 4GB 内存。
  • cpu: “2”:Pod 请求 2 核 CPU。
  • cpu:“100m”:Pod请求100毫核,也就是0.1核CPU

2、资源使用率 Usages

资源使用率 是 Pod 在运行时实际使用的资源量。它可以通过工具(如 kubectl top、metrics-server 或 Prometheus)实时监控。
作用

  • 监控和分析:帮助管理员了解 Pod 的实际资源使用情况。
  • 性能优化:根据实际使用情况调整资源请求和限制,优化资源利用率

3、资源限制率 Limits

资源限制 是 Pod 允许使用的最大资源量。它用于防止 Pod 超过分配的资源,避免对其他 Pod 造成影响。
** 作用**

  • 资源限制:防止 Pod 使用超过分配的资源。
  • 服务质量(QoS):与资源请求一起决定 Pod 的服务质量等级。
  • 避免过载:防止节点过载,确保系统的稳定性。
    示例
resources:limits:memory: "8Gi"cpu: "4"
  • memory: “8Gi”:Pod 的内存使用上限为 8GB。
  • cpu: “4”:Pod 的 CPU 使用上限为 4 核。

4、关系

资源请求(Requests)

  • 调度决策:调度器根据资源请求决定是否将 Pod 调度到某个节点。
  • 资源预留:确保 Pod 启动时有足够的资源可用。
  • 服务质量:影响 Pod 的服务质量等级。

资源使用率(Usage)

  • 实时监控:反映 Pod 在运行时的实际资源使用情况。
  • 性能优化:帮助管理员调整资源请求和限制。

资源限制(Limits)

  • 资源上限:防止 Pod 使用超过分配的资源。
  • 服务质量:与资源请求一起决定 Pod 的服务质量等级。
  • 避免过载:防止节点过载,确保系统的稳定性。

二、资源使用情况命令

1、查看服务器cpu使用情况命令

其中服务器1核的cpu是100%,若服务器是4核,cpu可达到400%


top

2、查看Kubernetes中pod资源使用情况

Kubernetes中查看cpu资源使用情况是按照k8s集群的总数进行计算的,上限是100%

kubectl top pod <pod-name>

3、查看k8s中pod的资源请求和限制

kubectl describe pod <pod-name> -n <namespace>

4、所有pod的基本信息

kubectl get pods 命令可以列出所有 Pod 的基本信息,但默认情况下不会显示资源请求和限制。要查看这些信息,可以使用 -o json 或 -o yaml 选项。

kubectl get pod <pod-name> -n <namespace> -o json

在 JSON 输出中,查找 spec.containers[].resources.requests 和 spec.containers[].resources.limits。

5、查看每个节点的资源请求和限制

kubectl describe nodes

6、查看每个节点的资源使用情况

kubectl top nodes

http://www.ppmy.cn/news/1574038.html

相关文章

Spring Boot 常用注解详解

文章目录 Spring Boot 常用注解详解1. Spring Boot 核心注解1.1 SpringBootApplication1.2 Configuration1.3 ComponentScan 2. Bean 相关注解2.1 Bean2.2 Component2.3 Service2.4 Repository2.5 Controller 和 RestController 3. 依赖注入注解3.1 Autowired3.2 Qualifier3.3 …

了解几个 HTML 标签属性,实现优化页面加载性能

引言 当浏览器解析 HTML 文档时&#xff0c;如果遇到一个普通的脚本标签&#xff08;不带 async 或 defer 属性&#xff09;&#xff0c;浏览器会立即下载并执行该脚本&#xff0c;同时阻塞 HTML 解析过程。这意味着&#xff0c;如果脚本文件较大或者网络连接较慢&#xff0c;…

【设计模式精讲】创建型模式之原型模式(深克隆、浅克隆)

文章目录 第四章 创建型模式4.5 原型模式4.5.1 原型模式介绍4.5.2 原型模式原理4.5.3 深克隆与浅克隆4.5.4 原型模式应用实例4.5.5 原型模式总结 个人主页&#xff1a;道友老李 欢迎加入社区&#xff1a;道友老李的学习社区 第四章 创建型模式 4.5 原型模式 4.5.1 原型模式介…

基于机器学习的水文数据采集预测与可视化分析系统

【机器学习】基于机器学习的水文数据采集预测与可视化分析系统&#xff08;完整系统源码开发笔记详细部署教程&#xff09;✅ 目录 一、项目简介二、项目界面展示三、项目视频展示 一、项目简介 系统采用Python及Flask框架构建Web服务端&#xff0c;结合PyMySQL与MySQL实现数据…

Zabbix 7.2实操指南:基于OpenEuler系统安装Zabbix 7.2

原文出处&#xff1a;乐维社区 部署环境 openEuler 22.03 LTS PHP 8.0 Apache Mysql 8.0 MySQL数据库 6.0 以上版本需要安装mysql8.0以上版本的数据库&#xff08;以mysql为例子&#xff09;。 欧拉系统自带 mysql8.0 的源&#xff0c;无需要安装额外的源。 安装mysql …

基于javaweb的SpringBoot体检管理系统设计和实现(源码+文档+部署讲解)

技术范围&#xff1a;SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容&#xff1a;免费功能设计、开题报告、任务书、中期检查PPT、系统功能实现、代码编写、论文编写和辅导、论…

Html5学习教程,从入门到精通,HTML5 简介语法知识点及案例代码(1)

HTML5 简介 HTML5 是最新的 HTML 标准&#xff0c;它引入了许多新特性&#xff0c;使网页开发更加强大和灵活。以下是一些关键的 HTML5 语法知识点&#xff1a; 1. 文档类型声明 (DOCTYPE) HTML5 的文档类型声明非常简单&#xff1a; <!DOCTYPE html>2. 字符编码 HT…

Arduino 第十六章:pir红外人体传感器练习

Arduino 第十六章&#xff1a;PIR 传感器练习 一、引言 在 Arduino 的众多有趣项目中&#xff0c;传感器的应用是非常重要的一部分。今天我们要学习的主角是 PIR&#xff08;被动红外&#xff09;传感器。PIR 传感器能够检测人体发出的红外线&#xff0c;常用于安防系统、自动…