question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Does anyone have a working AWS NLB configuration with ambassador?

See original GitHub issue

Hi,

My apologies for asking this question in issues. Don’t know where else to put it.

I am trying to setup a kubernetes cluster in AWS EKS that uses a NLB loadbalancer with ambassador edge stack/emissary ingress. However after hours of troubleshooting and trying I didn’t get it to work.

Following this guide: https://www.getambassador.io/docs/edge-stack/1.14/topics/install/yaml-install/ Ambassador edge stack v1.14 installs just fine without any errors and creates all the necessary pods and resources. It also creates an ELB loadbalancer automatically (this one does nothing I think?). After following this: https://www.getambassador.io/docs/edge-stack/1.14/topics/running/ambassador-with-aws/ it sets it up a NLB in AWS. Everything seemed fine so far. However, after deploying a test application and pasting the public dns name of the NLB in a browser, the browser just keeps loading. And in the logs of ambassador we see ‘http 200 (OK)’, but no response in the browser. Seems like traffic gets in, but no traffic gets out? We don’t have any firewalls, acl of security groups enabled that block any traffic. This test application worked fine when deployed on a prototype cluster in Virtualbox with MetalLB.

Could anyone share his/her config files for installing/configuring ambassador with NLB like the one below?

Important to note --> The config file in the guide should be changed to http and https? HTTP and HTTPS results in an error (capital letters not allowed).

apiVersion: v1
kind: Service
metadata:
  name: ambassador
  namespace: ambassador
  annotations:
    service.beta.kubernetes.io/aws-load-balancer-type: "nlb"
    service.beta.kubernetes.io/aws-load-balancer-cross-zone-load-balancing-enabled: "true"
spec:
  type: LoadBalancer
  ports:
  - name: HTTP --> http
    port: 80
    targetPort: 8080
  - name: HTTPS --> https
    port: 443
    targetPort: 8443
  selector:
    service: ambassador

Used software: Kubernetes 1.21 (in EKS) Ambassador edge stack 1.14

Test application used to test connection:

---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-test
  labels:
    app: nginx-test
spec:
  replicas: 1
  revisionHistoryLimit: 2
  selector:
    matchLabels:
      app: nginx-test
  template:
    metadata:
      labels:
        app: nginx-test
    spec:
      containers:
      - name: nginx-test
        image: nginx:alpine
        imagePullPolicy: Always
        ports:
        - containerPort: 80
---
apiVersion: v1
kind: Service
metadata:
  name: nginx-test
spec:
  selector:
    app: nginx-test
  ports:
    - protocol: TCP
      port: 80
---
apiVersion: getambassador.io/v2
kind: Mapping
metadata:
  name: nginx-test
spec:
  prefix: /
  rewrite: /
  service: nginx-test:80

Issue Analytics

  • State:open
  • Created 2 years ago
  • Comments:9

github_iconTop GitHub Comments

5reactions
bernardolkcommented, Dec 7, 2021

I concur, this is terrible. I can’t get ambassador + AWS NLB to work and we already tried an ALB configuration before also without success.

5reactions
AlverezYaricommented, Nov 9, 2021

I’ve been fooling around trying to get this product work in our new Argo cluster for the better part of a day. They really need to go through their docs on AWS, its a mess and its a mismatch of instructions that have you creating multiple services that conflict etc and its about as clear as mud. Close to just moving to another product. EKS AWS should be smooth as butter install for a product like this.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Ambassador Edge Stack with AWS
Ambassador Edge Stack is a platform agnostic Kubernetes API gateway. It will run in any distribution of Kubernetes whether it is managed by...
Read more >
Network load balancing on Amazon EKS
The AWS Load Balancer Controller doesn't examine route tables, and requires the private and public tags to be present for successful auto discovery....
Read more >
How do I troubleshoot service load balancers for Amazon EKS?
I can't create a Kubernetes service that's backed by a load balancer in Amazon Elastic Kubernetes Service (Amazon EKS).
Read more >
Installing the AWS Load Balancer Controller add-on
An AWS Application Load Balancer (ALB) when you create a Kubernetes Ingress . ... If your cluster is 1.21 or later, make sure...
Read more >
Create a Network Load Balancer - AWS Documentation
Configuring a target group allows you to register targets such as EC2 instances. The target group that you configure in this step is...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found