hashicorp / hashicorp/consul

Ingress: support external load balancers (aws alb ingress controller) to ingress into mesh with transparent proxy

Open
#10,626 3 comments 10 reactions 0 assignees View on GitHub
theme/connect theme/envoy/xds
Dominant language
Go
Stars
30.1k
Forks
4.6k
Avg merge
1d 18h
Merged PRs (30d)
39

Description

### Community Note

* Please vote on this issue by adding a 👍 [reaction](https://blog.github.com/2016-03-10-add-reactions-to-pull-requests-issues-and-comments/) to the original issue to help the community and maintainers prioritize this request. Searching for pre-existing feature requests helps us consolidate datapoints for identical requirements into a single place, thank you!
* Please do not leave "+1" or other comments that do not add relevant new information or questions, they generate extra noise for issue followers and do not help prioritize the request.
* If you are interested in working on this issue or have submitted a pull request, please leave a comment.

---

#### Is your feature request related to a problem? Please describe.

The feature request has some related comments in issue hashicorp/consul-k8s#430.

> I attempted to inject the [aws-load-balancer-controller](https://kubernetes-sigs.github.io/aws-load-balancer-controller/v2.2/) to no avail. I don't think the integration works with the aws-load-balancer-controller as described in [the documentation](https://www.consul.io/docs/k8s/connect/ingress-controllers). I was able to expose an http endpoint on the sidecar to pass the alb health checks, but the actual traffic returned the error:
>```
>[source/extensions/transport_sockets/tls/ssl_socket.cc:219] [C1732] TLS error: 268435648:SSL >routines:OPENSSL_internal:PEER_DID_NOT_RETURN_A_CERTIFICATE
>```
> I assume this is happening because the load balancer that is sending traffic to the pod has no certificate signed by the CA consul is using for mTLS.

versions used
```
consul: 1.10.0
consul-k8s: 0.26.0
envoy: v1.18.3
```

#### Feature Description

Bring external traffic into the service mesh using an aws application load balancer.

#### Use Case(s)

In relation to hashicorp/consul-k8s#430, there doesn't seem to be much support for third party ingress controllers at this time. I only saw examples for kong & traefik in [the documentation](https://www.consul.io/docs/k8s/connect/ingress-controllers)

Please let me know if the feature makes sense. I'm happy to expand if needed!

Contributor guide

Open the contributing guide

Research direction

Start by reviewing hashicorp/consul-k8s#430 and the Consul Kubernetes ingress-controller documentation, including the Kong and Traefik examples. Reproduce the reported AWS load balancer behavior with the listed Consul, consul-k8s, and Envoy versions. Done should be defined as external AWS ALB traffic entering the mesh through a transparent proxy without the reported mTLS failure.

Written by the indexing model from the issue text.

Assessment

Tech stack
aws, kubernetes
Domain
cloud, distributed-systems, networking
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.