Skip to content

Helm Installation

Install the Kedify Agent using Helm. You can do this either through the Kedify Service or manually by following the guide in this document.

Prerequisites

  • A running Kubernetes cluster (local or cloud-based like EKS, GKE, etc.).
  • helm installed and accessible in your environment.
  • An account created and signed in to the Kedify Service.

Installation with Kedify Service

Log in to the Kedify Service and open the cluster view:

Kedify Service Cluster View

In the top-right corner, click the dropdown button to open the installation options, and select Helm Installation:

Kedify Service Installation Options

This opens a dialog showing the necessary steps to install the Kedify using Helm:

Kedify Service Helm Installation

Manual Installation

Follow these steps to install the Kedify Agent manually using Helm.

Getting Organization ID

In the Kedify dashboard, navigate to Organization and select Details. Copy the ID.

Getting API Key

If you already have a Kedify Agent deployed, you can retrieve your pre-provisioned API key from a Secret in the same Kubernetes cluster:

kubectl get secret -n keda kedify-agent -o=jsonpath='{.data.apikey}' | base64 --decode

If you don’t have an existing Agent, you can generate a new API Key in the Kedify dashboard. Navigate to Organization and select API Keys. Click Regenerate Agent Key and copy the key.

Helm Installation

The following steps guide you through the minimal installation of Kedify on your cluster using Helm. Each component is installed individually from its respective Helm chart. This means you are responsible for updating each component separately.

  1. Add the Kedify Helm repository:
helm repo add kedifykeda https://kedify.github.io/charts
helm repo update
  1. Create a values_keda.yaml file for the KEDA installation with the following content:
image:
keda:
tag: v2.16.0-1
registry: ghcr.io
repository: kedify/keda-operator
metricsApiServer:
tag: v2.16.0-1
registry: ghcr.io
repository: kedify/keda-metrics-apiserver
webhooks:
tag: v2.16.0-1
registry: ghcr.io
repository: kedify/keda-admission-webhooks
watchNamespace: ''
rbac:
scaledRefKinds:
- apiGroup: '*'
kind: '*'
logging:
operator:
level: info
stackTracesEnabled: false
metricServer:
level: 0
webhooks:
level: info
prometheus:
operator:
enabled: true
metricServer:
enabled: true
webhooks:
enabled: true

See all available options in the values.yaml file.

  1. Create a values_addon.yaml file for the HTTP add-on installation with the following content:
images:
tag: v0.8.1-8
operator: ghcr.io/kedify/http-add-on-operator
interceptor: ghcr.io/kedify/http-add-on-interceptor
scaler: ghcr.io/kedify/http-add-on-scaler
interceptor:
replicas:
min: 1
resources:
requests:
cpu: '0.1'
memory: 32Mi
limits:
cpu: 1
memory: 64Mi
scaler:
replicas: 1
resources:
requests:
cpu: '0.1'
memory: 16Mi
limits:
cpu: 0.5
memory: 64Mi
operator:
replicas: 0
resources:
requests:
cpu: '0.1'
memory: 16Mi
limits:
cpu: 0.5
memory: 64Mi

See all available options in the values.yaml file.

  1. Install KEDA and the HTTP Add-on:
helm upgrade --install keda kedifykeda/keda --namespace keda \
--create-namespace \
--values values_keda.yaml
helm upgrade --install keda-add-ons-http kedifykeda/keda-add-ons-http \
--namespace keda \
--values values_addon.yaml
  1. Install the Kedify Agent:
helm upgrade --install kedify-agent kedifykeda/kedify-agent \
--namespace keda \
--set clusterName="cluster-1" \
--set agent.orgId="$YOUR_ORG_ID" \
--set agent.apiKey="$YOUR_API_KEY"

Helm Installation with Argo CD

To install the Helm charts using Argo CD, you can use the following manifests. They provide a base configuration for deploying keda, http-add-on, and kedify-agent.

KEDA Installation Manifest with Argo CD
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: keda
namespace: argocd
spec:
destination:
namespace: keda
server: https://kubernetes.default.svc
project: default
source:
chart: keda
repoURL: https://kedify.github.io/charts
targetRevision: v2.16.0-1
helm:
values: |
image:
keda:
tag: v2.16.0-1
registry: ghcr.io
repository: kedify/keda-operator
metricsApiServer:
tag: v2.16.0-1
registry: ghcr.io
repository: kedify/keda-metrics-apiserver
webhooks:
tag: v2.16.0-1
registry: ghcr.io
repository: kedify/keda-admission-webhooks
syncPolicy:
automated: {}
syncOptions:
- CreateNamespace=true
- ServerSideApply=true
ignoreDifferences:
- kind: APIService
group: apiregistration.k8s.io
jqPathExpressions:
- '.spec.insecureSkipTLSVerify'
- kind: ValidatingWebhookConfiguration
group: admissionregistration.k8s.io
jqPathExpressions:
- '.webhooks[].clientConfig.caBundle'
KEDA HTTP Add-On Installation Manifest with Argo CD
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: http-add-on
namespace: argocd
spec:
destination:
namespace: keda
server: https://kubernetes.default.svc
project: default
source:
chart: keda-add-ons-http
repoURL: https://kedify.github.io/charts
targetRevision: v0.8.1-1
helm:
values: |
images:
tag: v0.8.1-8
operator: ghcr.io/kedify/http-add-on-operator
interceptor: ghcr.io/kedify/http-add-on-interceptor
scaler: ghcr.io/kedify/http-add-on-scaler
interceptor:
replicas:
min: 1
scaler:
replicas: 1
operator:
replicas: 0
syncPolicy:
automated: {}
syncOptions:
- CreateNamespace=true
- ServerSideApply=true
Kedify Agent Installation Manifest with Argo CD
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: kedify-agent
namespace: argocd
spec:
destination:
namespace: keda
server: https://kubernetes.default.svc
project: default
source:
chart: kedify-agent
repoURL: https://kedify.github.io/charts
targetRevision: v0.0.5
helm:
values: |
clusterName: my-cluster # EDIT THIS
agent:
orgId: "FILL THIS FROM UI" # AVAILABLE UNDER Organization -> Details
apiKey: "FILL THIS FROM UI" # AVAILABLE UNDER Organization -> API Keys
syncPolicy:
automated: {}
syncOptions:
- CreateNamespace=true
OSZAR »