When using the istio module in a cluster, you can manage the resources allocated for istio-proxy sidecars in specific workloads. Annotations are used for this purpose.

Supported annotations

To override global resource limits for istio-proxy sidecars, the following annotations are supported in individual workloads:

Annotation Description Example value
sidecar.istio.io/proxyCPU CPU request for a sidecar 200m
sidecar.istio.io/proxyCPULimit CPU limit for a sidecar "1"
sidecar.istio.io/proxyMemory Memory request for a sidecar 128Mi
sidecar.istio.io/proxyMemoryLimit Memory limit for a sidecar 512Mi

All annotations from the table must be specified in the workload manifest at the same time. Partial configuration is not supported.

Configuration examples

For Deployments:

apiVersion: apps/v1
kind: Deployment
metadata:
# ...
spec:
  template:
    metadata:
      annotations:
        sidecar.istio.io/proxyCPU: 200m
        sidecar.istio.io/proxyCPULimit: "1"
        sidecar.istio.io/proxyMemory: 128Mi
        sidecar.istio.io/proxyMemoryLimit: 512Mi
# ... Rest of the manifest.

For ReplicaSets:

apiVersion: apps/v1
kind: ReplicaSet
metadata:
# ...
spec:
  template:
    metadata:
      annotations:
        sidecar.istio.io/proxyCPU: 200m
        sidecar.istio.io/proxyCPULimit: "1"
        sidecar.istio.io/proxyMemory: 128Mi
        sidecar.istio.io/proxyMemoryLimit: 512Mi
# ... Rest of the manifest.

For Pods:

apiVersion: v1
kind: Pod
metadata:
  annotations:
    sidecar.istio.io/proxyCPU: 200m
    sidecar.istio.io/proxyCPULimit: "1"
    sidecar.istio.io/proxyMemory: 128Mi
    sidecar.istio.io/proxyMemoryLimit: 512Mi
# ... Rest of the manifest.