Amazon EKS Clusters Locally on AWS Outposts

Reading Time: 9 minutes
Amazon EKS Clusters Locally on AWS Outposts

AWS recently announced the availability of Amazon EKS local clusters on AWS Outposts. It means that now users can run the Amazon EKS cluster entirely on Outposts, including the Kubernetes control plane and nodes. To make things easier, AWS now allows you to host your entire Amazon EKS cluster on Outposts. Let’s see what else we can learn from this recent update!

In this blog, we will cover:

  • What is Amazon EKS?
  • What is Kubernetes?
  • Use cases of Amazon EKS
  • Which operating systems are supported by Amazon EKS?
  • How does it work (Run Amazon EKS on AWS Outposts)?
  • Features of Amazon EKS
  • Amazon EKS Pricing
  • Companies using Amazon EKS
  • What is AWS Outposts?
  • Benefits of AWS Outposts
  • Family members of AWS Outposts – Feature Comparison
  • Use cases of AWS Outposts
  • AWS Outposts rack Pricing
  • Companies using AWS Outposts
  • Amazon EKS Clusters Locally on AWS Outposts
    • Challenges before
    • After announcement
  • Pricing and Availability
  • Conclusion

What is Amazon EKS (Elastic Kubernetes Service)?

Amazon EKS is a managed Kubernetes service that allows you to run Kubernetes in the AWS cloud as well as on-premises data centers. Amazon EKS manages the availability and scalability of the Kubernetes control plane nodes responsible for scheduling containers, managing application availability, storing cluster data, and other critical tasks in the cloud.

With Amazon EKS, you can take advantage of all of AWS infrastructure’s performance, scale, reliability, and availability, as well as integrations with AWS networking and security services. 

EKS offers a consistent, fully-supported Kubernetes solution on-premises, with integrated tooling and simple deployment to AWS Outposts, virtual machines, or bare metal servers.

What is Kubernetes?

Kubernetes is an open-source container orchestration system that allows you to scale the deployment and management of containerized applications. Kubernetes groups containers logically for management and discovery before launching them onto clusters of Amazon EC2 instances. Containerized applications such as microservices, batch processing workers, and PaaS can be run on-premises and in the cloud using the same toolset. 

To know more about Kubernetes, refer to our blog.

Use cases of Amazon EKS

Use cases of Amazon EKS
  • Deploy in hybrid environments: Kubernetes clusters and applications can be managed in hybrid environments, and Kubernetes can be run in data centres.
  • Workflows for ML modeling: Distributed training jobs can be efficiently run using the latest Amazon EC2 GPU-powered instances, including Inferentia, and training and inferences can be deployed using Kubeflow.
  • Create and run web applications: With out-of-the-box networking and security integrations, you can build applications that automatically scale up and down and run in a highly available configuration across multiple AZs.

Which operating systems are supported by Amazon EKS?

Amazon EKS works with Kubernetes-compatible Linux x86, ARM, and Windows Server operating systems. Amazon EKS provides AMIs that are optimized for Amazon Linux 2 and Windows Server 2019. Other Linux distributions, such as Ubuntu, have EKS-optimized AMIs available from their respective vendors.

How does it work?

Features of Amazon EKS

  • Clusters of managed Kubernetes
    • Control Plane Management: A scalable and highly available Kubernetes control plane that spans several AWS AZs is offered by Amazon EKS.
    • Integration of Services: AWS Controllers for Kubernetes (ACK) allows you to manage AWS services directly from your Kubernetes environment.
    • Kubernetes console hosted: EKS includes a unified console for Kubernetes clusters. EKS can be used by cluster operators and application developers to organize, visualize, and troubleshoot Kubernetes applications running on Amazon EKS.
    • EKS Add-Ons: EKS add-ons are common operational software that extends the operational functionality of Kubernetes. EKS can be used to install and update the add-on software.
    • Controlled Node Groups: With a single command, Amazon EKS allows you to create, update, scale, and terminate nodes for your cluster. These nodes can also save money by using Amazon EC2 Spot Instances.
  • Integrated Deployments: EKS on AWS Outposts can be used to run containerized applications that require extremely low latencies to on-premises systems. AWS Outposts is a fully managed service that extends Amazon Web Services infrastructure, services, APIs, and tools to virtually any connected site. With EKS on Outposts, you can manage containers on-premises just as easily as you do in the cloud.
  • Launch nodes and handle single lines using eksctl:
    • Windows Support: Amazon EKS supports Windows worker nodes and container scheduling in Windows. EKS supports running Windows worker nodes alongside Linux worker nodes, allowing you to manage applications on either operating system from the same cluster.
    • ARM Support: AWS Graviton2 processors power Arm-based EC2 instances, delivering significant improvements in performance and capabilities as well as cost savings. The primary goal of running containers is to improve application cost efficiency. When you combine the two, you get excellent price-performance.
