kubernetes的命名空间容器配额限制

  介绍

本篇内容介绍了“kubernetes的命名空间容器配额限制”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

创建命名空间:

<节>
 kubectl  create  namespace  my-namespace 
  

需要配置的资源限制:

  • 配置容器默认内存限制

  • 配置容器默认CPU限制

  • 配置命名空间容器总内存和CPU限制

xxx/default-resource-limit.yaml文件内容如下:

# 如果在具有默认内存限制的命名空间中创建容器,并且该容器未指定其自身的内存限制,则将为该容器分配默认内存限制apiVersion: v1kind: LimitRangemetadata:  name: default-mem-limitspec:  limits:  # 默认内存上限为2G  # 如果容器指定resources.limit.memory而没有指定resources.requests.memory  # 那么两者值均为指定的值resources.limit.memory  - default:      memory: 2048Mi  # 默认内存请求为512M  # 如果容器指定resources.requests.memory而没有指定resources.limit.memory  # 那么resources.requests.memory按指定的,resources.limit.memory按默认的    defaultRequest:      memory: 256Mi    type: Container --- # 如果在具有默认CPU限制的命名空间中创建容器,并且该容器未指定其自己的CPU限制,则将为该容器分配默认CPU限制apiVersion: v1kind: LimitRangemetadata:  name: default-cpu-limitspec:  limits:  # 默认容器CPU上限为2  # 如果容器指定resources.limit.cpu而没有指定resources.requests.cpu  # 那么两者值均为指定的值resources.limit.cpu  - default:      cpu: 2  # 默认容器CPU请求为0.5  # 如果容器指定resources.requests.cpu而没有指定resources.limit.cpu  # 那么resources.requests.cpu按指定的,resources.limit.cpu按默认的    defaultRequest:      cpu: 0.5    type: Container --- # 配置整个命名空间中运行的所有容器可以使用的内存和CPU总量apiVersion: v1kind: ResourceQuotametadata:  name: default-mem-cpu-total-limitspec:  hard:    requests.cpu: "8"    requests.memory: 16Gi    limits.cpu: "8"    limits.memory: 16Gi
  

通过下面命令将限制应用到my-namespace命名空间中:

<节>
 kubectl  apply  -f  xxx/default-resource-limit.yaml ——名称空间=my-namespace 
  

查看创建的资源限制信息:

<节>
 kubectl  get  resourcequota  default-mem-cpu-total-limit ——输出=yaml ——名称空间=my-namespacekubectl  get  limitrange  default-mem-limit ——输出=yaml ——名称空间=my-namespacekubectl  get  limitrange  default-cpu-limit ——输出=yaml 名称空间=my-namespace 
  

创建舱时指定容器资源限制示例代码:

<节>
 apiVersion:, v1kind:, Podmetadata:,,名字:,resource-limit-pod-demospec:,,容器:,,今天早上,名字:,resource-limit-pod-demo ,,,图片:,nginx ,,,资源:,,,,,,#,指定该舱容器内存和CPU上限,,,,,,限制:,,,,,,,,记忆:,“512 mi",,,,,,,, CPU:,“2“,,,,,, #,指定该舱容器内存和CPU请求大小,,,,,,请求:,,,,,,,,记忆:,“256 mi",,,,,,,, CPU:,“1“
  

查看舱容器资源信息:

<节>
 kubectl  get  pod  resource-limit-pod-demo ——输出=yaml 名称空间=my-namespace 
  

kubernetes的命名空间容器配额限制