Как насчет управления использованием ресурсов внутри вашего кластера K8S с помощью квоты ресурсов.Это должно позволить вам измерять использование процессора / памяти вашим модулем в выделенном пространстве имен с помощью метрик мониторинга kube_resourcequota, при различных условиях, установленных с помощью LimitRange, или непосредственно с помощью ограничений и запросов ресурсов контейнера.
Что я имею в виду именнодолжен установить квоту ресурса аналогично этому одному:
apiVersion: v1
kind: ResourceQuota
metadata:
name: mem-cpu-demo
spec:
hard:
requests.cpu: "1"
requests.memory: 1Gi
limits.cpu: "2"
limits.memory: 2Gi
pods: "1"
запустить модуль с ограничениями ресурсов и запросами :
...
containers:
- image: gcr.io/google-samples/hello-app:1.0
imagePullPolicy: IfNotPresent
name: hello-app
ports:
- containerPort: 8080
protocol: TCP
resources:
limits:
cpu: "1"
memory: 800Mi
requests:
cpu: 900m
memory: 600Mi
...
и просто наблюдайте в консоли мониторинга за тем, как модуль работает *, например, с помощью Prometheus:
* Зеленый - представляет общее использование памяти модулем Pod, Красный - фиксированные / жесткие ограничения ресурсов, установленные с помощью ResourceQuota
Я полагаю, вы решили сократить разрыв между строками, чтобы избежать неполадок в системе, и в то же время избежать сбоев Pod, таких как этот:
status:
message: 'Pod Node didn''t have enough resource: cpu, requested: 400, used: 893,
capacity: 940'
phase: Failed
reason: OutOfcpu
Конечно, в идеале было бы, если бы эта тенденция использования памяти была наложена на диаграмму кабины с какой-либо другой метрикой мониторинга пользовательской производительности или производительности вашего interest.