k8s设置pod资源请求和限制

news2024/11/15 15:35:47

设置资源请求和限制

实验目标:
学习如何为 Pod 设置资源请求和限制,以优化集群资源分配。

实验步骤:

  • 创建一个 Deployment,并设置 CPU 和内存的资源请求和限制。
  • 使用 kubectl describe 命令查看资源分配情况。
  • 观察资源限制对 Pod 行为的影响。

今天继续我们k8s未做完的实验:设置资源请求和限制

因为我们之前的容器都是未用yaml文件而是直接拉取镜像启动的,今天我们使用配置文件跑nginx,并设置资源请求和限制。

创建

1、创建namespace

kubectl create namespace nginx-test

2、编写yaml文件。

yaml要求:设置资源限制和请求,并指定镜像版本为1.18,

# /kubeapi/data/project4/nginx-test.yaml

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-test
  namespace: nginx-test
spec:
  replicas: 1  #设置1个副本运行
  selector:
    matchLabels:
      app: nginx-test
  template:
    metadata:
      labels:
        app: nginx-test
    spec:
      containers:
      - name: nginx-test
        image: nginx:1.18
        resources:
          requests:  #容器所需的最少资源
            memory: "4Mi"  #请求4MiB内存
            cpu: "2m"  #请求250m CPU(0.0002个CPU核)
          limits:  #容器可以使用的最大资源
            memory: "8Mi" #限制为8MiB内存
            cpu: "4m" #限制为500m CPU(0.0004个CPU核)
        ports:
        - containerPort: 80 #容器端口映射,暴露80端口

pod启动并运行成功

在这里插入图片描述

3、验证

在这里插入图片描述


测试资源限制

由于nginx的性能过于强悍。目前又并未安装 Prometheus监控,单纯采用脚本去模拟并发连接,对于设置的资源限制一直控制不好量。模拟并未有明显的结果。还在寻求其他办法。 后续有等装了监控后看效果图会更加明显一点


扩展

除了在容器创建时的yaml文件中指定资源限制,在namespace中也可以这么做。这样的话每个运行在此namespace中的容器将自动限制资源使用

1、ResourceQuota

ResourceQuota 允许限制命名空间中可用的资源总量,如CPU、内存、存储以及Pod的数量等。通过设置ResourceQuota,可以确保一个命名空间不会超出分配的资源配额。

apiVersion: v1
kind: ResourceQuota
metadata:
  name: qt-quota
  namespace: qt-name
spec:
  hard:
    pods: "10"
    requests.cpu: "2"
    requests.memory: "2Gi"
    limits.cpu: "4"
    limits.memory: "4Gi"

2、LimitRange

LimitRange 允许为命名空间中的Pod和容器设置默认的资源请求和限制。可以确保新创建的Pod和容器具有合理的资源限制。

apiVersion: v1
kind: LimitRange
metadata:
  name: qt-limits
  namespace: qt-name
spec:
  limits:
  - default:
      cpu: "500m"
      memory: "256Mi"
    defaultRequest:
      cpu: "250m"
      memory: "128Mi"
    type: Container

3、示例

创建命名空间

kubectl create namespace qt-name

应用 ResourceQuota

kubectl apply -f resource-quota.yaml

应用 LimitRange

kubectl apply -f limit-range.yaml

创建实列验证

kubectl create deployment qt-nginx -n qt-name --image nginx:alpine --replicas=3

在这里插入图片描述

查看命名空间中的 ResourceQuotaLimitRange 配置

kubectl get resourcequota -n qt-name

在这里插入图片描述
这和我们上述限制的,资源要求是一致的

查看容器内的资源限制情况
在这里插入图片描述

上述实验可知通过设置 ResourceQuotaLimitRange,可以有效地管理和控制命名空间中的资源使用情况,确保资源的合理分配和使用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1861163.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2024年虚拟现实、图像和信号处理国际学术会议(ICVISP 2024,8月2日-4)

2024年虚拟现实、图像和信号处理国际学术会议(ICVISP 2024)将于2024年8月2-4日在中国厦门召开。ICVISP 2024将围绕“虚拟现实、图像和信号处理”的最新研究领域, 为来自国内外高等院校、科学研究所、企事业单位的专家、教授、学者、工程师等提…

Linux常用基本命令

linux目录 1.查看linux本机ip ip addr 2.新建文件夹 mkdir 文件夹名 3.新建文件 touch 文件名.后缀 4.删除文件 rm 文件名.后缀 5.删除文件 rm -r 文件名 6.不询问直接删除 rm -rf 文件名/文件名/ 7.显示目录下文件,文件夹 作用:显示指定目…

鸿蒙应用开发 - 软件安装 - DevEco

第一步 前往下载点下载安装包下载中心 | 华为开发者联盟-HarmonyOS开发者官网,共建鸿蒙生态https://developer.huawei.com/consumer/cn/download/ 根据自身需求下载对应安装包 第二步 点击打开安装包,配置安装路径 我个人选择放E盘,避免占用c盘空间 第三步 …

00_Python核心编程

Python入门 一 Python初识 1 Python的历史 Python的历史python是蟒蛇的含义python是一种解释型的,面向对象的,带有动态语义的高级程序设计语言. python是一种使你在编程时能够保持自己的风格的程序设计语言,你不用费什么劲就可以实现你想要的功能,并且编写的程序清晰易懂. …

宠物空气净化器哪家强?希喂、小米、安德迈谁最具性价比?

猫咪掉毛是一种正常的生理现象,每只猫咪都会周期性地更换毛发。但是,当您发现家里的沙发、地毯、衣物、甚至空气中都漂浮着难以清理的猫浮毛时。还是会很烦恼,最重要的是空气中的浮毛如果不及时清理的话长时间停留在空气中会对身体造成一定威…

苏州大学气膜综合馆成为师生活动新中心—轻空间

苏州大学应用技术学院的气膜综合馆自建成以来,已成为校园内的热门活动场所。由轻空间(江苏)膜科技有限公司(以下简称“轻空间”)全力打造,这座现代化、环保的多功能运动场馆,不仅为师生提供了一…

小米汽车SU7全色系H5自适应展示源码

为了满足广大车迷和潜在消费者对小米汽车SU7全色系的视觉体验需求,我们特别推出了一款基于HTML的自适应H5源码,用于在线展示小米汽车SU7的全色系。这款源码不仅兼容各种设备和屏幕尺寸,而且能够完美地呈现出小米汽车SU7的优雅外观和精致细节。…

vue3-openlayers 轨迹回放(历史轨迹)(ol-animation-path实现)

本篇介绍一下使用vue3-openlayers轨迹回放(历史轨迹)(ol-animation-path实现) 1 需求 轨迹回放(历史轨迹)实时轨迹 2 分析 轨迹回放(历史轨迹),一般是一次性拿到所有…

高效记录收支明细:揭秘如何通过曲线图精准分析每月开销

在理财的道路上,你是否曾感到迷茫和无力?每个月的开销如同流水般悄无声息地滑过指尖,但你却始终难以掌握自己的财务脉络。今天,我们为你揭秘一个全新的理财方法——通过曲线图精准分析每月开销,让你的财务生活焕发智慧…

java设计模式(二)工厂方法模式(pattern of factory method)

1、模式介绍: 工厂方法模式(pattern of factory method)是一种创建型设计模式,它定义了一个用于创建对象的接口,但将实际创建对象的工作延迟到子类中,这样可以在不改变整体结构的情况下,通过子…

java编写的界面可以调用python吗

如何使用Java调用Python程序 本文为大家介绍如何java调用python方法,供大家参考。 实际工程项目中可能会用到Java和python两种语言结合进行,这样就会涉及到一个问题,就是怎么用Java程序来调用已经写好的python脚本呢,一共有三种…

