pod设置资源请求和限制

设置资源请求和限制

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

实验步骤:

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

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

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

创建

1、创建namespace

kubectl create namespace nginx-test

2、编写yaml文件。

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

# /kubeapi/data/project4/nginx-test.yamlapiVersion: apps/v1
kind: Deployment
metadata:name: nginx-testnamespace: nginx-test
spec:replicas: 3   #设置运行的Pod副本数为3selector:matchLabels:app: nginx-testtemplate:metadata:labels:app: nginx-testspec:containers:- name: nginx-testimage: nginx:1.18resources:requests:  #容器所需的最少资源memory: "64Mi"  #请求64MiB内存cpu: "250m"  #请求250m CPU(0.25个CPU核)limits:  #容器可以使用的最大资源memory: "128Mi" #限制为128MiB内存cpu: "500m" #限制为500m CPU(0.5个CPU核)ports:- containerPort: 80 #容器端口映射,暴露80端口

pod启动并运行成功

在这里插入图片描述

3、验证

在这里插入图片描述


测试资源限制

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


扩展

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

1、ResourceQuota

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

apiVersion: v1
kind: ResourceQuota
metadata:name: qt-quotanamespace: 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-limitsnamespace: 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.mzph.cn/pingmian/31775.shtml

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

相关文章

智能汽车 UI 风格独具魅力

智能汽车 UI 风格独具魅力

揭秘无局放电源:定义、工作原理及其在工业设备中的重要性

当代社会对电源安全性,精密性要求越来也高,对电源设备的需求也越来越高。无局放电源作为电源设备中的一种,由于其独特的优点,越来越受到各行各业的关注。目前,无局放电源在全球范围内得到了广泛应用,尤其是…

OS复习笔记ch11-4

磁盘调度 磁盘的物理结构 经典的温彻斯特盘 其中的几个概念: 盘面:可以看成是一个操场的平面,不同的盘面通过中间的轴串在一起磁道:磁道可以看成是操场的跑道,我们知道操场上有外道和内道,最内道中间往…

论文解读:Pandora: 朝着结合自然语言动作与视频状态的通用世界模型发展

论文《Pandora: 朝着结合自然语言动作与视频状态的通用世界模型发展》探索了构建一个高度集成的AI系统,旨在理解自然语言指令并在视频所代表的视觉环境中执行相应操作,从而推进对复杂动态场景的建模与预测能力。以下是该论文的关键点和贡献的详细解读&am…

针对河南大学数据结构傻逼学堂在线的自动化脚本

