Kubernetes -> Потребление памяти на пространство имен - PullRequest
1 голос
/ 11 февраля 2020

Есть ли способ получить потребление памяти на пространство имен в Kubernetes?

Ответы [ 2 ]

2 голосов
/ 11 февраля 2020

На высоком уровне мы можем получить это от kubectl

$ kubectl описать resourcequota -n my-namespace

Name:            compute-resources
Namespace:       default
Resource         Used    Hard
--------         ----    ----
limits.cpu       12      48
limits.memory    1024M   120Gi
requests.cpu     250m    24
requests.memory  512M    60Gi

Примечание: будет работать только если вы создаете ресурсную квоту.

0 голосов
/ 11 февраля 2020

Можно создать объект resourcequota, подобный следующему:

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

Однако существуют некоторые предварительные условия для проверки потребления модулей:

  1. Каждый контейнер должен иметь память запрос, ограничение памяти, запрос процессора и ограничение процессора.
  2. Общее количество запросов памяти для всех контейнеров не должно превышать 1 ГиБ.
  3. Общее ограничение памяти для всех контейнеров не должно превышать 2 ГиБ.
  4. Общее количество запросов ЦП для всех контейнеров не должно превышать 1 процессор.
  5. Общее ограничение ЦП для всех контейнеров не должно превышать 2 процессора.

Пример шаблона Pod

apiVersion: v1
kind: Pod
metadata:
  name: quota-mem-cpu-demo
spec:
  containers:
  - name: quota-mem-cpu-demo-ctr
    image: nginx
    resources:
      limits:
        memory: "800Mi"
        cpu: "800m" 
      requests:
        memory: "600Mi"
        cpu: "400m"

Чтобы проверить потребление ресурсов, используйте следующую команду:

kubectl --context <cluster_context> describe resourcequota -n my-namespace

Источник: https://kubernetes.io/docs/tasks/administer-cluster/manage-resources/quota-memory-cpu-namespace/

...