Verilog HDL语法入门系列(四):Verilog的语言操作符规则(下)

目录 7.移位操作符8.关系操作符9.相等操作符9.1逻辑等与case等9.2逻辑等与逻辑不等9.3 case等与case不等 10.条件操作符11.级联操作符12.复制 微信公众号获取更多FPGA相关源码&#xff1a; 7.移位操作符 符号含义>>逻辑右移<<逻辑左移 移位操作符对其左边的操作…

JVM虚拟机的组成

一、为什么要学习 JVM &#xff1f; 1. “ ⾯试造⽕箭&#xff0c;⼯作拧螺丝” &#xff0c; JVM 属于⾯试官特别喜欢提问的知识点&#xff1b; 2. 未来在⼯作场景中&#xff0c;也许你会遇到以下场景&#xff1a; 线上系统突然宕机&#xff0c;系统⽆法访问&#xff0c;甚⾄直…

IDS Gaia-X Catena-X Manufacturing-X的关系

来源&#xff1a;小盟科普丨Catena-X数据空间在汽车领域落地https://mp.weixin.qq.com/s/Ftp0UGAohsh4ltLn3DylAw

苹果电脑清理垃圾怎么清理 macbook怎么清理电脑垃圾文件 macos优化软件 cleanmymac怎么使用

在选择电脑时&#xff0c;不少人都会选择拥有高性能和轻薄机身的mac。一开始&#xff0c;它确实如我们所期待的那样健步如飞&#xff0c;然而&#xff0c;随着时间的流逝&#xff0c;有没有觉得您的Mac有时候像是需要一个好的春季大扫除一样&#xff1f;随着我们不断使用电脑&a…

IMU应用于颈部健康监测

随着电脑成为日常工作的必备工具&#xff0c;长时间使用电脑导致的颈部疼痛问题日益受到关注。近日&#xff0c;一项创新研究利用IMU开发了一种新型监测系统&#xff0c;用来监测电脑使用者的颈部姿势和疼痛情况。 在为期两天的实验中&#xff0c;8名办公室工作者分别在静态和…

2024年世界移动大会(MWC Shanghai)——飞睿智能诚邀您,超宽带技术定位测距传输全家桶

超宽带UWB芯片SIP系列&#xff1a; FS100 FS200 超宽带UWB标签系列&#xff1a; FU3620-2 FUP410-1 超宽带UWB应用系列&#xff1a; FMFB200A&#xff08;门锁方案&#xff09; FU2625-2&#xff08;TAG方案&#xff09; FPDB200A&#xff08;音频&#xff09; FSTB200…

中学政史地杂志中学政史地杂志社中学政史地编辑部2024年第4期目录

每月时政 时政要闻&#xff08;2024年3月&#xff09; 李伟; 3-4 热点聚焦 全面加强基础设施建设,积极扩大有效投资 刘华; 5-7《中学生政史地》投稿&#xff1a;cn7kantougao163.com 蒙古国努力应对冰雪灾害 张仁杰; 8-10 复习指导 高中政治经济全球化内容复习…

【SQL Server数据库】数据的增删改操作

目录 一、用SQL语句完成下列功能。 1、新开设一门课程&#xff0c;名叫网络安全与防火墙&#xff0c;学时40&#xff0c;编号为“0118”&#xff0c;主要介绍网络的安全与主要的防火墙软件。 2、先建立monitor表&#xff0c;其结构与student表大致一样&#xff0e;…

亚马逊运营专词(一)

许多新入驻亚马逊的大陆卖家&#xff0c;对亚马逊的专业词汇还不太了解&#xff0c;导致在运营店铺的过程出现一些问题&#xff0c;今天就来讲解一下亚马逊常用的运营专词&#xff0c;方便新手卖家深入了解。 1. Listing&#xff1a;亚马逊listing指的是产品的详情页面&#xf…