Kubernetes Operator for Kong Gateways
https://github.com/Kong/kong-operator.git
Kong Operator is a Kubernetes Operator that can manage your Kong Ingress Controller, Kong Gateway Data Planes, or both together when running on Kubernetes.
With Kong Operator, users can:
PodTemplateSpec to:The following features are considered supported:
DataPlane APIControlPlane APIDataPlane APIAIGateways (experimental feature)The operator provides 2 APIs:
This project:
If you are eager to start with the operator, you can visit the quick start section of the documentation. Alternatively, the complete docs provide a full and detailed description of how to thoroughly use this project.
Release builds can be found on Docker Hub in kong/kong-operator repository.
At the moment we're providing images for:
amd64arm64main branch buildsNightly pre-release builds of the main branch are available from the
kong/nightly-kong-operator repository hosted on Docker Hub.
In order to build the operator you'll have to have Go installed on your machine. In order to do so, follow the instructions on its website[go-dev-site].
Building the operator should be as simple as running:
make build
This Makefile target will take care of everything from generating client side code,
generating Kubernetes manifests, downloading the dependencies and the tools used
in the build process and finally, it will build the binary.
After this step has finished successfully you should see the operator's binary bin/manager.
You can also run it directly via make run which will run the operator on your
machine against the cluster that you have configured via your KUBECONFIG.
Whenever you add a new CRD:
PROJECT file. This is necessary for creation ofEvery night a new container image is built from the main development branch.
It can be installed using the helm chart from the main repo:
git clone https://github.com/kong/kong-operator && cd kong-operator
helm upgrade --install kong-operator ./charts/kong-operator -n kong-system \
--create-namespace \
--set image.tag=nightly \
--set image.repository=kong/nightly-kong-operator \
--set env.ENABLE_CONTROLLER_KONNECT=true
[!NOTE]
When using thenightlytag the operator version assumed is the one of theChart.appversion, which is set to the latest release.
If a specific version is required (e.g., to enable version-gated features) you can specify it by adding the--set image.effectiveSemver=<DESIRED_VERSION>argument.
Please search through the posts on the discussions page 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.
If you've found a bug, please open an issue.
For a feature request, please open an issue using the feature request template.
You can also talk to the developers behind Kong in the #kong channel on the Kubernetes Slack server.
You can join bi-weekly 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.