Skip to main content

Akuity Agent

The Akuity Agent is a component installed into a managed cluster allowing it to be managed by an Argo CD instance on the Akuity Platform. Every cluster agent which is installed into Kubernetes clusters will have a corresponding cluster entry in Argo CD and will be available as an Argo CD Application destination.

Requirements

To manage a cluster in the Akuity Platform, the cluster agent only needs outbound internet access to the Akuity Platform control plane. It is unnecessary for the Kubernetes API server endpoint to be public.

Installation

To install and connect an agent, you must have already created an Argo CD instance in the Akuity Platform, as well as a kubectl context to a cluster you wish to be managed.

  1. Navigate to a single Argo CD instance.
  2. From the Clusters tab, click + Connect a cluster.
  3. Provide a name for the cluster and click + Connect cluster.
  4. Once the cluster entry has been created, installation manifests will be generated specific to the cluster.
  5. Copy the installation command and run in a terminal with kubectl context to your cluster.

The installation will install the required components into an akuity Namespace. Once the Akuity Agent shows as available in the Akuity Platform Portal, it is possible to deploy to the cluster using Argo CD.

Upgrading

Once installed, agents are automatically upgraded upon updates to Argo CD instances (e.g. upgrading Argo CD itself, resizing, applying new labels or annotations). When Argo CD configuration is updated, the agent version will be also be updated to the latest appropriate version compatible with the Argo CD instance.

Uninstalling

To uninstall the Akuity Agent from a managed cluster:

  1. In Argo CD, first delete any applications which are currently deploying to the cluster. As a convenience, the Akuity Platform automatically labels all Argo CD Applications with cluster=<clustername> label, allowing you to easily filter applications by destination cluster name.
tip

If you wish to preserve existing resources in the cluster, or the cluster is no longer available, you can perform a non-cascaded delete. A non-cascaded delete is a non-destructive operation which deletes only the Argo CD application object, and none of the underlying resources in the cluster.

  1. Once all applications targeting the cluster have been removed, run the following commands to delete the agent resources:
kubectl delete namespace akuity
kubectl delete clusterrole akuity-agent-<cluster-name>
kubectl delete clusterrole akuity-argocd-application-controller-<cluster-name>
kubectl delete clusterrolebinding akuity-agent-<cluster-name>
kubectl delete clusterrolebinding akuity-argocd-application-controller-<cluster-name>

Alternatively, if you have downloaded the agent installation manifest you could execute:

kubectl delete -f akuity-manifests-<cluster-name>.yaml
  1. In the Portal UI, navigate to the Clusters tab of the Argo CD instance and click the trash icon next to the cluster to remove the entry.