🌐 Exposing Services in Amazon EKS: Simplified Methods and Use Cases
Different Ways to Expose Services in an Amazon EKS Cluster

Devops | 3x AWS Certified | CKA
Search for a command to run...
Different Ways to Expose Services in an Amazon EKS Cluster

Devops | 3x AWS Certified | CKA
No comments yet. Be the first to comment.
Throughout this series, we will address a range of crucial tasks within the DevOps lifecycle, including but not limited to
Introduction If you are moving to AWS Identity Center (formerly SSO) and want to keep your Google Workspace users and groups in sync, ssosync is the go-to tool. However, setting up the permissions can be tricky. If you’ve seen the error unauthorized_...

Introduction In this tutorial, I will guide you through establishing a SAML connection between Google Workspace and AWS Identity Center. Later, you will synchronize users from Google Workspace using SCIM. To verify that everything is configured corre...

Implementing Gang Scheduling for Distributed GPU Training on Amazon EKS

Quick Solution If you're in a hurry to solve deployment time issues, simply add the WEBSITE_RUN_FROM_PACKAGE environment variable to your Azure Web App settings and set its value to 1. This change can significantly reduce your deployment times. W...

General DevOps logic behind jiocinema

Exposing services in an Amazon Elastic Kubernetes Service (EKS) cluster allows external users to access applications running within the Kubernetes environment. Let's explore some straightforward ways to achieve this:
Purpose: Creates an external Elastic Load Balancer (ELB) that distributes traffic to the service's pods.
Advantages:
Provides a stable public IP or DNS for the service.
Handles load balancing automatically among pods.
Limitations:
Additional cost for the ELB.
Limited flexibility for advanced routing configurations.
NodePort Service Type:

Purpose: Allocates a static port on each cluster node, forwarding external traffic to the service's pods.
Advantages:
No additional cost for load balancing.
Simple setup without external load balancers.
Limitations:
Not suitable for large-scale production deployments due to potential port conflicts.
The exposed port range might be limited based on the cluster configuration.
Ingress Resource with Application Load Balancer (ALB) { Recommended }:

Purpose: Uses an AWS Application Load Balancer (ALB) as the Ingress controller, enabling advanced HTTP routing and SSL termination.
Advantages:
Advanced HTTP-based routing, host-based routing, and SSL termination.
Better integration with AWS services, like AWS Certificate Manager (ACM).
Limitations:
Ingress controllers require additional resources, which might impact cluster performance.
Setting up ALB Ingress might involve some initial configuration.
ClusterIP Service Type:

Purpose: Exposes the service internally within the cluster for communication between services.
Advantages:
Ideal for internal communication between services within the cluster.
Provides a stable internal IP address for service discovery.
Limitations:
ExternalName Service Type:

Purpose: Maps a service to an external DNS name, enabling access to resources outside the cluster.
Advantages:
Allows services in the cluster to access external resources easily.
Simplifies the transition from external services to internal Kubernetes services.
Limitations:
Only supports mapping to external DNS names, not IP addresses.
Limited to read-only access to the external resource.
Purpose: Manually provisions an external load balancer outside of EKS and points it to the service's pods.
Advantages:
Full control over load balancer configuration and capabilities.
Flexibility to choose a load balancer from any provider.
Limitations:
Requires manual setup and maintenance, which can be time-consuming.
May involve additional costs and complexities depending on the external load balancer.
Conclusion:
Exposing services in an Amazon EKS cluster can be achieved through multiple straightforward methods, each with its advantages and limitations. Consider the specific requirements of your application, such as scalability, security, and ease of management, to choose the method that best aligns with your needs.