Features of Amazon EKS
  • Security and Networking
    • Support for IPv6
    • Service Discovery
    • Service Mesh
    • VPC Native Networking
    • AWS IAM Authenticator
    • IAM for Service Accounts
    • Compliance
  • Load balancing: Elastic Load Balancing, such as Application Load Balancer (ALB), Network Load Balancer (NLB), and Classic Load Balancer, is supported by Amazon EKS.
  • Serverless Compue: EKS supports AWS Fargate for serverless compute in Kubernetes applications. Fargate eliminates the need for server provisioning and management, allows you to specify and pay for resources per application, and improves security through application isolation by design.
  • Cost Monitoring:
    • Cost Allocation Tagging: Every EC2 instance that joins a cluster is automatically assigned an AWS cost allocation tag by Amazon EKS.
    • Kubecost: Amazon EKS supports Kubecost, which allows you to track costs for Kubernetes resources such as pods, nodes, namespaces, and labels.
  • Logging: Amazon EKS and AWS CloudTrail are integrated to provide visibility into EKS management operations, including audit history.
  • Certified Conformant: Amazon EKS runs upstream Kubernetes and is certified Kubernetes-conformant, so you can use all of the Kubernetes community’s existing plug-ins and tooling.
  • Managed Cluster Updates: Amazon EKS makes it simple to upgrade running clusters to the most recent Kubernetes version without having to manage the update process.
  • Advanced Workload Support: Amazon EKS includes an optimized Amazon Machine Image (AMI) with configured NVIDIA drivers for GPU-enabled Amazon EC2 P2 and P3 instances. This makes it simple to run computationally advanced workloads such as ML, Kubeflow, DL, HPC, financial analytics, and video transcoding on Amazon EKS.
  • Open-Source Compatibility: Amazon EKS is completely compatible with Kubernetes community tools and popular Kubernetes add-ons.
  • EKS Connector: Amazon EKS enables you to connect any Kubernetes-compliant cluster to AWS and visualize it in the Amazon EKS console.

Amazon EKS Pricing

Amazon EKS allows you to start, run, and scale Kubernetes applications on-premises or in the cloud. Amazon EKS provides highly available and secure clusters while automating critical tasks like patching, node provisioning, and updates.

Each Amazon EKS cluster you create costs $0.10 per hour. Using Kubernetes namespaces and IAM security policies, you can run multiple applications on a single EKS cluster. EKS can be run on AWS via Amazon EC2 or AWS Fargate, as well as on-premises via AWS Outposts.

To learn more, visit pricing of Amazon EKS.

Companies using Amazon EKS 

What is AWS Outposts?

AWS Outposts is a collection of fully managed solutions that deliver AWS infrastructure and services to virtually any on-premises or edge location, resulting in a truly consistent hybrid experience. Outposts solutions enable you to extend and run native AWS services on-premises and are available in a range of form factors, including 1U and 2U Outposts servers, 42U Outposts racks, and multiple rack deployments.

AWS Outposts allow you to run some AWS services locally while also connecting to a wide range of services available in the local AWS Region. To run applications and workloads on-premises, use familiar AWS services, tools, and APIs. Outposts is designed to support workloads and devices that require low latency access to on-premises systems, local data processing, data residency, and application migration with local system interdependencies.

Benefits of AWS Outposts 

  • Run AWS Services locally: Extend AWS compute, networking, security, and other services on-premises to meet the needs of low latency, local data processing, and data residency.
  • Infrastructure that is fully handled: With a fully managed experience, you can save time, resources, operational risk, and maintenance downtime when managing IT infrastructure.
  • Genuinely reliable hybrid experience: To provide a truly consistent developer and IT operations experience, use the same hardware infrastructure, APIs, tools, and management controls that are available in the cloud.

Family Members of AWS Outposts – Feature Comparison

  • AWS Outposts rack: The AWS Outposts rack has a 42U form factor, which is industry standard. It makes AWS infrastructure, services, APIs, and tools available to virtually any datacenter or co-location space. For a truly consistent hybrid experience, Outposts rack provides AWS compute, storage, database, and other services locally while still allowing you to access the full range of AWS services available in the Region. Scale compute and storage capacity pools from a single 42U rack to multiple rack deployments of up to 96 racks.
  • AWS Outposts servers: AWS Outposts servers are available in 1U and 2U sizes. They provide the same AWS infrastructure, services, APIs, and tools to on-premises and edge locations that have limited space or capacity requirements, such as retail stores, branch offices, healthcare provider locations, or factory floors. Local compute and networking services are provided by outpost servers.

