Users want a way to configure Mappings generated from K8s Ingress resources
See original GitHub issueDescribe the bug
When using Ingress
+ Mapping
annotation together to
- get
ExternalDNS
to create the required DNS records - set
grpc: True
to supportHTTP/2
-only upstreams
Ambassador sets up two Envoy clusters for the given DNS record, effectively creating a 50/50 traffic split. This breaks in our use-case as the Ingress-driven route isn’t configured for HTTP/2
-only upstream, causing 50% of the connections to fail.
Based on my reading of the relevant docs it sounds like this scenario should be supported.
To Reproduce Steps to reproduce the behavior:
- Apply the following Ingress with Mapping annotation:
kind: Ingress
apiVersion: networking.k8s.io/v1beta1
metadata:
name: test-browser
namespace: test
annotations:
kubernetes.io/ingress.class: ambassador
getambassador.io/config: |
---
apiVersion: ambassador/v1
kind: Mapping
name: test-browser
service: http://test-browser.test:8000
host: test-browser.foo.com
grpc: True
prefix: /
rewrite: /
spec:
rules:
- host: test-browser.foo.com
http:
paths:
- backend:
serviceName: test-browser
servicePort: 8000
- Check that Ambassador sets up a 50/50 traffic split instead of merging Ingress and Mapping
- Send traffic through, observe ~50% of traffic failing.
Expected behavior Ambassador merges Ingress and Mapping definition into a single Envoy cluster.
Versions (please complete the following information):
- Ambassador: 1.5.5
- Kubernetes environment: EKS
- Version: 1.16.8
Additional context
We’re currently using a work-around and annotating the Ambassador K8S service with the external-dns.alpha.kubernetes.io/hostname:
key listing all the DNS names we want pointed to Ambassador, but this effectively means all the DNS configuration needs to be done at the Ambassador service level, which isn’t sustainable long term.
Issue Analytics
- State:
- Created 3 years ago
- Reactions:2
- Comments:8 (1 by maintainers)
Top GitHub Comments
I dont think it is stale. Like if you want to bypass_auth or any other setting on ingress how would you do that?
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.