【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

相关文章

创建Java keystore文件的完整指南及详细步骤

《创建Javakeystore文件的完整指南及详细步骤》本文详解Java中keystore的创建与配置,涵盖私钥管理、自签名与CA证书生成、SSL/TLS应用,强调安全存储及验证机制,确保通信加密和... 目录1. 秘密键(私钥)的理解与管理私钥的定义与重要性私钥的管理策略私钥的生成与存储2. 证书的创建与

Ubuntu如何分配​​未使用的空间

《Ubuntu如何分配​​未使用的空间》Ubuntu磁盘空间不足,实际未分配空间8.2G因LVM卷组名称格式差异(双破折号误写)导致无法扩展,确认正确卷组名后,使用lvextend和resize2fs... 目录1:原因2:操作3:报错5:解决问题:确认卷组名称​6:再次操作7:验证扩展是否成功8:问题已解

MySQL之InnoDB存储页的独立表空间解读

《MySQL之InnoDB存储页的独立表空间解读》:本文主要介绍MySQL之InnoDB存储页的独立表空间,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、背景2、独立表空间【1】表空间大小【2】区【3】组【4】段【5】区的类型【6】XDES Entry区结构【

python如何创建等差数列

《python如何创建等差数列》:本文主要介绍python如何创建等差数列的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录python创建等差数列例题运行代码回车输出结果总结python创建等差数列import numpy as np x=int(in

怎么用idea创建一个SpringBoot项目

《怎么用idea创建一个SpringBoot项目》本文介绍了在IDEA中创建SpringBoot项目的步骤,包括环境准备(JDK1.8+、Maven3.2.5+)、使用SpringInitializr... 目录如何在idea中创建一个SpringBoot项目环境准备1.1打开IDEA,点击New新建一个项

如何使用Maven创建web目录结构

《如何使用Maven创建web目录结构》:本文主要介绍如何使用Maven创建web目录结构的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录创建web工程第一步第二步第三步第四步第五步第六步第七步总结创建web工程第一步js通过Maven骨架创pytho

MySQL 用户创建与授权最佳实践

《MySQL用户创建与授权最佳实践》在MySQL中,用户管理和权限控制是数据库安全的重要组成部分,下面详细介绍如何在MySQL中创建用户并授予适当的权限,感兴趣的朋友跟随小编一起看看吧... 目录mysql 用户创建与授权详解一、MySQL用户管理基础1. 用户账户组成2. 查看现有用户二、创建用户1. 基

CSS实现元素撑满剩余空间的五种方法

《CSS实现元素撑满剩余空间的五种方法》在日常开发中,我们经常需要让某个元素占据容器的剩余空间,本文将介绍5种不同的方法来实现这个需求,并分析各种方法的优缺点,感兴趣的朋友一起看看吧... css实现元素撑满剩余空间的5种方法 在日常开发中,我们经常需要让某个元素占据容器的剩余空间。这是一个常见的布局需求

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. 通过脚本安装验证安装:配置镜像源(可