Skip to content

Fleet Installation

Install Kedify on multiple clusters from your existing GitOps platform, such as Argo CD, without requiring prior cluster connections in the Kedify Service.

Prerequisites

  • A running Kubernetes cluster (local or cloud-based, such as EKS, GKS, etc.)
  • Existing GitOps platform, such as Argo CD
  • An account created and signed in to the Kedify Service

Fleet Installation

Fleet installation differs from the standard installation in how the Cluster resource is created. It is not created manually by the user through the Kedify Service Dashboard; instead, it is automatically created on demand when the Kedify Agent starts for the first time in your Kubernetes cluster.

To achieve this, generate the installation manifest from the Kedify Dashboard and store it in your GitOps platform. This manifest includes all resources required to install Kedify on your cluster. Most notably, it contains the ID of your organization and an API key, which are required to authenticate the Kedify Agent with the Kedify Service.

Agent Authentication

The generated installation manifest contains the ID of your organization and an API key. However, to uniquely identify each Kedify Agent, an additional identifier is required, known as the Agent ID. During its first startup, the Kedify Agent uses a temporary ID to identify itself. This temporary ID is derived from the UUID of the kube-system namespace. With these three pieces of information (organization ID, API key, and temporary ID), the Kedify Agent can authenticate with the Kedify Service and negotiate a final Agent ID. This final Agent ID is then stored in the environment variables of the Kedify Agent Deployment and is used for all subsequent communication with the Kedify Service. For more details on Agent API keys, refer to the Kedify Agent documentation.

Obtaining the Installation Manifest

In the Kedify dashboard, navigate to the Clusters section and click on the ... button. Select Fleet Installation from the dropdown menu. Here, you can download a YAML file containing the installation manifest and the Argo CD Application for Kedify.

Fleet Installation

Part of the manifest includes the KedifyConfig Custom Resource Definition (CRD) and a Custom Resource (CR). With this CR, you can control the name of the cluster as it will appear in the Kedify Dashboard after the Agent’s first startup. The example below shows a cluster named prod-eu-north-1:

apiVersion: install.kedify.io/v1alpha1
kind: KedifyConfiguration
metadata:
name: kedify
namespace: keda
spec:
clusterName: prod-eu-north-1 # Name of the cluster in Kedify Dashboard

Once you have obtained the installation manifest, store it in your GitOps repository and apply it to your cluster. The Kedify Agent will start and create the Cluster resource in the Kedify Service. You will then see your cluster in the Kedify Dashboard and can begin scaling your applications.