AWS Load Balancer Controller Ingress not supported
Summary
Deployment with AWS Load Balancer Controller ingress fails
Steps to reproduce
- Install the AWS Load Balancer Controller in an EKS cluster
- Configure the helm chart to use ALBC as an ingress
Configuration used
Global ingress:
- global:
ingress:
class: alb
annotations:
alb.ingress.kubernetes.io/scheme: internet-facing
alb.ingress.kubernetes.io/target-type: ip
alb.ingress.kubernetes.io/listen-ports: '[{"HTTPS": 443}]'
Webservice ingress:
gitlab:
webservice:
deployments:
default:
ingress:
path: /
Current behavior
An ingress is created with the path "/", which is fine for nginx-ingress. ALBC needs "/*", otherwise it won't forward anything except "/" to the backend.
However, attempting to create an ingress with the path "/*" fails the validation at https://gitlab.com/gitlab-org/charts/gitlab/-/blob/master/charts/gitlab/charts/webservice/templates/_datamodel.tpl#L31
Expected behavior
Either the validation allows the path "/*", or (better) the Ingress pathType is used and set to Prefix
: https://github.com/kubernetes-sigs/aws-load-balancer-controller/pull/1772 (rather than the default ImplementationSpecific
) so that nginx-ingress and ALBC handle it the same.
Versions
- Chart: a53917db
- Platform:
- EKS
- Kubernetes: (
kubectl version
)- Server: 1.18.9
- Helm: (
helm version
)- Client: 3.5.0