backend: resource limits:
- set resource mem and cpu requests/limits for all used services (not minio for now) - add readiness proble to redis, mongo - adjust crawler limits, set via configmap
This commit is contained in:
parent
c577e36b74
commit
ca85edc8b3
@ -50,6 +50,11 @@ class K8SManager:
|
||||
|
||||
self.redis_url = os.environ["REDIS_URL"]
|
||||
|
||||
self.requests_cpu = os.environ["CRAWLER_REQUESTS_CPU"]
|
||||
self.limits_cpu = os.environ["CRAWLER_LIMITS_CPU"]
|
||||
self.requests_mem = os.environ["CRAWLER_REQUESTS_MEM"]
|
||||
self.limits_mem = os.environ["CRAWLER_LIMITS_MEM"]
|
||||
|
||||
self.loop = asyncio.get_running_loop()
|
||||
self.loop.create_task(self.run_event_loop())
|
||||
self.loop.create_task(self.init_redis(self.redis_url))
|
||||
@ -689,20 +694,14 @@ class K8SManager:
|
||||
):
|
||||
"""Return crawl job template for crawl job, including labels, adding optiona crawl params"""
|
||||
|
||||
requests_memory = "384M"
|
||||
limit_memory = "2G"
|
||||
|
||||
requests_cpu = "500m"
|
||||
limit_cpu = "2000m"
|
||||
|
||||
resources = {
|
||||
"limits": {
|
||||
"cpu": limit_cpu,
|
||||
"memory": limit_memory,
|
||||
"cpu": self.limits_cpu,
|
||||
"memory": self.limits_mem,
|
||||
},
|
||||
"requests": {
|
||||
"cpu": requests_cpu,
|
||||
"memory": requests_memory,
|
||||
"cpu": self.requests_cpu,
|
||||
"memory": self.requests_mem,
|
||||
},
|
||||
}
|
||||
|
||||
|
@ -17,6 +17,12 @@ data:
|
||||
CRAWL_TIMEOUT: "{{ .Values.crawl_timeout }}"
|
||||
CRAWL_RETRIES: "{{ .Values.crawl_retries }}"
|
||||
|
||||
CRAWLER_REQUESTS_CPU: "{{ .Values.crawler_requests_cpu }}"
|
||||
CRAWLER_LIMITS_CPU: "{{ .Values.crawler_limits_cpu }}"
|
||||
|
||||
CRAWLER_REQUESTS_MEM: "{{ .Values.crawler_requests_memory }}"
|
||||
CRAWLER_LIMITS_MEM: "{{ .Values.crawler_limits_memory }}"
|
||||
|
||||
REDIS_URL: "{{ .Values.redis_url }}"
|
||||
|
||||
REDIS_CRAWLS_DONE_KEY: "crawls-done"
|
||||
|
@ -57,10 +57,12 @@ spec:
|
||||
|
||||
resources:
|
||||
limits:
|
||||
cpu: {{ .Values.nginx_limit_cpu }}
|
||||
cpu: {{ .Values.nginx_limits_cpu }}
|
||||
memory: {{ .Values.nginx_limits_memory }}
|
||||
|
||||
requests:
|
||||
cpu: {{ .Values.nginx_requests_cpu }}
|
||||
memory: {{ .Values.nginx_requests_memory }}
|
||||
|
||||
readinessProbe:
|
||||
httpGet:
|
||||
|
@ -73,6 +73,11 @@ spec:
|
||||
containers:
|
||||
- name: mongo
|
||||
image: {{ .Values.mongo_image }}
|
||||
|
||||
{{- if .Values.mongo_run_repair }}
|
||||
command: ["mongod", "--repair"]
|
||||
{{- end }}
|
||||
|
||||
imagePullPolicy: {{ .Values.mongo_pull_policy }}
|
||||
envFrom:
|
||||
- secretRef:
|
||||
@ -83,6 +88,21 @@ spec:
|
||||
mountPath: /data/db
|
||||
subPath: mongo
|
||||
|
||||
resources:
|
||||
limits:
|
||||
cpu: {{ .Values.mongo_limits_cpu }}
|
||||
memory: {{ .Values.mongo_limits_memory }}
|
||||
|
||||
requests:
|
||||
cpu: {{ .Values.mongo_requests_cpu }}
|
||||
memory: {{ .Values.mongo_requests_memory }}
|
||||
|
||||
readinessProbe:
|
||||
exec:
|
||||
command:
|
||||
- mongo
|
||||
- --eval
|
||||
- db.adminCommand('ping')
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
|
@ -70,6 +70,21 @@ spec:
|
||||
mountPath: /data
|
||||
subPath: redis
|
||||
|
||||
resources:
|
||||
limits:
|
||||
cpu: {{ .Values.redis_limits_cpu }}
|
||||
memory: {{ .Values.redis_limits_memory }}
|
||||
|
||||
requests:
|
||||
cpu: {{ .Values.redis_requests_cpu }}
|
||||
memory: {{ .Values.redis_requests_memory }}
|
||||
|
||||
readinessProbe:
|
||||
exec:
|
||||
command:
|
||||
- redis-cli
|
||||
- ping
|
||||
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
|
@ -128,6 +128,15 @@ spec:
|
||||
mountPath: /data
|
||||
subPath: signer
|
||||
|
||||
resources:
|
||||
limits:
|
||||
cpu: {{ .Values.signer_limits_cpu }}
|
||||
memory: {{ .Values.signer_limits_memory }}
|
||||
|
||||
requests:
|
||||
cpu: {{ .Values.signer_requests_cpu }}
|
||||
memory: {{ .Values.signer_requests_memory }}
|
||||
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
|
Loading…
Reference in New Issue
Block a user