Closed viv-4 closed 2 years ago
Currently monitoring following resource definitions on 3 node cluster - 2cpu 8gb nodes, api, auth, core, staff - 2 pods | elastic 2 data, 3 master pod cluster | rethinkdb 3 pod cluster lens metrics (prometheus etc.) deployed Fairly low driver usage cluster - More active cluster required more overall resources and higher request/limit values on api & core memory
core
limits:
cpu: 1
memory: 1536Mi
requests:
cpu: 1
memory: 1536Mi
api
limits:
cpu: 100m
memory: 100Mi
requests:
cpu: 10m
memory: 50Mi
auth
limits:
cpu: 500m
memory: 500Mi
requests:
cpu: 10m
memory: 400Mi
staff
limits:
cpu: 25m
memory: 250Mi
requests:
cpu: 10m
memory: 50Mi
frontends - frontends
limits:
cpu: 500m
memory: 100Mi
requests:
cpu: 500m
memory: 100Mi
frontends - nginx
limits:
cpu: 50m
memory: 100Mi
requests:
cpu: 50m
memory: 100Mi
search-ingest
requests:
cpu: 10m
memory: 50Mi
triggers
requests:
cpu: 10m
memory: 50Mi
dispatch (no active deployment to reference - 5Mi covers it running without activity)
requests:
cpu: 10m
memory: 5Mi
source
requests:
cpu: 10m
memory: 50Mi
third-party charts using their defaults except elastic-data:
requests:
cpu: 25m
memory: 1536Mi
These requests are suitable for dev/poc cluster with pod redundancy and low usage
Above committed to: https://github.com/place-labs/k8s-helm/commit/100eac454e567d2daa30ec0dfec26ca292505408
To be merged to master
Prod values to go in new prod
branch
Guaranteed
class for core & frontends (limits == requests)Burstable
class with limits for api, auth, staff (limits > requests)Burstable
class without limits for rubbersoul, triggers, dispatch, source (only requests)notes:
BestEffort
pods are killed first, thenBurstable
Burstable
pod exceeds it's memorylimit
the kubernetes scheduler will stop/recreate it withOOMKilled
statusrequests
must fit in a nodes availableAllocatable Capacity
to be scheduled to it