kubernetes-ingress-controller

module
v2.1.0 Latest Latest
Warning

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

Go to latest
Published: Jan 5, 2022 License: Apache-2.0

README

Build Status Go Reference Codecov License Twitter

Kong Ingress Controller for Kubernetes (KIC)

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 | main 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, Kind 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.

Contributing

We ❤️ pull requests, and we’re continually working hard to make it as easy as possible for developers to contribute. Before beginning development with the Kong Ingress, please familiarize yourself with the following developer resources:

Documentation

All documentation around Kong Ingress Controller is present in the kong/docs.konghq.com repository. 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.

main branch builds

Pre-release builds of the main branch are available from the kong-ingress-controller repository hosted on Docker Hub:

main contains unreleased new features for upcoming minor and major releases:

docker pull kong/kubernetes-ingress-controller:main

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 meetups hosted by Kong to ask questions, provide feedback or just to listen and hang out. See the Online Meetups Page to sign up and receive meeting invites and Zoom links.

Directories

Path Synopsis
hack
internal
adminapi/validators/consumer/credentials
Package credentials includes validators for the credentials provided for KongConsumers.
Package credentials includes validators for the credentials provided for KongConsumers.
cmd
cmd/rootcmd
Package rootcmd implements the cobra.Command that manages the controller manager lifecycle.
Package rootcmd implements the cobra.Command that manages the controller manager lifecycle.
controllers/configuration
Package configuration contains Kubernetes controllers responsible for configuration.konghq.com grouped API types.
Package configuration contains Kubernetes controllers responsible for configuration.konghq.com grouped API types.
manager
Package manager implements the controller manager for all controllers
Package manager implements the controller manager for all controllers
metadata
Package metadata includes metadata variables for logging and reporting.
Package metadata includes metadata variables for logging and reporting.
pkg
apis/configuration/v1
Package v1 contains API Schema definitions for the konghq.com v1 API group +kubebuilder:object:generate=true +groupName=configuration.konghq.com
Package v1 contains API Schema definitions for the konghq.com v1 API group +kubebuilder:object:generate=true +groupName=configuration.konghq.com
apis/configuration/v1beta1
Package v1beta1 contains API Schema definitions for the configuration.konghq.com v1beta1 API group +kubebuilder:object:generate=true +groupName=configuration.konghq.com
Package v1beta1 contains API Schema definitions for the configuration.konghq.com v1beta1 API group +kubebuilder:object:generate=true +groupName=configuration.konghq.com
clientset
This package has the automatically generated clientset.
This package has the automatically generated clientset.
clientset/fake
This package has the automatically generated fake clientset.
This package has the automatically generated fake clientset.
clientset/scheme
This package contains the scheme of the automatically generated clientset.
This package contains the scheme of the automatically generated clientset.
clientset/typed/configuration/v1
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
clientset/typed/configuration/v1/fake
Package fake has the automatically generated clients.
Package fake has the automatically generated clients.
clientset/typed/configuration/v1beta1
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
clientset/typed/configuration/v1beta1/fake
Package fake has the automatically generated clients.
Package fake has the automatically generated clients.

Jump to

Keyboard shortcuts

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