apache / apisix-ingress-controller

APISIX Ingress Controller for Kubernetes
https://apisix.apache.org/
Apache License 2.0
1k stars 341 forks source link
api apigateway apisix controller crds devops ingress k8s kubernetes kubernetes-ingress loadbalancing microservices

Apache APISIX for Kubernetes

Go Report Card Slack

Use Apache APISIX for Kubernetes Ingress.

All configurations in apisix-ingress-controller are defined with Kubernetes CRDs (Custom Resource Definitions). Support configuring plugins, service registration discovery mechanism for upstreams, load balancing and more in Apache APISIX.

apisix-ingress-controller is an Apache APISIX control plane component. Currently it serves for Kubernetes clusters. In the future, we plan to separate the submodule to adapt to more deployment modes, such as virtual machine clusters.

The technical architecture of apisix-ingress-controller:

Architecture

Status

This project is currently general availability.

Features

More about comparison among multiple Ingress Controllers.

Get started

Prerequisites

Apisix ingress controller requires Kubernetes version 1.16+. Because we used CustomResourceDefinition v1 stable API. From the version 1.0.0, APISIX-ingress-controller need to work with Apache APISIX version 2.7+.

Works with APISIX Dashboard

Currently, APISIX Ingress Controller automatically manipulates some APISIX resources, which is not very compatible with APISIX Dashboard. In addition, users should not modify resources labeled managed-by: apisix-ingress-controllers via APISIX Dashboard.

Internal Architecture

module

Apache APISIX Ingress vs. Kubernetes Ingress Nginx

Contributing

We welcome all kinds of contributions from the open-source community, individuals and partners.

How to contribute

Most of the contributions that we receive are code contributions, but you can also contribute to the documentation or simply report solid bugs for us to fix.

For new contributors, please take a look at issues with a tag called Good first issue or Help wanted.

How to report a bug

Contributor over time

Contributor over time

Community

Todos

User stories

If you are willing to share with us some scenarios and use cases when you use APISIX Ingress, please reply to the issue, or submit PR to update Powered-BY file

Who Uses APISIX Ingress?

A wide variety of companies and organizations use APISIX Ingress for research, production and commercial product, below are some of them:

Milestone

Terminology