keda-scale-workload

Use when autoscaling a Kubernetes Deployment or Job with KEDA — scale to zero, scale on queue depth, cron windows, or CPU — or when the user mentions "ScaledObject", "ScaledJob", "scale on RabbitMQ/SQS/Kafka", or "KEDA trigger". Covers writing ScaledObjects, trigger auth, and verifying scaling actually happens.

s8sskills/keda1 installsApache-2.0Synced Aug 26

Works with

Claude CodeCursorCodex CLIGitHub CopilotGemini CLI
---
name: keda-scale-workload
description: Use when autoscaling a Kubernetes Deployment or Job with KEDA — scale to zero, scale on queue depth, cron windows, or CPU — or when the user mentions "ScaledObject", "ScaledJob", "scale on RabbitMQ/SQS/Kafka", or "KEDA trigger". Covers writing ScaledObjects, trigger auth, and verifying scaling actually happens.
license: Apache-2.0
---

# Scale a Workload with KEDA

A `ScaledObject` tells KEDA: watch this event source, and size this Deployment
accordingly — including down to zero. KEDA creates and manages the underlying
HPA for you.

Requires KEDA installed on the cluster — do `keda-install` first.

## 1. Pick the trigger

Common scalers (70+ exist — https://keda.sh/docs/latest/scalers/):

- `rabbitmq`, `aws-sqs-queue`, `kafka`, `gcp-pubsub` — queue/stream depth
- `cron` — scale up during known busy windows
- `cpu` / `memory` — classic HPA metrics via KEDA
- `prometheus` — anything you can express as a PromQL query

## 2. Write the ScaledObject

Example: scale `worker` between 0 and 20 replicas on RabbitMQ queue depth,
one replica per ~50 messages:

```yaml
apiVersion: keda.sh/v1alpha1
kind: ScaledObject
metadata:
  name: worker-scaler
  namespace: app
spec:
  scaleTargetRef:
    name: worker            # the Deployment to scale
  minReplicaCount: 0        # scale to zero when idle
  maxReplicaCount: 20
  cooldownPeriod: 120       # seconds idle before dropping to zero
  triggers:
    - type: rabbitmq
      metadata:
        queueName: jobs
        mode: QueueLength
        value: "50"
      authenticationRef:
        name: rabbitmq-auth
```

Credentials never go in the ScaledObject — reference a
`TriggerAuthentication` backed by a Secret:

```yaml
apiVersion: keda.sh/v1alpha1
kind: TriggerAuthentication
metadata:
  name: rabbitmq-auth
  namespace: app
spec:
  secretTargetRef:
    - parameter: host
      name: rabbitmq-conn        # Secret name
      key: connectionString      # amqp://user:pass@rabbitmq:5672/
```

Apply both:

```sh
kubectl apply -f scaledobject.yaml
```

For run-to-completion work (one Job per message batch) use `ScaledJob` instead
of `ScaledObject` — same triggers, `jobTargetRef` instead of `scaleTargetRef`.

## 3. Verify

```sh
kubectl get scaledobject -n app
kubectl get hpa -n app
```

Expected: the ScaledObject shows `READY: True`, and a `keda-hpa-worker-scaler`
HPA appeared. Now prove the loop works:

1. With the queue empty, wait `cooldownPeriod` — `kubectl get deploy worker`
   goes to 0 replicas.
2. Push messages onto the queue — replicas climb within ~30s (KEDA's default
   polling interval):

```sh
kubectl get deploy worker -n app -w
```

## Troubleshooting

- **`READY: False`** — `kubectl describe scaledobject worker-scaler -n app`;
  the condition message names the failing trigger (bad connection string,
  unreachable broker, wrong queue name).
- **Deployment never reaches zero** — something else keeps it up: a stray
  plain HPA targeting the same Deployment (delete it — KEDA owns the HPA now),
  or `minReplicaCount` unset (default is 0, but check).
- **Scales up but not from zero / not at all** — activation is a separate
  threshold: `activationThreshold` on most scalers gates the 0→1 step.
- **Auth errors in operator logs** —
  `kubectl logs -n keda deploy/keda-operator | grep -i error`; usually the
  Secret key name doesn't match `secretTargetRef.key`.

More Deployment & CI/CD skills

finetuning

microsoft/azure-skills

Fine-tune models on Microsoft Foundry using SFT (supervised), DPO (preference), or RFT (reinforcement with graders). Covers dataset preparation, training job submission, deployment, and evaluation. USE FOR: fine-tune, SFT, DPO, RFT, training data, grader, distillation, fine-tuned model, training job, large file upload, calibrate grader, deploy fine-tuned model, evaluate fine-tuned model. DO NOT USE FOR: general model deployment without fine-tuning (use deploy-model), agent creation (use agents), prompt optimization without training (use prompt-optimizer).

323.2k

prisma-compute

prisma/skills

Prisma Compute deployment and hosting guide. Use whenever the user mentions Prisma Compute, `prisma.compute.ts`, `defineComputeConfig`, deploying or hosting a Prisma app, `@prisma/cli app deploy`, `compute:deploy`, `create-prisma --deploy`, `PRISMA_SERVICE_TOKEN`, Compute auth/workspaces, apps/deployments/build logs/domains, localhost vs `0.0.0.0`, deploy port binding, or framework deploy readiness for Hono, Elysia, Next.js, TanStack Start, Astro, Nuxt, Svelte, Nest, Turborepo, or custom/prebuilt artifacts.

231.4k

azure-quotas

microsoft/azure-skills

Check/manage Azure quotas and usage across providers. For deployment planning, capacity validation, region selection. WHEN: \"check quotas\", \"service limits\", \"current usage\", \"request quota increase\", \"quota exceeded\", \"validate capacity\", \"regional availability\", \"provisioning limits\", \"vCPU limit\", \"how many vCPUs available in my subscription\".

187.6k

← All Deployment & CI/CD skills

Check your AI visibility

One URL in, a 0–100 score and the exact fixes out.

RUN THE CHECK

Browse all the tools

15 tools across six categories
13 of them never send your data anywhere

Free · No signup · No trial clock

SEE THE DIRECTORY