You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
From testing in #8213, provisionerd uses the vast majority of CPU resources. Large number of concurrent provisioner jobs can easily saturate the CPU causing knock-on effects in Coder HTTP API (latency etc.).
However, there is currently no simple path to deploying external provisioners in Helm. Creating an external provisioner currently requires a CODER_TOKEN, which presents us with a chicken-and-egg problem in the current Helm chart.
You can work around this currently by manually applying a deployment manifest with a manually generated coder token, but it would be a nice experience for a Kubernetes operator if this were supported natively in the Helm chart.
Large customers with big workspace provisioning swings at the beginning of the day, or after lunch (if auto-off is aggressive) will want and like this - to prevent a coderd replica from becoming exhausted, dropping workspace connections, and restarting.
Problem
From testing in #8213, provisionerd uses the vast majority of CPU resources. Large number of concurrent provisioner jobs can easily saturate the CPU causing knock-on effects in Coder HTTP API (latency etc.).
Our recommended way of doing this is with external provisioners.
However, there is currently no simple path to deploying external provisioners in Helm. Creating an external provisioner currently requires a
CODER_TOKEN
, which presents us with a chicken-and-egg problem in the current Helm chart.You can work around this currently by manually applying a deployment manifest with a manually generated coder token, but it would be a nice experience for a Kubernetes operator if this were supported natively in the Helm chart.
Proposed Solution
Per @deansheather's comment in #8183 (comment):
provisionerd.external.enable
(create a separate provisionerd deployment)provisionerd.external.replicas
(replica count of the provisionerd deployment)provisionerd.external.concurrency
(max number of jobs per provisionerd replica)provisionerd.external.resources.{requests,limits}
(requests, limits per provisionerd replica)The text was updated successfully, but these errors were encountered: