HKS
HKS

Reputation: 983

How can I publicly access my application running on a Kubernetes cluster on Amazon EKS?

Kubernetes & AWS EKS newbie here.

I have deployed a simple Node.js web application onto a cluster on Amazon EKS. When I send a GET request to the root (/) route, my app responds with the message: Hello from Node.

My Deployment and Service configuration files are as follows:

eks-sample-deployment.yaml

apiVersion: apps/v1
kind: Deployment
metadata:
  name: eks-sample-app-deployment
spec:
  replicas: 2
  selector:
    matchLabels:
      app: eks-sample-app
  template:
    metadata:
      labels:
        app: eks-sample-app
    spec:
      containers:
        - name: eks-sample-app-container
          image: sundaray/node-server:v1
          ports:
            - containerPort: 8000

eks-sample-service.yaml

apiVersion: v1
kind: Service
metadata:
  name: eks-sample-app-service
spec:
  type: NodePort
  ports:
    - port: 3050
      targetPort: 8000
      nodePort: 31515
  selector:
    app: eks-sample-app

After I deployed my app, I checked the container log as shown below & I get the right response: Server listening on port 8000.

enter image description here

Now, I want to access my application from my browser. How do I get the URL address where I can access my app?

Upvotes: 0

Views: 2642

Answers (1)

vladtkachuk
vladtkachuk

Reputation: 741

What you are looking for is Ingress

An API object that manages external access to the services in a cluster, typically HTTP.

https://kubernetes.io/docs/concepts/services-networking/ingress/ https://aws.amazon.com/premiumsupport/knowledge-center/eks-access-kubernetes-services/

Upvotes: 1

Related Questions