General Spinnaker Optimization Suggestions
Introduction
The following is a list of optimizations our Armory team has previous suggested as a baseline to a Spinnaker environment. These are general settings suggested for the majority of our customers. Feel free to adjust these settings to fit the needs of the environment.
Prerequisites
Administration access to the environment
Instructions
Plugins
Many Armory customers install the following plugins: Armory Observability Plugin, AWS Lambda Plugin, and Policy Engine Plugin as needed.
In Operator
spec.spinnakerConfig.config
In the spec.spinnakerConfig.config
section the following is suggested. There are some notes in this section about some configurations that should be avoided, and what should be done instead. As a note, the Observability Plugin is suggested in the configuration below. Please look at https://github.com/armory-plugins/armory-observability-plugin for more information
spec:
spinnakerConfig:
spec.spinnakerConfig.config - This section contains the contents of a deployment found in a halconfig .deploymentConfigurations[0]
config: stats: enabled: false
This prevents recreating echo on every single deploy of spinnaker
instanceId: disable-echo-always-recreating telemetry: enabled: true endpoint: https://stats.spinnaker.io connectionTimeoutMillis: 3000 readTimeoutMillis: 5000 deploymentEnvironment: size: SMALL type: Distributed updateVersions: true vault: enabled: false livenessProbeConfig: enabled: true
Default to 10 minutes before starting liveness probes. Larger installs may need longer
initialDelaySeconds: 600 location: spinnaker
This is current default we'd PREFER deployed everyplace... can be overridden per cust
#version: 2.26.0
DO NOT turn on the monitoring daemon - it does NASTY things to spinnaker's system, and it uses a lot of resources. USE the observability plugin instead! (Separate files)
metricStores: prometheus: enabled: false enabled: false armory:
send diagnostics to Armory to reduce troubleshooting time
diagnostics: enabled: true logging: enabled: true endpoint: https://debug.armory.io/v1/logs
spec.spinnakerConfig.profiles
Below are some settings suggested for the spec.spinnakerConfig.profiles
section, and notes about the settings
spec:
spinnakerConfig:
profiles:
This is always first otherwise they're in alphabetical order
spinnaker: ok-http-client:
connects should never really be increased beyond this
connectTimeoutMs: 15000
Start at 60 seconds for downloads, but may need to be bigger if using large files/artifacts.
readTimeoutMs: 60000 maxRequests: 256 maxRequestsPerHost: 256 clouddriver: serviceLimits: cloudProviderOverrides: aws: rateLimit: 10.0 implementationLimits: