• Stars
    star
    348
  • Rank 121,840 (Top 3 %)
  • Language
    Go
  • License
    Apache License 2.0
  • Created almost 4 years ago
  • Updated 2 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Add-on for KEDA to scale HTTP workloads

Table of Contents generated with DocToc

Kubernetes-based Event Driven Autoscaling - HTTP Add-on

The KEDA HTTP Add-on allows Kubernetes users to automatically scale their HTTP servers up and down (including to/from zero) based on incoming HTTP traffic. Please see our use cases document to learn more about how and why you would use this project.

🚧 Project status: beta 🚧
πŸ“’ KEDA is actively relying on community contributions to help grow & maintain the add-on. The KEDA maintainers are assisting the community to evolve the add-on but not directly responsible for it. Feel free to open a new discussion in case of questions.

⚠ The HTTP Add-on currently is in beta. We can't yet recommend it for production usage because we are still developing and testing it. It may have "rough edges" including missing documentation, bugs and other issues. It is currently provided as-is without support.

HTTP Autoscaling Made Simple

KEDA provides a reliable and well tested solution to scaling your workloads based on external events. The project supports a wide variety of scalers - sources of these events, in other words. These scalers are systems that produce precisely measurable events via an API.

KEDA does not, however, include an HTTP-based scaler out of the box for several reasons:

  • The concept of an HTTP "event" is not well defined.
  • There's no out-of-the-box single system that can provide an API to measure the current number of incoming HTTP events or requests.
  • The infrastructure required to achieve these measurements is more complex and, in some cases, needs to be integrated into the HTTP routing system in the cluster (e.g. the ingress controller).

For these reasons, the KEDA core project has purposely not built generic HTTP-based scaling into the core.

This project, often called KEDA-HTTP, exists to provide that scaling. It is composed of simple, isolated components and includes an opinionated way to put them together.

Adopters - Become a listed KEDA user!

We are always happy to start list users who run KEDA's HTTP Add-on in production or are evaluating it, learn more about it here.

We welcome pull requests to list new adopters.

Walkthrough

Although this is currently a beta release project, we have prepared a walkthrough document with instructions on getting started for basic usage.

See that document at docs/walkthrough.md

Design

The HTTP Add-on is composed of multiple mostly independent components. This design was chosen to allow for highly customizable installations while allowing us to ship reasonable defaults.

  • We have written a complete design document. Please see it at docs/design.md.
  • For more context on the design, please see our scope document.
  • If you have further questions about the project, please see our FAQ document.

Installation

Please see the complete installation instructions.

Roadmap

We use GitHub issues to build our backlog, a complete overview of all open items and our planning.

Learn more about our roadmap.

Contributing

This project follows the KEDA contributing guidelines, which are outlined in CONTRIBUTING.md.

If you would like to contribute code to this project, please see docs/developing.md.


We are a Cloud Native Computing Foundation (CNCF) incubation project.

Code of Conduct

Please refer to the organization-wide Code of Conduct document.

More Repositories

1

keda

KEDA is a Kubernetes-based Event Driven Autoscaling component. It provides event driven scale for any container running in Kubernetes
Go
8,291
star
2

charts

Helm charts for KEDA
Mustache
151
star
3

keda-docs

Documentation and landing page for KEDA
HTML
114
star
4

sample-go-rabbitmq

Sample KEDA deployment using a Go RabbitMQ consumer
Go
96
star
5

sample-dotnet-worker-servicebus-queue

Simple queue worker written in .NET powered by KEDA
C#
82
star
6

samples

Place for community to contribute samples
76
star
7

sample-hello-world-azure-functions

Simple hello world sample of an Azure Function triggering on an Azure Queue powered by KEDA
Dockerfile
75
star
8

keda-olm-operator

Operator for deploying KEDA Controller on OperatorHub.io/OLM
Go
31
star
9

sample-go-gcppubsub

Sample KEDA example for GCP PubSub
Makefile
17
star
10

sample-typescript-kafka-azure-function

Sample KEDA deployment using the Azure Functions runtime running a Kafka triggered function in Typescript
TypeScript
14
star
11

external-scalers

Explore external scalers built by the community.
11
star
12

external-scaler-samples

C#
10
star
13

external-scaler-azure-cosmos-db

KEDA External Scaler for Azure Cosmos DB
C#
10
star
14

governance

Governance of KEDA
8
star
15

sample-python-kafka-azure-function

Sample KEDA deployment using the Azure Functions runtime running a Kafka triggered function in Python
Dockerfile
7
star
16

dashboard

Dashboard to use to view details of your keda deployment
TypeScript
6
star
17

test-tools

Repository provides all tooling for running our tests
Go
5
star
18

keda-external-scaler-azure-durable-functions

External scaler for Durable Functions workloads.
C#
5
star
19

sample-javascript-eventhub-azure-function

Quickstart for event hub scaler using Javascript Azure function which consumes the event hub messages.
C#
2
star
20

sample-azure-functions-on-ocp4

Sample to scale Azure Functions on OCP4 with KEDA
2
star
21

keda-performance

JavaScript
2
star
22

sample-go-storage-queue

KEDA Azure Storage Queue Trigger Samples
Go
1
star