首先展示一下我们的答案 {1: [对象], 2: [关系]} {1: [非数值计算], 2: [操作]} {1: [线性表]} [D] [B] [B] [C] [C] {1: [操作]} {1: [数据关系, 数据对象上关系的集合]} {1: [性质相同]} {1: [物理结构]} {1: [存储结构, 操作表示]} [C] [B] [D] [B] [D] [true] [false] [fa…

Polyp-DDPM: Diffusion-Based Semantic Polyp Synthesis for Enhanced Segmentation

Polyp- ddpm:基于扩散的语义Polyp合成增强分割 摘要: 本研究介绍了一种基于扩散的方法Polyp-DDPM,该方法用于生成假面条件下息肉的逼真图像,旨在增强胃肠道息肉的分割。我们的方法解决了与医学图像相关的数据限制、高注释成本和隐私问题的挑…

pywinauto入门指南:轻松掌握Windows GUI自动化

pywinauto库概述: pywinauto是一个Python库,主要用于自动化Windows应用程序的GUI测试和操作.它提供了一组简单而强大的API,可以模拟用户与Windows应用程序的交互,包括点击按钮、输入文本、选择菜单等操作. 安装 ##pywinauto可以通过pip进行安装,打开命令行运行: pip install…

交叉注意力一脚踹进医学图像分割!新成果精度、效率表现SOTA

为解决传统方法的局限性,研究者们提出了将交叉注意力机制应用于医学图像分割。 交叉注意力机制能更有效地整合来自不同模态/尺度的特征,让模型同时捕捉全局和局部信息,加速学习并减少干扰。这样不仅可以提高分割的精度,还可以减少…

深度解析SD-WAN在企业组网中的应用场景

在现代企业快速发展的网络环境中,SD-WAN技术不仅是实现企业各站点间高效连接的关键,也是满足不同站点对互联网、SaaS云应用和公有云等多种业务需求的理想选择。本文将从企业的WAN业务需求出发,对SD-WAN的组网场景进行全面解析,涵盖…

日元预计明年开始上涨

被称为“日元先生”的前大藏省(现财务省)财务官榊原英资预测,美元兑日元汇率将在今年底或2025年初逐步升至130。他认为,通缩时代已经过去,通货膨胀即将来临。 《日本经济新闻》6月5日报道,日本财务省于5月3…

oracle12c到19c adg搭建(五)dg搭建后进行切换19c进行数据字典升级

一、备库切主库升级 12c切换为19c主库的时候是由低版本到高版本所以cdb和pdb的数据字典需要进行升级才可以让数据与软件版本兼容。 1.1切换 SQL> alter database recover managed standby database finish; Database altered. SQL> alter database commit to switcho…

阿里云使用域名访问部署网站【2024 详细版】

目录 一、注册域名 1.创建信息模板 2.查询注册域名 二、域名设置 1.SSL证书 2.域名解析 3.宝塔设置 一、注册域名 1.创建信息模板 点击右上角【三】-【域名】-【信息模板】-【创建信息模板】- 填写信息 模板分为个人和企业两种,根据情况进行创建即可&…

C++ GPU编程(英伟达CUDA)

安装编译环境 https://developer.download.nvidia.com/compute/cuda/12.5.0/local_installers/cuda_12.5.0_555.85_windows.exe CMakeLists.txt cmake_minimum_required(VERSION 3.10)set(CMAKE_CXX_STANDARD 17) set(CMAKE_BUILD_TYPE Release) #set(CMAKE_CUDA_ARCHITECTUR…

微服务中不同服务使用openfeign 相互调用

首先 我们上文 已经知道了 nacos 的注册服务,现在 我们 在不同服务中相互调用就可以使用openfeign 直接调用,而不是 再写冗余的调用代码啦 首先 我们的微服务组件如下 因为我这个微服务是我在 员工登录demo 中 拆出来的,在userlogin模块中…

【计算机毕业设计】​206校园顺路代送微信小程序

🙊作者简介:拥有多年开发工作经验,分享技术代码帮助学生学习,独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。🌹赠送计算机毕业设计600个选题excel文件,帮助大学选题。赠送开题报告模板&#xff…

qmt量化交易策略小白学习笔记第43期【qmt编程之期货数据--如何获取历史主力合约--原生python】

qmt编程之获取期货数据 qmt更加详细的教程方法,会持续慢慢梳理。 也可找寻博主的历史文章,搜索关键词查看解决方案 ! 感谢关注,咨询免费开通量化回测与获取实盘权限,欢迎和博主联系! 获取历史主力合约 …

Hi3861 OpenHarmony嵌入式应用入门--LiteOS Timer

iteOS Timer(定时器)是LiteOS操作系统中的一个重要组件,它提供了一种基于软件模拟的定时器功能,用于满足在硬件定时器数量不足时的定时需求。 软件定时器:基于系统Tick时钟中断,由软件来模拟的定时器。当经…

【计算机网络体系结构】计算机网络体系结构实验-FTP实验

1. 2. 3. wireshark 第一行:帧Frame 545:要发送的数据块,所抓帧的序号为545,捕获字节数等于传送字节数:451字节第二行:源Mac地址为a4:bb:6d:6e:28:9a;目标Mac地址为24:00:fa:e4:df:d8第三行&…

深度学习Day-21:ResNet与DenseNet结合

🍨 本文为:[🔗365天深度学习训练营] 中的学习记录博客 🍖 原作者:[K同学啊 | 接辅导、项目定制] 要求: 探索ResNet与DenseNet结合的可能性根据模型特性构建新的模型框架验证改进后模型的效果 一、 基础配…

【linux】dup文件描述符复制函数和管道详解

目录 一、文件描述符复制 1、dup函数(复制文件描述符) ​编辑 2、dup2函数(复制文件描述符) ​编辑 二、无名管道pipe 1、概述 2、无名管道的创建 3、无名管道读写的特点 4、无名管道ps -A | grep bash实现 三、有名管道FI…