Kubernetes pod autoscaler based on queue size in AWS SQS
Last updated Mar 15, 2025
70
Stars
25
Forks
13
Issues
0
Stars/day
Attention Score
22
Topics
Language breakdown
Python 90.8%
Makefile 3.9%
Dockerfile 3.2%
Shell 2.1%
▸ Files
click to expand
README
k8s-sqs-autoscaler
Kubernetes pod autoscaler based on queue size in AWS SQSUsage
Create a kubernetes deployment like this:apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: my-k8s-autoscaler
spec:
revisionHistoryLimit: 1
replicas: 1
template:
metadata:
labels:
app: my-k8s-autoscaler
spec:
containers:
- name: my-k8s-autoscaler
image: sideshowbandana/k8s-sqs-autoscaler:1.0.0
command:
- ./k8s-sqs-autoscaler
- --sqs-queue-url=https://sqs.$(AWSREGION).amazonaws.com/$(AWSID)/$(SQS_QUEUE) # required
- --kubernetes-deployment=$(KUBERNETES_DEPLOYMENT)
- --kubernetes-namespace=$(K8S_NAMESPACE) # optional
- --aws-region=us-west-2 #required
- --poll-period=10 # optional
- --scale-down-cool-down=30 # optional
- --scale-up-cool-down=10 # optional
- --scale-up-messages=20 # optional
- --scale-down-messages=10 # optional
- --max-pods=30 # optional
- --min-pods=1 # optional
env:
- name: K8S_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
resources:
requests:
memory: "64Mi"
cpu: "250m"
limits:
memory: "1512Mi"
cpu: "500m"
ports:
- containerPort: 80🔗 More in this category