/kubernetes-ingress-controller

:gorilla: Kong for Kubernetes: the official Ingress Controller for Kubernetes.

Primary LanguageGoApache License 2.0Apache-2.0

Build Status codecov License Twitter

Kong for Kubernetes

Use Kong for Kubernetes Ingress. Configure plugins, health checking, load balancing and more in Kong for Kubernetes Services, all using Custom Resource Definitions(CRDs) and Kubernetes-native tooling.

Features | Get started | Documentation | Master branch builds | Seeking help

Features

  • Ingress routing Use Ingress resources to configure Kong
  • Enhanced API management using plugins Use a wide-array of plugins to monitor, transform, protect your traffic.
  • Native gRPC support Proxy gRPC traffic and gain visibility into it using Kong's plugin.
  • Health checking and Load-balancing Load balance requests across your pods and supports active & passive health-checks.
  • Request/response transformations Use plugins to modify your requests/responses on the fly.
  • Authentication Protect your services using authentication methods of your choice.
  • Declarative configuration for Kong Configure all of Kong using CRDs in Kubernetes and manage Kong declaratively.

Get started

You can use Minikube on your local machine or use a hosted k8s service like GKE.

Setting up Kong for Kubernetes is as simple as:

# using YAMLs
$ kubectl apply -f https://bit.ly/k4k8s

# or using Helm
$ helm repo add kong https://charts.konghq.com
$ helm repo update

# Helm 3
$ helm install kong/kong --generate-name --set ingressController.installCRDs=false

Once installed, please follow the Getting Started guide to start using Ingress in your Kubernetes cluster.

Note: Kong Enterprise users, please follow along our enterprise guide to setup the enterprise version.

Documentation

All documentation around Kong Ingress Controller is present in this repository inside the docs directory. Pull Requests are welcome for additions and corrections.

Guides and Tutorials

Please browse through guides to get started or understand how to configure a specific setting with Kong Ingress Controller.

Master branch builds

If you would like to use the latest and the greatest version of the controller, you can use latest tag from the kong-ingress-controller repository hosted on Bintray:

docker pull kong-docker-kubernetes-ingress-controller.bintray.io/kong-ingress-controller:latest

Seeking help

Please search through the posts on Kong Nation as it's likely that another user has run into the same problem. If you don't find an answer, please feel free to post a question. For a feature request, please post in Feature Suggestions category.

You can also talk to the developers behind Kong in the #kong channel on the Kubernetes Slack server.

If you've spotted a bug, please open an issue on our Github.

Community meetings

You can join monthly meetings hosted by the maintainers of the project to ask questions, provide feedback or just come and say hello. The meeting takes place on every second Tuesday of the month at 10 am Pacific time. Please submit your contact details on the online meetups page to receive meeting invite and Zoom links to join the meeting.