[置顶] kubernetes资源对象--ResourceQuotas
概念
Resource Quotas(资源配额,简称quota)是对namespace进行资源配额,限制资源使用的一种策略。 K8S是一个多用户架构,当多用户或者团队共享一个K8S系统时,SA使用quota防止用户(基于namespace的)的资源抢占,定义好资源分配策略。
Quota应用在Namespace上,默认情况下,没有Resource Quota的,需要另外创建Quota,并且每个Namespace最多只能有一个Quota对象。
限额资源类型
计算资源:limits.cpu、requests.cpu、limits.memory、requests.memory
存储资源,包括存储资源的总量以及指定storage class的总量
requests.storage:存储资源总量,如500Gi
persistentvolumeclaims:pvc的个数
.storageclass.storage.k8s.io/requests.storage
.storageclass.storage.k8s.io/persistentvolumeclaims
对象数,即可创建的对象的个数
pods,replicationcontrollers,configmaps,secrets,persistentvolumeclaims,services,services.loadbalancers,services.nodeports
使用注意实现
在使用前需确认apiserver的配置文件中的KUBE_ADMISSION_CONTROL是否有ResourceQuota,如果没有需要添加并重启apiserver。
Quota依赖于资源管理器,可以使用资源对象limits或者在创建资源对象是为pod设置资源限制(resources),如果不设置,资源对象无法创建。
当该namespace中的任意个额度达到预设Quota时,将无法创建资源对象。
例子
比如K8S系统共有20核CPU和32GB内存,分配给lykops用户户5核CPU和16GB,分配给B租户5核CPU 和8GB,预留10核CPU和8GB内存。这样,用户中所使用的CPU和内存的总和不能超过指定的资源配额,促使其更合理地使用资源。
kubectl delete -f resourcequota.yaml
cat << EOF > resourcequota.yaml
apiVersion: v1
kind: ResourceQuota
metadata:
namespace: lykops
name: lykops
labels:
project: lykops
app: resourcequota
version: v1
spec:
hard:
pods: 50
requests.cpu: 0.5
requests.memory: 512Mi
limits.cpu: 5
limits.memory: 16Gi
configmaps: 20
persistentvolumeclaims: 20
replicationcontrollers: 20
secrets: 20
services: 50
EOF
kubectl create -f resourcequota.yaml
[置顶] kubernetes资源对象--ResourceQuotas的更多相关文章
- [置顶]
kubernetes资源对象--Label
概念 Label机制是K8S中一个重要设计,通过Label进行对象弱关联,灵活地分类和选择不同服务或业务,让用户根据自己特定的组织结构以松耦合方式进行服务部署. Label是一对KV,对用户而言非常有 ...
- [置顶]
kubernetes资源对象--ConfigMap
原理 很多生产环境中的应用程序配置较为复杂,可能需要多个config文件.命令行参数和环境变量的组合.使用容器部署时,把配置应该从应用程序镜像中解耦出来,以保证镜像的可移植性.尽管Secret允许类似 ...
- [置顶]
kubernetes资源对象--limitranges
概念 LimitRange(简称limits)基于namespace的资源管理,包括pod和container的最小.最大和default.defaultrequests等. 一旦创建limits,以 ...
- [置顶]
kubernetes资源对象--Horizontal Pod Autoscaling(HPA)
概念 HPA全称Horizontal Pod Autoscaling,即pod的水平自动扩展.自动扩展主要分为两种,其一为水平扩展,针对于实例数目的增减:其二为垂直扩展,即单个实例可以使用的资源的增减 ...
- [置顶]
kubernetes资源类型--ingress
Ingress在K8S1.1之前还没有. 概念 Ingress是一种HTTP方式的路由转发机制,为K8S服务配置HTTP负载均衡器,通常会将服务暴露给K8S群集外的客户端. Ingress是一个允许入 ...
- [置顶]
kubernetes资源类型--PetSets/StatefulSet
PetSet首次在K8S1.4版本中,在1.5更名为StatefulSet.除了改了名字之外,这一API对象并没有太大变化. 注意:以下内容的验证环境为CentOS7.K8S版本1.5.2,并部署Sk ...
- [置顶]
kubernetes资源类型--持久化存储Persistent Volume和Persistent Volume Claim
概念 存储管理跟计算管理是两个不同的问题.理解每个存储系统是一件复杂的事情,特别是对于普通用户来说,有时并不需要关心各种存储实现,只希望能够安全可靠地存储数据. 为了简化对存储调度,K8S对存储的供应 ...
- [置顶]
kubernetes资源类型--secret和Service Account
secret 概念 secret对象类型主要目的是保存和处理敏感信息/私密数据,比如密码,OAuth tokens,ssh keys等信息.将这些信息放在secret对象中比 直接放在pod或dock ...
- [置顶]
kubernetes资源类型--DaemonSet
概念 DaemonSet能够让所有(或者特定)的节点运行同一个pod. 当节点加入到K8S集群中,pod会被(DaemonSet)调度到该节点上运行,当节点从K8S集群中被移除,被DaemonSet调 ...
随机推荐
- 堆栈(Stacks)
堆栈(Stacks) 准备工作 安装Docker 1.13及以上版本 安装Docker Compose正如第三部分的准备工作. 安装Docker Machine正如第四部分的准备工作. 阅读第一部分的 ...
- 圆盘自动机 cell
圆盘自动机 cell 一个n-m圆盘自动机,包含n个排列成一圈的方格,它们按1至n编号.每个方格中有一个整数,范围[0,m-1] .圆盘会进行d操作,每次d操作会使得每个方格中的数同时变换,变换为与其 ...
- java实现短连接
现在比较流行短连接,例如新浪微博,腾讯等等公司都开始使用短连接. ① 将长网址用md5算法生成32位签名串,分为4段,,每段8个字符: ② 对这4段循环处理,取每段的8个字符, 将他看成16进制字符串 ...
- python 下划线转驼峰
# 下划线转驼峰 def str2Hump(text): arr = filter(None, text.lower().split('_')) res = '' j = 0 for i in arr ...
- VMware Storage VMotion概述及功能
可以跨存储阵列实时迁移虚拟机磁盘文件.VMware Storage VMotion 使您可以在共享存储位置之间和跨共享存储位置重新分配虚拟机磁盘文件,同时保证连续的服务供应和事务处理的完整性. 1.可 ...
- 洛谷P1160 队列安排
题目描述 一个学校里老师要将班上N个同学排成一列,同学被编号为1-N,他采取如下的方法: 1.先将1号同学安排进队列,这时队列中只有他一个人: 2.2-N号同学依次入列,编号为i的同学入列方式为:老师 ...
- mysql [MariaDB] 开启外联
1.查看mysql服务端口是否为外部端口,如果监听的是本地端口修改mariadb配置文件 root@kali:~# whereis mysql mysql: /usr/bin/mysql /etc/m ...
- nginx+lua_module安装
1.LuaJit安装 # cd /usr/local/src # git clone http://luajit.org/git/luajit-2.0.git # cd luajit-2.0 # ma ...
- SSM整合过程中出现的问题
1.Caused by: java.lang.ClassNotFoundException: org.springframework.jdbc.datasource.DataSourceTransac ...
- python的ORM框架SQLAlchemy
本节内容 ORM介绍 sqlalchemy安装 sqlalchemy基本使用 多外键关联 多对多关系 表结构设计作业 一.ORM介绍 如果写程序用pymysql和程序交互,那是不是要写原生sql语句 ...