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.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 = asyncio.get_running_loop()
|
||||||
self.loop.create_task(self.run_event_loop())
|
self.loop.create_task(self.run_event_loop())
|
||||||
self.loop.create_task(self.init_redis(self.redis_url))
|
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"""
|
"""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 = {
|
resources = {
|
||||||
"limits": {
|
"limits": {
|
||||||
"cpu": limit_cpu,
|
"cpu": self.limits_cpu,
|
||||||
"memory": limit_memory,
|
"memory": self.limits_mem,
|
||||||
},
|
},
|
||||||
"requests": {
|
"requests": {
|
||||||
"cpu": requests_cpu,
|
"cpu": self.requests_cpu,
|
||||||
"memory": requests_memory,
|
"memory": self.requests_mem,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -17,6 +17,12 @@ data:
|
|||||||
CRAWL_TIMEOUT: "{{ .Values.crawl_timeout }}"
|
CRAWL_TIMEOUT: "{{ .Values.crawl_timeout }}"
|
||||||
CRAWL_RETRIES: "{{ .Values.crawl_retries }}"
|
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_URL: "{{ .Values.redis_url }}"
|
||||||
|
|
||||||
REDIS_CRAWLS_DONE_KEY: "crawls-done"
|
REDIS_CRAWLS_DONE_KEY: "crawls-done"
|
||||||
|
|||||||
@ -57,10 +57,12 @@ spec:
|
|||||||
|
|
||||||
resources:
|
resources:
|
||||||
limits:
|
limits:
|
||||||
cpu: {{ .Values.nginx_limit_cpu }}
|
cpu: {{ .Values.nginx_limits_cpu }}
|
||||||
|
memory: {{ .Values.nginx_limits_memory }}
|
||||||
|
|
||||||
requests:
|
requests:
|
||||||
cpu: {{ .Values.nginx_requests_cpu }}
|
cpu: {{ .Values.nginx_requests_cpu }}
|
||||||
|
memory: {{ .Values.nginx_requests_memory }}
|
||||||
|
|
||||||
readinessProbe:
|
readinessProbe:
|
||||||
httpGet:
|
httpGet:
|
||||||
|
|||||||
@ -73,6 +73,11 @@ spec:
|
|||||||
containers:
|
containers:
|
||||||
- name: mongo
|
- name: mongo
|
||||||
image: {{ .Values.mongo_image }}
|
image: {{ .Values.mongo_image }}
|
||||||
|
|
||||||
|
{{- if .Values.mongo_run_repair }}
|
||||||
|
command: ["mongod", "--repair"]
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
imagePullPolicy: {{ .Values.mongo_pull_policy }}
|
imagePullPolicy: {{ .Values.mongo_pull_policy }}
|
||||||
envFrom:
|
envFrom:
|
||||||
- secretRef:
|
- secretRef:
|
||||||
@ -83,6 +88,21 @@ spec:
|
|||||||
mountPath: /data/db
|
mountPath: /data/db
|
||||||
subPath: mongo
|
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
|
apiVersion: v1
|
||||||
kind: Service
|
kind: Service
|
||||||
|
|||||||
@ -70,6 +70,21 @@ spec:
|
|||||||
mountPath: /data
|
mountPath: /data
|
||||||
subPath: redis
|
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
|
apiVersion: v1
|
||||||
kind: Service
|
kind: Service
|
||||||
|
|||||||
@ -128,6 +128,15 @@ spec:
|
|||||||
mountPath: /data
|
mountPath: /data
|
||||||
subPath: signer
|
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
|
apiVersion: v1
|
||||||
kind: Service
|
kind: Service
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user