Scale Agent for Spinnaker and Kubernetes
Overview of the Scale Agent
The Scale Agent for Spinnaker and Kubernetes consists of a lightweight service that you deploy on Kubernetes and a plugin that you install into Clouddriver. With these, you can scale Kubernetes deployments to limitless clusters and namespaces with minimal latency, accelerating your pipeline execution times.
The Scale Agent works with Armory Continuous Deployment v2.26+ and Spinnaker v1.26+. The following Scale Agent features require Spinnaker 1.28+/Armory CD 2.28+ with Clouddriver Account Management enabled:
- Automated scanning for newly created accounts in Clouddriver and migrating those accounts to Scale Agent management
- Intercepting and processing requests sent to Clouddriver’s
<GATE-URL>/credentials
endpoint
Advantages of using the Armory Scale Agent
Scalability
- Caching and deployment scales to thousands of Kubernetes clusters for your largest applications.
- By leveraging the Kubernetes
watch
mechanism, the Armory Scale Agent detects changes to Kubernetes and streams them in real time over a single TCP connection per cluster to SpinnakerTM. - The Agent optimizes how infrastructure information is cached, making Force Cache Refresh almost instantaneous. This means optimal performance for your end users and your pipeline executions.
Security
- Keep your Kubernetes API servers private from Spinnaker.
- Only the information Spinnaker needs leaves the cluster.
- Decentralize your account management. Using Kubernetes Service Accounts, teams control what Spinnaker can do. Add or remove accounts in real time, and then use them without restarting Spinnaker.
- Use Kubernetes Service Accounts or store your
kubeconfig
files in one of the supported secret engines, or provision them via the method of your choice as Kubernetes secrets. - Secure plugin-service communication by configuring mTLS.
Usability
- Use the Armory Scale Agent alongside Spinnaker and benefit from performance improvements.
- Use YAML, a HELM chart, or a Kustomize template to inject the Armory Scale Agent into newly provisioned Kubernetes clusters and immediately make those clusters software deployment targets.
- Use the Armory Scale Agent with little operational overhead or changes in the way you currently manage Spinnaker.
- Integrate Prometheus and Vault.
Kubernetes Account Management
- Configure accounts statically in the Scale Agent service before deployment either in a ConfigMap or in an
armory-agent.yml
file in the pod. If you provision clusters automatically, the Armory Scale Agent service can dynamically reload accounts when the ConfigMap orarmory-agent.yaml
changes. You could, for example, configure accounts in aConfigMap
mounting to/opt/armory/config/armory-agent-local.yaml
. The Scale Agent service reflectsConfigMap
changes within seconds after etcd sync. - Get Kubernetes accounts automatically registered when you deploy the Armory Scale Agent in a target cluster.
- Manually or automatically migrate Clouddriver Kubernetes accounts to the Scale Agent using Dynamic Accounts.
How to get started using the Scale Agent
- New Spinnaker instance: Quick Start: Spinnaker and the Armory Scale Agent shows you how to use the Spinnaker Operator and Kustomize to install Spinnaker and the Scale Agent in the same Kubernetes cluster and namespace for testing the Scale Agent’s features.
- Existing Spinnaker instance: Install the Armory Scale Agent in an Existing Spinnaker Instance shows how to use Halyard to install the plugin and
kubectl
to apply the service’s manifests. You deploy the Scale Agent service to the same cluster and namespace as Spinnaker. - Existing Armory Continuous Deployment instance: Install the Armory Scale Agent in an Existing Armory CD Instance shows you how to use the Armory Operator and Kustomize to install the Scale Agent components. You deploy the Scale Agent service to the same cluster and namespace as Armory CD.
For installation into existing instances, note that your Clouddriver service must use a MySQL-compatible database. If yours doesn’t, see the Configure Clouddriver to use a SQL Database guide for instructions.
Supported Spinnaker and Armory CD versions
Armory CD (Spinnaker) Version | Scale Agent Plugin Version | Scale Agent Service Version |
---|---|---|
2.28.x (1.28.x) | 0.11.56 | 1.0.80 |
1.29.x | 0.12.21 | 1.0.80 |
2.30.x (1.30.x) | 0.13.20 | 1.0.80 |
2.31.x (1.31.x) | 0.14.1 | 1.0.80 |
2.32.x (1.32.x) | 0.14.1 | 1.0.80 |
Database compatibility:
MySQL | PostgreSQL |
---|---|
5.7; AWS Aurora | 10+ |
You can find a full list of previous releases in the artifactory.
Docs organization
If you’re familiar with the Kubernetes docs, you may notice that the Armory Scale Agent docs are organized in a similar fashion:
- Get Started: This section contains guides for installing and uninstalling the Armory Scale Agent.
- Concepts: These pages explain aspects of the Armory Scale Agent. The content is objective, containing architecture, definitions, rules, and guidelines. Rather than containing a sequence of steps, these pages link to related tasks and tutorials.
- Tasks: Task pages show you how to do a single procedure by following a short series of steps that produce an intended outcome. Task content expects a minimum level of background knowledge, and each page links to conceptual content that you should be familiar with before you begin the task.
- Reference: This section contains both manually maintained and autogenerated reference material for configuring the plugin and service and using the APIs.
- Release Notes
What’s next
- Armory Scale Agent Architecture
- Quick Start: Spinnaker and the Armory Scale Agent
- Install the Armory Scale Agent in an Existing Spinnaker Instance
- Install the Armory Scale Agent in an Existing Armory CD Instance
Feedback
Was this page helpful?
Thank you for letting us know!
Sorry to hear that. Please tell us how we can improve.
Last modified March 3, 2023: (2d069084)