k8s中配置namespace的最小和最大内存
命名空间中运行的容器使用的内存的最小值和最大值。 你可以在 LimitRange 对象中指定最小和最大内存值。如果 Pod 不满足 LimitRange 施加的约束,则无法在命名空间中创建它。
创建namespace
kubectl create namespace test
编写LimitRange 对象文件
apiVersion: v1 kind: LimitRange metadata:name: mem-min-demonamespace: test spec:limits:- max:memory: 1Gimin:memory: 500Mitype: Container
可以看到内存的最大限制是1GB,最小请求500MB
注:如果不知道apiVersion版本,可以使用一下命令查看 kubectl explain limitrange
[root@master-2-4 kubernetes]# kubectl explain limitrange
KIND: LimitRange
VERSION: v1DESCRIPTION:LimitRange sets resource usage limits for each kind of resource in aNamespace.FIELDS:apiVersion <string>APIVersion defines the versioned schema of this representation of anobject. Servers should convert recognized schemas to the latest internalvalue, and may reject unrecognized values. More info:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resourceskind <string>Kind is a string value representing the REST resource this objectrepresents. Servers may infer this from the endpoint the client submitsrequests to. Cannot be updated. In CamelCase. More info:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kindsmetadata <Object>Standard object's metadata. More info:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadataspec <Object>Spec defines the limits enforced. More info:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
- 使用pod测试
- 尝试创建一个超出内存限制的pod
apiVersion: v1
kind: Pod
metadata:name: nginxnamespace: test
spec:containers:- name: nginximage: nginx:1.20imagePullPolicy: IfNotPresentresources:limits:memory: 1800Mirequests:memory: 500Mi
[root@master-2-4 kubernetes]# kubectl apply -f nginx.yaml
Error from server (Forbidden): error when creating "nginx.yaml": pods "nginx" is forbidden: maximum memory usage per Container is 1Gi, but limit is 1800Mi
输出结果显示 Pod 没有创建成功,因为容器声明的内存限制太大了
2. 尝试创建一个小于内存限制的pod
apiVersion: v1
kind: Pod
metadata:name: nginxnamespace: test
spec:containers:- name: nginximage: nginx:1.20imagePullPolicy: IfNotPresentresources:limits:memory: 600Mirequests:memory: 300Mi
[root@master-2-4 kubernetes]# kubectl apply -f nginx.yaml
Error from server (Forbidden): error when creating "nginx.yaml": pods "nginx" is forbidden: minimum memory usage per Container is 500Mi, but request is 300Mi
输出结果显示 Pod 没有创建成功,因为容器声明的内存请求太小了
设置内存最小和最大限制的动因
作为集群管理员,你可能想规定 Pod 可以使用的内存总量限制。例如:
- 集群的每个节点有 2 GB 内存。你不想接受任何请求超过 2 GB 的 Pod,因为集群中没有节点可以满足。
- 集群由生产部门和开发部门共享。允许产品部门的负载最多耗用 8 GB 内存, 但是开发部门的负载最多可使用 512 MiB。 这时,可以为产品部门和开发部门分别创建名字空间,并为各个名字空间设置内存约束。
k8s中配置namespace的最小和最大内存相关推荐
- 容器编排技术 -- Kubernetes 为 Namespace 设置最小和最大内存限制
容器编排技术 -- Kubernetes 为 Namespace 设置最小和最大内存限制 1 Before you begin 2 创建一个 namespace 3 创建一个 LimitRange 和 ...
- 【Android FFMPEG 开发】Android Studio 中 配置 FFMPEG 库最小兼容版本 ( undefined reference to 'atof' )
文章目录 FFMPEG 最小兼容版本 注意事项 FFMPEG 最小兼容版本 注意事项 1 . 最小兼容版本 : 在 Ubuntu 中编译 FFMPEG 时 , 需要指定头文件 与 NDK 的依赖库 , ...
- 在 k8s 中配置域名解析
在应用开发中,我们不应把远程服务的 ip 硬编码到应用中.有些同学习惯使用域名来标定远程服务,通过修改解析,来区分开发测试和生产环境,这是一个挺好的习惯. 在 k8s 系统中,我们使用服务名来调用服务 ...
- 容器编排技术 -- Kubernetes 在 Namespace 中配置默认的CPU请求与限额
容器编排技术 -- Kubernetes 在 Namespace 中配置默认的CPU请求与限额 1 Before you begin 2 创建一个命名空间 3 创建一个LimitRange和一个Pod ...
- k8s中namespace资源讲解
前言 环境:centos7.9 docker-ce-20.10.9 kubernetes-version v1.22.6 什么是namespace namespace是kubernetes系统中的一种 ...
- K8S中如何跨namespace 访问服务?为什么ping不通ClusterIP?
1.K8S中如何跨namespace 访问服务? 2.在Pod中为什么ping不通ClusterIP? 简述: Rancher2.0中的一个用户,在K8S环境中,创建两个namespace,对应用进行 ...
- 【K8S实战系列-nignx-2】k8s中configmap挂载配置nginx.conf
[K8S实战系统-nignx-2]k8s中configmap挂载配置nginx.conf 1. ConfigMap是什么 ConfigMap作用是存储不加密的数据到etcd中,让Pod以变量或数据卷V ...
- kubernetes(三)k8s中通信和Service
目录 1.同一个Pod中的容器通信 2.集群内Pod之间的通信 3 集群内Service-Cluster IP 4.外部服务访问集群中的Pod 4.1 Service-NodePort 4.2.Ser ...
- 关于K8s中资源配置范围管理(LimitRange)的一些笔记
写在前面 分享一些 K8s 中 LimitRange 的笔记 博文内容涉及: LimitRange 简单介绍 LimitRange 资源对象创建使用 准入检查和资源约束的一些 Demo 理解不足小伙伴 ...
最新文章
- pycharm 在ubuntu18.04 20.04以上保存在侧边栏的方法
- Mac-远程连接Mac
- C++实现的简单vector
- verdi使用linux命令,verdi工具的使用
- python编程入门经典实例-终于明了python入门经典实例
- 掌握 Ajax,第 10 部分: 使用 JSON 进行数据传输
- 11种必知的word embeddings模型
- boost::callable_traits的return_type_t的测试程序
- Recovery Rate违约后可回收比率
- 飞利浦弃意已决 冠捷顺势接手
- django 1.8 官方文档翻译:8-5 加密签名
- sort,uniq,wc指令简单用法
- 真正的大学老师,是那些无需打卡和考评,也会不可遏止地要去读书写作和上课的人...
- 关于RTB实时竞价的基本原理
- MyBatis官方文档——入门部分
- 【UV打印机】RYPC打印软件教程(一)-软件简介
- html%2b怎么转换成加号,url 参数的加号变成空格处理
- c语言intmain作用,c语言intmain()是什么意思
- 智能健身房风靡全国,但有90%的人却掉进“伪智能”陷阱!
- 计算机私密相册安全吗,手机照片到底藏在哪里才不会被别人随便就翻看到
热门文章
- 软件开发时,比较好的辅助软件推荐
- STEP标准描述方法-EXPRESS语言
- kali下载速度慢_Linux系统软件安装更新下载太慢解决方法(转载)
- 解决 Adobe Acrobat Pro DC更新后提示登录激活问题
- MultipartFile 上传文件工具类
- java 使用LocalDate根据起始时间和结束时间算出周的列表
- 问题解决:java.lang.IllegalArgumentException: character to be escaped is missing
- 【模电】习题知识点总结(持续更新ing)
- 微信电脑端双击不能放大图片怎么回事_IOS 微信 聊天双击放大图片操作
- lisp语言如何画小红点_用AutoLISP语言编程实现参数化绘图