0

I want to deploy a Dapr application with limitations on the sidecar

      annotations:
        dapr.io/enabled: "true"
        dapr.io/app-id: "simple-js"
        dapr.io/app-port: "5001"
        dapr.io/sidecar-cpu-limit: “200m”
        dapr.io/sidecar-cpu-request: “100m”
        dapr.io/sidecar-memory-limit: “200Mi”
        dapr.io/sidecar-memory-request: “100Mi”

but get these error messages:

time="2022-12-18T15:57:52.123897777Z" level=warning msg="couldn't set container resource requirements: error parsing sidecar cpu limit: quantities must match the regular expression '^([+-]?[0-9.]+)([eEinumkKMGTP][-+]?[0-9])$'. using defaults" instance=dapr-sidecar-injector-858f7757f8-6dzdq scope=dapr.injector.container type=log ver=1.9.5

time="2022-12-18T16:07:57.422789042Z" level=warning msg="couldn't set container resource requirements: error parsing sidecar memory limit: quantities must match the regular expression '^([+-]?[0-9.]+)([eEinumkKMGTP][-+]?[0-9])$'. using defaults" instance=dapr-sidecar-injector-858f7757f8-6dzdq scope=dapr.injector.container type=log ver=1.9.5

Kai Walter
  • 3,485
  • 2
  • 32
  • 62

1 Answers1

1

Rookie error. It turned out when assembling the annotations from https://docs.dapr.io/operations/hosting/kubernetes/kubernetes-production/#sidecar-resource-settings and / or as suggested https://kubernetes.io/docs/tasks/administer-cluster/manage-resources/quota-memory-cpu-namespace/#create-a-pod I introduced special characters / double quotes which were not distinguishable in my editor (VS Code with my fancy 3270 Nerdfont):

      annotations:
        dapr.io/enabled: "true"
        dapr.io/app-id: "simple-js"
        dapr.io/app-port: "5001"
        dapr.io/sidecar-cpu-limit: “200m”
        dapr.io/sidecar-cpu-request: “100m”
        dapr.io/sidecar-memory-limit: “200Mi”
        dapr.io/sidecar-memory-request: “100Mi”

Replacing the corrupt double quotes with correct ones fixed the problem

      annotations:
        dapr.io/enabled: "true"
        dapr.io/app-id: "simple-js"
        dapr.io/app-port: "5001"
        dapr.io/sidecar-cpu-limit: "200m"
        dapr.io/sidecar-cpu-request: "100m"
        dapr.io/sidecar-memory-limit: "200Mi"
        dapr.io/sidecar-memory-request: "100Mi"

Now the limits also show when describing the pod with kubectl

    Limits:
      cpu:     200m
      memory:  200Mi
    Requests:
      cpu:      100m
      memory:   100Mi
Kai Walter
  • 3,485
  • 2
  • 32
  • 62