Basic Ingress not working

Hello

I’ve just started using Kong for the first time.
I’m using the Kong Ingress controller for Kubernetes on EKS.
I’ve installed helm version 2.6.4 using the default values.
I’ve installed it, and when I hit the LoadBalancer I get the expected:

{
	"message": "no Route matched with those values"
}

When I try to add a simple echo server such as follows:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: echo
spec:
  ingressClassName: kong
  rules:
    - http:
        paths:
          - path: /echo
            pathType: ImplementationSpecific
            backend:
              service:
                name: echo-service
                port:
                  number: 8080

When I try to access the LoadBalancer at /echo, the requests times out, and I see the following from the proxy:

172.29.3.55 - - [13/May/2022:10:40:02 +0000] "GET /echo HTTP/2.0" 499 0 "-" "insomnia/2022.3.0"

Result of /services

{
	"data": [
		{
			"name": "default.echo-service.pnum-8080",
			"path": "/",
			"enabled": true,
			"retries": 5,
			"id": "1861fff0-b76d-51a5-b4bf-08889d4f5177",
			"port": 80,
			"client_certificate": null,
			"write_timeout": 60000,
			"tls_verify": null,
			"tls_verify_depth": null,
			"read_timeout": 60000,
			"protocol": "http",
			"host": "echo-service.default.8080.svc",
			"updated_at": 1652437917,
			"connect_timeout": 60000,
			"created_at": 1652437917,
			"tags": null,
			"ca_certificates": null
		}
	],
	"next": null
}

Result of /routes

{
	"data": [
		{
			"name": "default.echo.00",
			"destinations": null,
			"id": "e97bc643-59d4-53c1-83e2-87169eaa28d5",
			"path_handling": "v0",
			"https_redirect_status_code": 426,
			"request_buffering": true,
			"response_buffering": true,
			"protocols": [
				"http",
				"https"
			],
			"hosts": null,
			"paths": [
				"/echo"
			],
			"headers": null,
			"service": {
				"id": "1861fff0-b76d-51a5-b4bf-08889d4f5177"
			},
			"updated_at": 1652437917,
			"sources": null,
			"tags": null,
			"created_at": 1652437917,
			"snis": null,
			"preserve_host": true,
			"strip_path": false,
			"regex_priority": 100,
			"methods": null
		}
	],
	"next": null
}

My service and deployment are accessible and working when port-forwarding, but I cannot for the life of me figure out why this wont work.
I’m sure I’m just missing something fundamental.
Any help would be really appreciated :slight_smile:

Thank You

I supposed you are using Application Load Balancer to front the cluster?

Have you check if you have any security groups that restrict traffic from your origin(workstation), or if the ALB targets group are properly reference to the EKS nodes?

Maybe this will give you a better picture

Thank you for your reply.
I managed to get it working.
There was an issue with my security groups between my aws node groups which was preventing traffic between my services.

I supposed you are using Application Load Balancer to front the cluster?
Im not, i currently an using a nlb to kong which will take care of the routing.

Is there a reason to front it with an ALB?

Thanks!

:slight_smile: i think i have faced with the same issue previously.

At that time we decided to use ALB because we want to enjoy AWS Web Application Firewall. Its fine working with NLB too, just that you probably have set-up your own Certificate Authority (can check out cert-manager) if you intend to do TLS secure connection.

1 Like