Armory Scale Agent for Spinnaker and Kubernetes Installation

Learn how to install the Armory Scale Agent for Spinnaker and Kubernetes in your Kubernetes, Spinnaker, and Armory CD environments.

This installation guide is designed for installing the Armory Agent in a test environment. It does not include mTLS configuration, so the Armory Agent service and plugin do not communicate securely.

Before you begin

  • You have read the Armory Agent overview.

  • You deployed Armory CD using the Armory Operator and Kustomize patches.

  • You have configured Clouddriver to use MySQL or PostgreSQL. See the Configure Clouddriver to use a SQL Database guide for instructions. The Agent plugin uses the SQL database to store cache data.

  • For Clouddriver pods, you have mounted a service account with permissions to list and watch the Kubernetes kind Endpoint in namespace where Clouddriver is running.

    apiVersion: rbac.authorization.k8s.io/v1
    kind: Role
    metadata:
      name: spin-sa
    rules:
      - apiGroups:
          - ""
        resources:
          - endpoints
        verbs:
          - list
          - watch
    
  • Verify that there is a Kubernetes Service with prefix name spin-clouddriver (configurable) routing HTTP traffic to Clouddriver pods, having a port with name http (configurable). This Service is created automatically when installing Armory CD using the Armory Operator.

  • You have an additional Kubernetes cluster to serve as your deployment target cluster.

Networking requirements

Communication from the Armory Agent service to the Clouddriver plugin occurs over gRPC port 9091. Communication between the service and the plugin must be http/2. http/1.1 is not compatible and causes communication issues between the Armory Agent service and Clouddriver plugin.

Consult the Armory Agent Communication With Clouddriver Instances in Kubernetes page for details on how the Armory Agent plugin communicates with Clouddriver instances in Kubernetes.

Compatibility matrix

Armory CD (Spinnaker) Version Armory Agent Plugin Version Armory Agent Version
2.26.x (1.26.x) 0.9.73 1.0.27
2.27.x (1.27.x) 0.10.58 1.0.27
2.28.x (1.28.x) 0.11.20 1.0.27

Your Clouddriver service must use a MySQL-compatible database. See the Configure Clouddriver to use a SQL Database guide for instructions.

Database compatibility:

MySQL PostgreSQL
5.7; AWS Aurora 10+

Installation steps

In this guide, you deploy the Armory Agent service to your target cluster.

Installation steps:

  1. Install the Clouddriver plugin. You do this in the cluster where you are running Armory CD.

    1. Create the plugin manifest as a Kustomize patch.
    2. Create a LoadBalancer service Kustomize patch to expose the plugin on gRPC port 9091.
    3. Apply the manifests.
  2. Install the Armory Agent service using a Helm chart or using kubectl.

What’s next

Install the Clouddriver plugin using kubectl.


Last modified August 4, 2022: (256b89fe)