http-add-on

module
v0.8.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 2, 2024 License: Apache-2.0

README

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) graduated project.

Code of Conduct

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

Directories

Path Synopsis
apis/http/v1alpha1
Package v1alpha1 contains API Schema definitions for the http v1alpha1 API group +kubebuilder:object:generate=true +groupName=http.keda.sh
Package v1alpha1 contains API Schema definitions for the http v1alpha1 API group +kubebuilder:object:generate=true +groupName=http.keda.sh
generated/clientset/versioned/fake
This package has the automatically generated fake clientset.
This package has the automatically generated fake clientset.
generated/clientset/versioned/mock
Package mock is a generated GoMock package.
Package mock is a generated GoMock package.
generated/clientset/versioned/scheme
This package contains the scheme of the automatically generated clientset.
This package contains the scheme of the automatically generated clientset.
generated/clientset/versioned/scheme/mock
Package mock is a generated GoMock package.
Package mock is a generated GoMock package.
generated/clientset/versioned/typed/http/v1alpha1
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
generated/clientset/versioned/typed/http/v1alpha1/fake
Package fake has the automatically generated clients.
Package fake has the automatically generated clients.
generated/clientset/versioned/typed/http/v1alpha1/mock
Package mock is a generated GoMock package.
Package mock is a generated GoMock package.
generated/informers/externalversions/http/mock
Package mock is a generated GoMock package.
Package mock is a generated GoMock package.
generated/informers/externalversions/http/v1alpha1/mock
Package mock is a generated GoMock package.
Package mock is a generated GoMock package.
generated/informers/externalversions/internalinterfaces/mock
Package mock is a generated GoMock package.
Package mock is a generated GoMock package.
generated/informers/externalversions/mock
Package mock is a generated GoMock package.
Package mock is a generated GoMock package.
generated/listers/http/v1alpha1/mock
Package mock is a generated GoMock package.
Package mock is a generated GoMock package.
pkg
env
k8s
net
Handlers contains the gRPC implementation for an external scaler as defined by the KEDA documentation at https://keda.sh/docs/2.0/concepts/external-scalers/#built-in-scalers-interface This is the interface KEDA will poll in order to get the request queue size and scale user apps properly
Handlers contains the gRPC implementation for an external scaler as defined by the KEDA documentation at https://keda.sh/docs/2.0/concepts/external-scalers/#built-in-scalers-interface This is the interface KEDA will poll in order to get the request queue size and scale user apps properly

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL