Управление максимальными ресурсами, используемыми пространством имен k8s - PullRequest
0 голосов
/ 26 сентября 2019

Как можно контролировать максимальное количество ресурсов, которое когда-либо будет использоваться (в данный момент) всем, что работает в определенном пространстве имен k8s.(Макс. Память, макс. Процессор)

Ответы [ 2 ]

1 голос
/ 26 сентября 2019

Это может быть выполнено с помощью ResourceQuota в данном пространстве имен.

Из документов :

Квота ресурса, определенная объектом ResourceQuota,предоставляет ограничения, которые ограничивают совокупное потребление ресурсов на пространство имен.Он может ограничивать количество объектов, которые могут быть созданы в пространстве имен по типу, а также общий объем вычислительных ресурсов, которые могут потребляться ресурсами в этом проекте.

Определена квота ресурсоввот так (из k8s admin docs ):

apiVersion: v1
kind: ResourceQuota
metadata:
  name: mem-cpu-demo
spec:
  hard:
    requests.cpu: "1"
    requests.memory: 1Gi
    limits.cpu: "2"
    limits.memory: 2Gi

Примечание: эта информация взята из документации k8s v1.16

0 голосов
/ 26 сентября 2019

Определить объекты квоты ресурсов для каждого пространства имен.Вы можете установить максимальное количество вычислительных ресурсов для каждого пространства имен, а также определить количество объектов, которые будут развернуты в каждом пространстве имен.следуйте приведенным ниже образцам

apiVersion: v1
kind: ResourceQuota
metadata:
  name: mem-cpu-demo
  namespace: quota-mem-cpu-example
spec:
  hard:
    requests.cpu: "1"
    requests.memory: 1Gi
    limits.cpu: "2"
    limits.memory: 2Gi
----
The ResourceQuota places these requirements on the quota-mem-cpu-example namespace:

Every Container must have a memory request, memory limit, cpu request, and cpu limit.
The memory request total for all Containers must not exceed 1 GiB.
The memory limit total for all Containers must not exceed 2 GiB.
The CPU request total for all Containers must not exceed 1 cpu.
The CPU limit total for all Containers must not exceed 2 cpu.

similarly define object quota

apiVersion: v1
kind: ResourceQuota
metadata:
  name: object-quota-demo
  namespace: quota-object-example
spec:
  hard:
    persistentvolumeclaims: "1"
    services.loadbalancers: "2"
    services.nodeports: "0"


Which implies that there can be at most one PersistentVolumeClaim, at most two Services of type LoadBalancer, and no Services of type NodePort.

reference: https://kubernetes.io/docs/tasks/administer-cluster/quota-api-object/
...