-
Notifications
You must be signed in to change notification settings - Fork 4.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Allow helm users to disable kong and use the ingress #9317
base: master
Are you sure you want to change the base?
Conversation
Welcome @mkhpalm! |
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: mkhpalm The full list of commands accepted by this bot can be found here.
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
That's not something we'd want to support directly. The reason is that ingress has its limitations and can't support multiple backend protocols in a single ingress instance, i.e. gRPC and HTTP(s) (rest or gql). We know for sure that we will be migrating our backend architecture further and this configuration will eventually stop working. It would require multiple ingresses and that's not something we want to promote. That is why we want to use API Gateway which will handle everything and expose a single public-facing API. |
PR needs rebase. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
@floreks Consider using gateway api. |
Gateway API is not the same as API Gateway. We need API Gateway to stitch together our services and expose them as a single API. |
And for this, you could define a Gateway and let the user decide for the tool to use for the Gateway (Traefik, Istio, $younameit) which possibly already exists on a users cluster instead of enforcing the user to pull Kong in. |
That's why it is already possible to disable kong via helm values and replace our gateway configuration for services with configuration matching your gateway of choice. Unfortunately in that case we cannot guarantee that the gateway configuration will not change. Not every gateway i.e. can support multiple protocols and different types of apis being exposed under the same subpath. When selecting our gateway of choice we have had a list of requirements and kong checked all the boxes for us. Most of the other gateways we have considered did not. |
Disabling the Kong proxy also breaks the service monitor. |
This change allows helm users to disable kong and enable the app.ingress without getting an error.
Fixes: #8972
https://kubernetes.io/docs/concepts/services-networking/ingress/#examples
Example values: