【kubernetes】为命名空间Namespace创建 资源配额

2024-08-25 03:12

本文主要是介绍【kubernetes】为命名空间Namespace创建 资源配额,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

命名空间Namespace是k8s集群级别的资源。

可以给不同的用户/租户/环境或项目,创建不同的命名空间。如:开发,测试,生成分别创建各自的命名空间。

它的底层依赖同一个物理集群。

1,创建命名空间

# 创建命名空间
kubectl create ns[namespace] ceshi
# 查看命名空间
kubectl get ns[namespace]

2,资源配额

资源配额:resourcequota

limits.cpu 所有非终止状态的 Pod,其 CPU 限额总量不能超过该值。
limits.memory 所有非终止状态的 Pod,其内存限额总量不能超过该值。
requests.cpu 所有非终止状态的 Pod,其 CPU 需求总量不能超过该值。
requests.memory 所有非终止状态的 Pod,其内存需求总量不能超过该值。

# vi resource.yamlapiVersion: v1
kind: ResourceQuota
metadata:labels:app: resourcename: rescourc-ceshinamespace: ceshi  # 针对哪个命名空间进行资源配额
spec:hard:limits.cpu: 2        # 最大cpu内核为2limits.memory: 2Gi   # 最大内存为2Grequests.cpu: 4      # 请求cpu数requests.memory: 4Gi # 需求内存总值

创建资源配额:

kubectl apply -f resource.yamlkubectl get resourcequota -n ceshi# 直接看到限制的具体参数:
NAME             AGE   REQUEST                                     LIMIT
rescourc-ceshi   10m   requests.cpu: 0/4, requests.memory: 0/4Gi   limits.cpu: 0/2, limits.memory: 0/2Gi

3,在命名空间ceshi中,创建pod的yaml文件

分别调试资源的参数值,看看得出:超出限制后,pod创建失败!

# resource-pod.yamlapiVersion: v1
kind: Pod
metadata:name: resource-podnamespace: ceshilabels:app: resource-podzuoz: mdy
spec:containers:- name: resource-podimage: xianchao/tomcat-8.5-jre8:v1imagePullPolicy: IfNotPresentports:- containerPort: 8080resources:limits:memory: "5Gi"   # 超出资源配置的最大内存数为4Gicpu: 2requests:memory: "100Mi"cpu: "500m"

执行命令kubectl apply -f resource-pod.yaml 报错:容量超限

[root@master namespace]# kubectl apply -f resource-pod.yaml 
Error from server (Forbidden): error when creating "resource-pod.yaml": pods "resource-pod" is forbidden: exceeded quota: rescourc-ceshi, requested: limits.memory=5Gi, used: limits.memory=0, limited: limits.memory=2Gi

更改小于限额的内存大小:

resources:limits:memory: "1Gi"   # 超出资源配置的最大内存数为4Gicpu: 2requests:memory: "100Mi"cpu: "500m"

再次创建,成功生成!!

这篇关于【kubernetes】为命名空间Namespace创建 资源配额的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1104381

相关文章

C++中RAII资源获取即初始化

《C++中RAII资源获取即初始化》RAII通过构造/析构自动管理资源生命周期,确保安全释放,本文就来介绍一下C++中的RAII技术及其应用,具有一定的参考价值,感兴趣的可以了解一下... 目录一、核心原理与机制二、标准库中的RAII实现三、自定义RAII类设计原则四、常见应用场景1. 内存管理2. 文件操

Python中使用uv创建环境及原理举例详解

《Python中使用uv创建环境及原理举例详解》uv是Astral团队开发的高性能Python工具,整合包管理、虚拟环境、Python版本控制等功能,:本文主要介绍Python中使用uv创建环境及... 目录一、uv工具简介核心特点:二、安装uv1. 通过pip安装2. 通过脚本安装验证安装:配置镜像源(可

Java中实现线程的创建和启动的方法

《Java中实现线程的创建和启动的方法》在Java中,实现线程的创建和启动是两个不同但紧密相关的概念,理解为什么要启动线程(调用start()方法)而非直接调用run()方法,是掌握多线程编程的关键,... 目录1. 线程的生命周期2. start() vs run() 的本质区别3. 为什么必须通过 st

Macos创建python虚拟环境的详细步骤教学

《Macos创建python虚拟环境的详细步骤教学》在macOS上创建Python虚拟环境主要通过Python内置的venv模块实现,也可使用第三方工具如virtualenv,下面小编来和大家简单聊聊... 目录一、使用 python 内置 venv 模块(推荐)二、使用 virtualenv(兼容旧版 P

MySQL启动报错:InnoDB表空间丢失问题及解决方法

《MySQL启动报错:InnoDB表空间丢失问题及解决方法》在启动MySQL时,遇到了InnoDB:Tablespace5975wasnotfound,该错误表明MySQL在启动过程中无法找到指定的s... 目录mysql 启动报错:InnoDB 表空间丢失问题及解决方法错误分析解决方案1. 启用 inno

Linux lvm实例之如何创建一个专用于MySQL数据存储的LVM卷组

《Linuxlvm实例之如何创建一个专用于MySQL数据存储的LVM卷组》:本文主要介绍使用Linux创建一个专用于MySQL数据存储的LVM卷组的实例,具有很好的参考价值,希望对大家有所帮助,... 目录在Centos 7上创建卷China编程组并配置mysql数据目录1. 检查现有磁盘2. 创建物理卷3. 创

在Java中基于Geotools对PostGIS数据库的空间查询实践教程

《在Java中基于Geotools对PostGIS数据库的空间查询实践教程》本文将深入探讨这一实践,从连接配置到复杂空间查询操作,包括点查询、区域范围查询以及空间关系判断等,全方位展示如何在Java环... 目录前言一、相关技术背景介绍1、评价对象AOI2、数据处理流程二、对AOI空间范围查询实践1、空间查

MySQL表空间结构详解表空间到段页操作

《MySQL表空间结构详解表空间到段页操作》在MySQL架构和存储引擎专题中介绍了使用不同存储引擎创建表时生成的表空间数据文件,在本章节主要介绍使用InnoDB存储引擎创建表时生成的表空间数据文件,对... 目录️‍一、什么是表空间结构1.1 表空间与表空间文件的关系是什么?️‍二、用户数据在表空间中是怎么

CentOS7增加Swap空间的两种方法

《CentOS7增加Swap空间的两种方法》当服务器物理内存不足时,增加Swap空间可以作为虚拟内存使用,帮助系统处理内存压力,本文给大家介绍了CentOS7增加Swap空间的两种方法:创建新的Swa... 目录在Centos 7上增加Swap空间的方法方法一:创建新的Swap文件(推荐)方法二:调整Sww

浅谈Redis Key 命名规范文档

《浅谈RedisKey命名规范文档》本文介绍了Redis键名命名规范,包括命名格式、具体规范、数据类型扩展命名、时间敏感型键名、规范总结以及实际应用示例,感兴趣的可以了解一下... 目录1. 命名格式格式模板:示例:2. 具体规范2.1 小写命名2.2 使用冒号分隔层级2.3 标识符命名3. 数据类型扩展命