Use cases of AWS Outposts

Use cases of AWS Outposts
  • Low latency compute: Provide high-quality gaming experiences for interactive applications, such as real-time multiplayer games, to players worldwide.
  • Data residency: For regulatory, contractual, or information security reasons, data may need to be kept in a specific country, state, or municipality. This is common in highly regulated industries such as finance, healthcare, oil and gas, and others.
  • Migration & Modernization: Legacy on-premises applications frequently have latency-sensitive system dependencies, making migration difficult. AWS Outposts enables you to segment migrations on-premises into smaller pieces while maintaining latency-sensitive connectivity between application components until you are ready to migrate.
  • Local data processing: Handle data locally for use cases like data lakes and ML model training, or set up a consistent hybrid architecture to process local data sets that are challenging to migrate with cost, size, or bandwidth restrictions and transport data to the cloud for long-term storage.

AWS Outposts rack Pricing

On AWS Outposts, you can buy a variety of rack configurations that include a mix of Amazon EC2 instance types, Amazon EBS gp2 volume, and Amazon S3. To learn more, visit the pricing of AWS Outposts rack.

Companies using AWS Outposts 

Amazon EKS Clusters Locally on AWS Outposts

AWS recently announced the availability of Amazon EKS local clusters on AWS Outposts. It means that now you can run your Amazon EKS cluster entirely on Outposts, including the Kubernetes control plane and nodes.

Challenges before

To fully comprehend the advantages of local clusters for Amazon EKS on Outposts, some context is required:

Outposts are used by some companies to deploy Kubernetes cluster nodes and pods near the rest of their on-premises infrastructure. This enables their applications to benefit from low-latency access to on-premises services and data while managing the cluster and node lifecycles using the same AWS API, CLI, or AWS console that they use for cloud-based clusters.

Until now, when you wanted to deploy Kubernetes applications on Outposts, you had to first create an Amazon EKS cluster in the AWS cloud. The cluster nodes were then installed on your Outposts machines. The Kubernetes control plane runs in the parent Region of your Outposts in this hybrid cluster scenario, and the nodes run on your on-premises Outposts. The Amazon EKS service communicates with the Outposts machine’s nodes via the network.

In this scenario, the main challenge for these companies is managing site disconnections. This is something we have no control over, especially if you place Outposts in areas with poor or intermittent network connections.

When the on-premises facility is temporarily disconnected from the internet, the cloud-based Amazon EKS control plane is unable to communicate with the nodes and pods. Despite the fact that the nodes and pods continue to serve the application on the on-premises local network, Kubernetes may consider them unhealthy and schedule their replacement when the connection is restored. When connectivity is restored, this may cause application downtime.

After announcement

To make things easier, AWS now allows you to host your entire Amazon EKS cluster on Outposts. Both the Kubernetes control plane and your worker nodes run locally on your Outposts machine in this configuration. As a result, even if your service link connection fails temporarily, your cluster will continue to operate. During network disconnects to the cloud, you can perform cluster operations such as creating, updating, and scaling applications.

Pricing and Availability

Amazon EKS local clusters cost the same as traditional EKS clusters. It begins at $0.10 per hour. The price of the Outposts includes the EC2 instances required to deploy the Kubernetes control plane and nodes. 

Refer to this page to find out which regions have Amazon EKS local clusters.

Conclusion

In this blog we explored Amazon EKS, its use cases, operating systems supported by Amazon EKS, how does it work, its features, pricing, and companies using Amazon EKS. Then we saw AWS Outposts, their benefits, family members, use cases, pricing, and companies using AWS Outposts. In the end, we looked at the latest update about it, i.e, the availability of Amazon EKS Clusters Locally on AWS Outposts, challenges before, and after the announcement, updated pricing, and availability. We will come up with more such use cases in our upcoming blogs.

Meanwhile…

If you are an aspiring AWS Enthusiast and want to explore more about the above topics, here are a few of our blogs for your reference:

Keep Exploring -> Keep Learning -> Keep Mastering 

At Workfall, we strive to provide the best tech and pay opportunities to kickass coders around the world. If you’re looking to work with global clients, build cutting-edge products and make big bucks doing so, give it a shot at workfall.com/partner today!

Back To Top