What is the Istio sidecar containers resource requirement and how can be calculated?

194 Views Asked by At

We are using Istio version 1.18.2 on all our AKS (V1.27.3) based envts (Dev,Stg, Prod, Dr, etc.) setup. We have enabled the Istio sidecars injection with namespace injection for all our applications.

  values:
    global:
      proxy:
        image: proxyv2
        # Resources for the sidecar.
        resources:
          requests:
            cpu: 100m
            memory: 128Mi
          limits:
            cpu: 1000m
            memory: 2048Mi

As given above, In our istioOperator's overlay file we have configured the global configuration for the proxy containers with the resource specification and we are facing some concerns related to this settings as given below.

  • As per the above setup for each pods of the Apps, the istio related containers (init container and proxy ) are getting injected . Since we have multiple replica for each of these pods, the istio related containers also picking the resources as defined which in turn resulting in more nodes consumption. So we would like to understand,

  • whether the istio-init containers CPU& memory requests are counted ?

  • Regarding the istio-proxy containers request and limit specification, how can be estimated this value properly and this 100m CPU is recommended/mandatory ?

  • Since HPA of each apps calculating the metric usage in accordance with the CPU usage of total total containers requests in the pods, these values of sidecar proxy containers 100m value making hpa behavior in unexpected way than the application expected to scale out.

So if we can have the request for this containers bit lower, the nodes count can be reduced in better way and HPA will be acting in accordance with the Application containers limits itself.

Is there any strict rule for setting this 100m for these sidecar proxy containers?

0

There are 0 best solutions below