Configure Clouddriver Caching Agents in Spinnaker

Learn how to configure caching agents in Spinnaker™ to improve Clouddriver performance.

Caching agents in Spinnaker

See the Clouddriver Caching Agents in Spinnaker page for detailed content on caching agents.

Depending on how large your infrastructure is and how many elements it has, you may need to increase Clouddriver’s CPU and memory limits, increase the number of running Clouddriver instances, or both.

The following configuration settings affect the behavior of the caching agents and can be used to adjust them depending on the size of the infrastructure being cached. If using the Spinnaker Operator, these settings live under the key .spec.spinnakerConfig.profiles.clouddriver of SpinnakerService manifest.

SQL global caching agents configuration

KeyDescriptionDefault Value
sql.scheduler.enabledEnable or disable the sql schedulerfalse
sql.agent.max-concurrent-agentsIndicates the maximum amount of agents to run at the same time when using the sql scheduler100
sql.agent.disabled-agentsList of agent names to disable from running(empty)
sql.agent.enabled-patternRegex of agent names enabled for running.*
sql.agent.release-threshold-msMaximum amount of time for releasing agent locks after they finish running. If this value is higher than agent’s execution cycle, the agents keep running immediately after finishing500
sql.agent.agent-lock-acquisition-interval-secondsHow often the scheduler checks for the next batch of agents to run1
sql.agent.poll.interval-secondsDefault time for how often to run caching agents30
sql.agent.poll.error-interval-secondsDefault time for when to run caching agents after an execution fails30
sql.agent.poll.timeout-secondsMaximum time to hold a lock of an agent execution. If an agent takes longer to finish than this, it’s possible to have concurrent executions of the same agent300

See the Configure Clouddriver to use a SQL Database page for how to configure Clouddriver.

Redis global caching agents configuration

KeyDescriptionDefault Value
redis.scheduler.enabledEnable or disable the redis schedulertrue
redis.agent.max-concurrent-agentsIndicates the maximum amount of agents to run at the same time when using the redis scheduler1000
redis.agent.enabled-patternRegex of agent names enabled for running.*
redis.agent.agent-lock-acquisition-interval-secondsHow often the scheduler checks for the next batch of agents to run1
redis.poll.interval-secondsDefault time for how often to run caching agents30
redis.poll.error-interval-secondsDefault time for when to run caching agents after an execution fails30
redis.poll.timeout-secondsMaximum time to hold a lock of an agent execution. If an agent takes longer to finish that this, it’s possible to have concurrent executions of the same agent300

Considerations

  • Using the SQL scheduler has known issues where some agents may not be running in some versions of Spinnaker.
  • The setting for max-concurrent-agents is directly correlated with how much CPU and memory Clouddriver needs to cache infrastructure. Higher values make each replica consume more resources. Higher values also make it possible for Clouddriver to reduce the time spent caching all infrastructure.

Last modified December 9, 2022: (77a2e500)