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:
In the top-right corner, click the dropdown button to open the installation options, and select Helm Installation:
This opens a dialog showing the necessary steps to install the Kedify using Helm:
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.
- Add the Kedify Helm repository:
helm repo add kedifykeda https://kedify.github.io/chartshelm repo update
- 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-webhookswatchNamespace: ''rbac: scaledRefKinds: - apiGroup: '*' kind: '*'logging: operator: level: info stackTracesEnabled: false metricServer: level: 0 webhooks: level: infoprometheus: operator: enabled: true metricServer: enabled: true webhooks: enabled: true
See all available options in the values.yaml file.
- 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-scalerinterceptor: replicas: min: 1 resources: requests: cpu: '0.1' memory: 32Mi limits: cpu: 1 memory: 64Miscaler: replicas: 1 resources: requests: cpu: '0.1' memory: 16Mi limits: cpu: 0.5 memory: 64Mioperator: replicas: 0 resources: requests: cpu: '0.1' memory: 16Mi limits: cpu: 0.5 memory: 64Mi
See all available options in the values.yaml file.
- 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
- 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/v1alpha1kind: Applicationmetadata: name: keda namespace: argocdspec: 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/v1alpha1kind: Applicationmetadata: name: http-add-on namespace: argocdspec: 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/v1alpha1kind: Applicationmetadata: name: kedify-agent namespace: argocdspec: 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