All Projects → sideshowbandana → k8s-sqs-autoscaler

sideshowbandana / k8s-sqs-autoscaler

Licence: other
Kubernetes pod autoscaler based on queue size in AWS SQS

Programming Languages

python
139335 projects - #7 most used programming language
Makefile
30231 projects
Dockerfile
14818 projects
shell
77523 projects

Projects that are alternatives of or similar to k8s-sqs-autoscaler

Laravel Bridge
Package to use Laravel on AWS Lambda with Bref
Stars: ✭ 168 (+140%)
Mutual labels:  sqs
terraform-aws-dynamodb-autoscaler
Terraform module to provision DynamoDB autoscaler
Stars: ✭ 21 (-70%)
Mutual labels:  autoscaler
Rin
Rin is a Redshift data Importer by SQS messaging.
Stars: ✭ 27 (-61.43%)
Mutual labels:  sqs
Alpine Sqs
Dockerized ElasticMQ server + web UI over Alpine Linux for local development
Stars: ✭ 183 (+161.43%)
Mutual labels:  sqs
python-task-queue
Asynchronous serverless task queue with timed leasing of tasks. Threaded implementations for SQS and local filesystem.
Stars: ✭ 24 (-65.71%)
Mutual labels:  sqs
mq-go
SQS Consumer Server for Go
Stars: ✭ 28 (-60%)
Mutual labels:  sqs
Justsaying
A light-weight message bus on top of AWS services (SNS and SQS).
Stars: ✭ 157 (+124.29%)
Mutual labels:  sqs
lambdakiq
ActiveJob on SQS & Lambda
Stars: ✭ 131 (+87.14%)
Mutual labels:  sqs
ontopic
Display SNS messages on your terminal
Stars: ✭ 20 (-71.43%)
Mutual labels:  sqs
blaster
Web hooks for message queues
Stars: ✭ 14 (-80%)
Mutual labels:  sqs
amazon-sns-java-extended-client-lib
This AWS SNS client library allows to publish messages to SNS that exceed the 256 KB message size limit.
Stars: ✭ 23 (-67.14%)
Mutual labels:  sqs
PyRSMQ
Python Implementation of Redis Simple Message Queue Algorithm
Stars: ✭ 35 (-50%)
Mutual labels:  sqs
sqsiphon
No description or website provided.
Stars: ✭ 19 (-72.86%)
Mutual labels:  sqs
Kombu
Kombu is a messaging library for Python.
Stars: ✭ 2,263 (+3132.86%)
Mutual labels:  sqs
wtsqs
Simplified Node AWS SQS Worker Wrapper
Stars: ✭ 18 (-74.29%)
Mutual labels:  sqs
Sqs Worker Serverless
Example for SQS Worker in AWS Lambda using Serverless
Stars: ✭ 164 (+134.29%)
Mutual labels:  sqs
django-eb-sqs-worker
Django Background Tasks for Amazon Elastic Beanstalk
Stars: ✭ 27 (-61.43%)
Mutual labels:  sqs
docker-kube-amqp-autoscale
Dynamically scale kubernetes resources using length of an AMQP queue
Stars: ✭ 29 (-58.57%)
Mutual labels:  autoscaler
go-localstack
Go Wrapper for using localstack
Stars: ✭ 56 (-20%)
Mutual labels:  sqs
toiler
Toiler is a AWS SQS long-polling thread-based message processor.
Stars: ✭ 15 (-78.57%)
Mutual labels:  sqs

k8s-sqs-autoscaler

Kubernetes pod autoscaler based on queue size in AWS SQS

Usage

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.$(AWS_REGION).amazonaws.com/$(AWS_ID)/$(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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].