Compatibility/Configuration, User Experience
Sprint 9, Sprint 10
Customer found a new bug of OSSM2 that there is no way to se CPU/Memory limits for istio-proxy of Prometheus
Red Hat TAM informed the customer that currently OSSM team is working on JIRA so we cannot file its bug as Bugzilla.
Prometheus which is installed by OSSM has three containers, prometheus-proxy, prometheus and istio-proxy. We set CPU/Memory limits for prometheus-proxy and prometheus. But there is no way to do that for istio-proxy. Version Info: - OpenShift v4.7.7 - OpenShift Service Mesh 2.0.6-2
How reproducible: Always
Steps to Reproduce:
Just install OSSM2.0 and try to set CPU/Memory limits to prometheus's each containers. For test, we defined the following
ServiceMeshControlPlane. apiVersion: maistra.io/v2
tracing: type: Jaeger sampling: 10000 addons: jaeger: name: jaeger install: storage: type: Memory kiali: enabled: true name: kiali grafana: enabled: true telemetry: type: Istiod runtime: components: prometheus: #For prometheus container container: resources: requests: cpu: 30m memory: 108Mi limits: cpu: 90m memory: 245Mi defaults: #For grafana-proxy and prometheus-proxy container container: resources: requests: cpu: 101m memory: 256Mi limits: cpu: 201m memory: 512Mi i) Actual results: CPU/Memory limits are set to prometheus-proxy and prometheus. On the otherhand, CPU/Memory limits aren't set to istio-proxy. $ oc describe pods prometheus-565987c54d-5fgmv Name: prometheus-565987c54d-5fgmv Namespace: istio-system Priority: 0 Node: host-172-25-75-10/172.25.75.10 Start Time: Wed, 11 Aug 2021 10:34:50 +0000 ..(snip)... Containers: prometheus-proxy: ..(snip)... Limits: cpu: 201m memory: 512Mi Requests: cpu: 101m memory: 256Mi ..(snip)... prometheus: ..(snip)... Limits: cpu: 90m memory: 245Mi Requests: cpu: 30m memory: 108Mi ..(snip)... istio-proxy: ..(snip)...
istio-proxy has some CPU/Memory limits, and they can be changed.
Additional information :
As far as we checked the following source code, istio-proxy has no parameters to set CPU/Memory Limits while prometheus and prometheus-proxy has. https://github.com/maistra/istio-operator/blob/726941fed97f2f28a5669e73531f87aecc4ff77c/resources/helm/v2.0/istio-telemetry/prometheus/templates/deployment.yaml
To set CPU/Memory limits is pivotal to prevent runaway processes like https://access.redhat.com/solutions/5685771. It's impossible for customer to use OSSM for enterprise if there is no way to set set CPU/Memory limits.
ps : i couldn't find OpenShift Service Mesh 2.0.6-2 in order to choose it affected version so i leave it blank while creating this issue