{"id":75255,"date":"2020-06-05T12:28:33","date_gmt":"2020-06-05T12:28:33","guid":{"rendered":"https:\/\/www.whizlabs.com\/blog\/?p=75255"},"modified":"2022-05-30T02:13:57","modified_gmt":"2022-05-30T07:43:57","slug":"aws-eks","status":"publish","type":"post","link":"https:\/\/www.whizlabs.com\/blog\/aws-eks\/","title":{"rendered":"Getting Started with AWS EKS"},"content":{"rendered":"<p style=\"text-align: justify;\"><em>AWS EKS (Amazon Elastic Kubernetes Service) is a managed service that enables you to run Kubernetes on AWS without your own Kubernetes control plane. Let&#8217;s have a quick introduction to Amazon EKS!<\/em><\/p>\n<p style=\"text-align: justify;\">The widespread adoption of cloud computing and the positive interventions of technologies such as containers have revised application development norms. Now, enterprises could host infrastructure on public cloud platforms such as AWS and use container orchestration tools such as <a href=\"https:\/\/www.whizlabs.com\/blog\/introduction-to-kubernetes\/\" target=\"_blank\" rel=\"noopener noreferrer\">Kubernetes<\/a>.<\/p>\n<p style=\"text-align: justify;\">These technologies continue to bring new flexibility for enterprises worldwide. However, the use of Kubernetes comes with highly time-consuming cluster management processes, which may not be favorable for certain developers. Therefore, AWS EKS or Elastic Kubernetes Service is the perfect solution for addressing the setbacks of excessive time consumption in using Kubernetes for cluster management.<\/p>\n<blockquote><p>Try Now: <a href=\"https:\/\/www.whizlabs.com\/aws-devops-certification-training\/free-test\/\" target=\"_blank\" rel=\"noopener noreferrer\">AWS Certified DevOps Professional Free Test<\/a><\/p><\/blockquote>\n<p style=\"text-align: justify;\">EKS allows developers to utilize AWS functionalities for easier and faster creation of Kubernetes clusters in the cloud. So, is this AWS Kubernetes service reliable? There is only one way to find out! Let us reflect on the definition of Amazon\u2019s EKS, its history and architecture, and some of its prominent features.<\/p>\n<p style=\"text-align: justify;\">In addition, the following discussion would also point out a detailed outline of the working of EKS and its benefits. Readers could also find a demo for getting started with EKS outlining steps for deploying a Kubernetes application with EKS.<\/p>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_76 ez-toc-wrap-left counter-hierarchy ez-toc-counter ez-toc-custom ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #ea7e02;color:#ea7e02\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #ea7e02;color:#ea7e02\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.whizlabs.com\/blog\/aws-eks\/#What_is_AWS_EKS\" >What is AWS EKS?<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.whizlabs.com\/blog\/aws-eks\/#History_of_EKS\" >History of EKS<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.whizlabs.com\/blog\/aws-eks\/#EKS_Architecture\" >EKS Architecture<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.whizlabs.com\/blog\/aws-eks\/#How_Does_EKS_Work\" >How Does EKS Work?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.whizlabs.com\/blog\/aws-eks\/#Features_of_EKS\" >Features of EKS<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/www.whizlabs.com\/blog\/aws-eks\/#Getting_Started_with_EKS\" >Getting Started with EKS<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/www.whizlabs.com\/blog\/aws-eks\/#Deploying_a_NodeJS_application_to_the_EKS\" >Deploying a NodeJS application to the EKS<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/www.whizlabs.com\/blog\/aws-eks\/#Are_You_Ready_to_Use_EKS\" >Are You Ready to Use EKS?<\/a><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n<h2 style=\"text-align: justify;\"><span class=\"ez-toc-section\" id=\"What_is_AWS_EKS\"><\/span>What is AWS EKS?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p style=\"text-align: justify;\">Prior to a definition of <a href=\"https:\/\/aws.amazon.com\/eks\/\" target=\"_blank\" rel=\"noopener noreferrer\">Amazon EKS<\/a>, let us reflect on the definition of Kubernetes first. Kubernetes is the open-source tool for deployment and management of containerized applications such as batch processing workers, microservices, and PaaS solutions.<\/p>\n<p style=\"text-align: justify;\">Development teams can use Kubernetes for the management of many functions such as monitoring and controlling resource consumption, load balancing, limit over resource consumption, or using additional resources from new hosts added in a cluster.<\/p>\n<p style=\"text-align: justify;\">You can also use Kubernetes for managing other important workflows, thereby establishing its credibility as a container orchestration tool.\u00a0Amazon EKS\u00a0is the best way to use Kubernetes on AWS. EKS is the managed service that helps you run Kubernetes on AWS easily.<\/p>\n<p style=\"text-align: justify;\">Enterprise could use EKS for running Kubernetes without installation and operation of Kubernetes separately. Basically, EKS is available as a fully managed containers-as-a-service (CaaS) solution for simpler Kubernetes deployment on AWS.<\/p>\n<h3 style=\"text-align: justify;\"><span class=\"ez-toc-section\" id=\"History_of_EKS\"><\/span>History of EKS<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p style=\"text-align: justify;\">According to data by the Cloud Native Computing Foundation, many organizations running Kubernetes use AWS Cloud platform. Kubernetes was an integral component of the IT strategies of such customers of AWS. Therefore, AWS made\u00a0Amazon EKS\u00a0available to customers in June 2018 to address the issue of customers in running Kubernetes on AWS. With EKS, AWS customers don\u2019t have to set up Kubernetes clusters from the basic steps.<\/p>\n<p style=\"text-align: justify;\">Prior to\u00a0AWS EKS, enterprises operating Kubernetes clusters with higher availability had to depend on specialized expertise and formidable dedication in the processes of cluster management. For example, enterprises had to ensure provisioning for K8s management infrastructure on different Availability Zones (AZs).<\/p>\n<p style=\"text-align: justify;\">However, EKS has completely resolved such concerns with the delivery of a production-ready architecture. The architecture of EKS is capable of automatically running and managing Kubernetes clusters throughout different AZs.<\/p>\n<h3 style=\"text-align: justify;\"><span class=\"ez-toc-section\" id=\"EKS_Architecture\"><\/span>EKS Architecture<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p style=\"text-align: justify;\">The next critical aspect to understand before getting started with EKS is the\u00a0AWS EKS architecture. The architecture of EKS can provide detailed insights to understand how it works and its various features. As a matter of fact, the architecture of\u00a0AWS EKS\u00a0is one of the mandatory elements in any introductory guide for getting started with EKS.<\/p>\n<figure id=\"attachment_75290\" aria-describedby=\"caption-attachment-75290\" style=\"width: 1343px\" class=\"wp-caption alignnone\"><img decoding=\"async\" class=\"wp-image-75290 size-full\" src=\"https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2020\/06\/aws-eks-architecture.png\" alt=\"Amazon EKS Architecture\" width=\"1343\" height=\"692\" srcset=\"https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2020\/06\/aws-eks-architecture.png 1343w, https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2020\/06\/aws-eks-architecture-300x155.png 300w, https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2020\/06\/aws-eks-architecture-1024x528.png 1024w, https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2020\/06\/aws-eks-architecture-768x396.png 768w, https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2020\/06\/aws-eks-architecture-815x420.png 815w, https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2020\/06\/aws-eks-architecture-640x330.png 640w, https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2020\/06\/aws-eks-architecture-681x351.png 681w\" sizes=\"(max-width: 1343px) 100vw, 1343px\" \/><figcaption id=\"caption-attachment-75290\" class=\"wp-caption-text\">Image Source: https:\/\/aws.amazon.com\/quickstart\/architecture\/amazon-eks\/<\/figcaption><\/figure>\n<p style=\"text-align: justify;\">You can find two major components in every EKS cluster, such as the control plane and the worker nodes. Let us find out the role of these two components in the operations of EKS.<\/p>\n<ul>\n<li style=\"text-align: justify;\">\n<h4>Control Plane<\/h4>\n<\/li>\n<\/ul>\n<p style=\"text-align: justify;\">The Control Plane in EKS contains three Kubernetes master nodes running in three distinct Availability Zones (AZs). All the incoming traffic for the Kubernetes API comes through the Network Load Balancer (NLB). The control plane operates on a virtual private cloud under Amazon\u2019s control. Therefore, AWS takes over full management of the control plane, and enterprises cannot manage it directly.<\/p>\n<ul>\n<li style=\"text-align: justify;\">\n<h4>Worker Nodes<\/h4>\n<\/li>\n<\/ul>\n<p style=\"text-align: justify;\">The second important component of\u00a0AWS EKS\u00a0refers to the worker nodes. The worker nodes are basically the EC2 instances running in the virtual private cloud under the organization\u2019s control. As a matter of fact, any AWS instance could qualify as a worker node. Users could access worker nodes through SSH or ensure their provisioning without any automation.<\/p>\n<h3 style=\"text-align: justify;\"><span class=\"ez-toc-section\" id=\"How_Does_EKS_Work\"><\/span>How Does EKS Work?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p style=\"text-align: justify;\">Therefore, the\u00a0AWS EKS architecture\u00a0shows us that the cluster of worker nodes is responsible for running the containers of an organization. On the other hand, the control plane is responsible for the management and monitoring of the source and time of starting the containers.<\/p>\n<p style=\"text-align: justify;\">The flexibility in the architecture of EKS enables organizations to deploy a Kubernetes cluster for every application individually. Enterprises could also utilize an EKS cluster for running multiple applications through AWS IAM configurations and Kubernetes namespaces.<\/p>\n<p style=\"text-align: justify;\">The architecture of EKS also shows the flexibility of provisioning worker nodes through a single command in the CLI, EKS console, or API. On the other hand, AWS takes care of provisioning, scalability, and management of control plane with optimum security. Therefore, EKS takes away the burden of running Kubernetes operations and infrastructure management.<\/p>\n<blockquote>\n<p style=\"text-align: justify;\">Preparing for the AWS Certified DevOps Engineer Professional exam? Follow this comprehensive guide for the <a href=\"https:\/\/www.whizlabs.com\/blog\/aws-certified-devops-engineer-professional-exam-february-2019\/\" target=\"_blank\" rel=\"noopener noreferrer\">AWS DevOps Engineer Professional exam preparation<\/a> and get ready to pass the exam.<\/p>\n<\/blockquote>\n<h3 style=\"text-align: justify;\"><span class=\"ez-toc-section\" id=\"Features_of_EKS\"><\/span>Features of EKS<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p style=\"text-align: justify;\">The next critical aspect of our discussion on AWS EKS should reflect on its features. The features of EKS can help you understand its functionalities thoroughly and gain a basic impression of its benefits. Basically, you can find that EKS can help you get the reliability, scale, performance, and availability of the AWS platform.<\/p>\n<p style=\"text-align: justify;\">In addition, the integration with AWS security and networking services improve the adoption of EKS across enterprises profoundly. Here are some of the notable features of EKS that can help you ascertain its benefits clearly.<\/p>\n<ul>\n<li>\n<h4>\u00a0Managed Control Plane<\/h4>\n<\/li>\n<\/ul>\n<p style=\"text-align: justify;\">The managed control plane is the foremost striking feature of AWS EKS. EKS provides automatic management of the scalability and availability of Kubernetes API services and etcdpersistence layer for all clusters. Operation of K8s control plane across three AZs helps in ensuring higher availability alongside the detection and replacement of faulty masters.<\/p>\n<ul>\n<li style=\"text-align: justify;\">\n<h4>Managed Worker Nodes<\/h4>\n<\/li>\n<\/ul>\n<p style=\"text-align: justify;\">The managed worker nodes are also a crucial feature of EKS. You can create, update, or ensure termination of worker nodes with a single command on EKS. The latest optimized Amazon Machine Images (AMIs) help managed node groups in running the nodes. The management process can be carried out alongside the draining of nodes by terminations and updates.<\/p>\n<ul>\n<li style=\"text-align: justify;\">\n<h4>Launch with the Simple eksctl Command<\/h4>\n<\/li>\n<\/ul>\n<p style=\"text-align: justify;\">The open-source command eksctl can help in getting EKS up and running within a short period of time. Upon execution of the eksctl create cluster command, you get an EKS cluster created and ready for running applications.<\/p>\n<ul>\n<li style=\"text-align: justify;\">\n<h4>Security<\/h4>\n<\/li>\n<\/ul>\n<p style=\"text-align: justify;\">The advanced features, partner solutions in the larger AWS landscape, and integrations in AWS EKS promote better opportunities for the security of Kubernetes clusters on AWS.<\/p>\n<ul>\n<li style=\"text-align: justify;\">\n<h4>Service Discovery<\/h4>\n<\/li>\n<\/ul>\n<p style=\"text-align: justify;\">With EKS, you can get the functionalities of Cloud Map on AWS for cloud resource discovery. Enterprises could define the names of application resources and maintain updated locations for dynamic resources. As a result, application availability increases due to the discovery of most updated resource locations by an organization\u2019s web service.<\/p>\n<p style=\"text-align: justify;\">In addition, you can also find an open-source connector with EKS for auto-propagation of internal service registry locations with the launch of K8s services. The connector also removes internal service registry locations upon the termination of K8s services. Cloud Map offers a unified service registry for container workloads, thereby allowing the discovery of K8s-based services.<\/p>\n<ul>\n<li style=\"text-align: justify;\">\n<h4>Service Mesh<\/h4>\n<\/li>\n<\/ul>\n<p style=\"text-align: justify;\">AWS App Mesh provides reliable functionality in the standardization of the communication between microservices in an application. As a result, you can build and run complex microservices-based applications easily with better speed. App Mesh also ensures simplifying the configuration as part of an application with higher availability and better end-to-end visibility.<\/p>\n<ul>\n<li style=\"text-align: justify;\">\n<h4>Comprehensive Use of VPC<\/h4>\n<\/li>\n<\/ul>\n<p style=\"text-align: justify;\">The EKS clusters run on Amazon VPC, thereby allowing you to use VPC security groups and network ACLs. The clusters you have wouldn\u2019t share compute resources with other orgs. As a result, you can achieve higher isolation with\u00a0AWS EKS\u00a0thereby providing the desired support for building reliable and highly secure applications.<\/p>\n<ul>\n<li style=\"text-align: justify;\">\n<h4>IAM Benefits<\/h4>\n<\/li>\n<\/ul>\n<p style=\"text-align: justify;\">The integration of Kubernetes RBAC with IAM Authenticator by using Amazon EKS is also helpful for improving granular access controls for K8s masters. In addition, EKS also helps in the easy assignment of IAM permission to service accounts. The IAM role can control access to containerized services, third-party apps, and AWS resources external to the cluster.<\/p>\n<p style=\"text-align: justify;\">In addition to the above-mentioned features, AWS EKS offers many other benefits with its exceptional features. For example, you can add Windows nodes as worker nodes and schedule Windows containers with EKS. The support for load balancing and the use of AWS CloudTrail for logging and monitoring user and cluster activity history is also crucial features of EKS with assured benefits.<\/p>\n<blockquote><p>Check your preparation level for the AWS DevOps Engineer Professional exam with practice tests. Enroll for the <a href=\"https:\/\/www.whizlabs.com\/aws-devops-certification-training\/practice-tests\/\" target=\"_blank\" rel=\"noopener noreferrer\">AWS Certified DevOps Engineer Practice Tests<\/a> now!<\/p><\/blockquote>\n<h3 style=\"text-align: justify;\"><span class=\"ez-toc-section\" id=\"Getting_Started_with_EKS\"><\/span>Getting Started with EKS<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p style=\"text-align: justify;\">So, as we arrive towards the final phase of this discussion, it\u2019s time to reflect on AWS EKS getting started. Let us reflect on an example of creating a simple application on the Kubernetes cluster by using EKS. The important steps involved in the process would include the following.<\/p>\n<ul style=\"text-align: justify;\">\n<li>Creation of an AWS IAM service role and an AWS VPC<\/li>\n<li>Creation of Amazon EKS cluster<\/li>\n<li>Configuration of kubectl for Amazon EKS cluster<\/li>\n<li>Launch and configuration of Amazon EKS worker nodes<\/li>\n<li>Launching a simple application<\/li>\n<li>Cleaning up the application and its assigned resources<\/li>\n<\/ul>\n<p style=\"text-align: justify;\">Let us reflect on the first two steps in detail to understand the practical functionalities of\u00a0AWS EKS.<\/p>\n<h4 style=\"text-align: justify;\">Creating IAM Service Role and Amazon VPC<\/h4>\n<ul style=\"text-align: justify;\">\n<li>Start by navigating the AWS IAM Console to find the \u201cRoles\u201d section where you have to click on the \u201cCreate role\u201d button.<\/li>\n<li>Select \u201cEKS\u201d as the type of service and \u201cAWS Service\u201d as the type of entity.<\/li>\n<li>Input a name for service role and click on \u201cCreate role\u201d for creating the role.<\/li>\n<li>You can create the VPC by clicking on \u201cCreate Stack\u201d in the AWS CloudFormation console.<\/li>\n<li>Select the option of \u201cSpecify an Amazon S3 template URL\u201d and enter the concerned URL on the \u201cSelect Template\u201d page.<\/li>\n<li>Review and confirm the details after specifying them explicitly and then click on \u201cCreate\u201d for proceeding ahead.<\/li>\n<\/ul>\n<h4 style=\"text-align: justify;\">Creating an EKS Cluster<\/h4>\n<p style=\"text-align: justify;\">Now that you have the VPC and IAM service role, we can proceed towards creating an\u00a0AWS EKS\u00a0cluster. The creation of the EKS cluster would help in getting started with EKS easily.<\/p>\n<ul style=\"text-align: justify;\">\n<li>Click on \u201cCreate cluster\u201d button on the Amazon EKS console.<\/li>\n<li>Input the details of the EKS cluster such as cluster name, security groups, role ARN, subnets and VPC<\/li>\n<li>Just click on \u201cCreate\u201d, and you can get your EKS cluster.<\/li>\n<li>After configuration of the Kubernetes cluster, you can carry out other steps for deploying a Kubernetes application using EKS.<\/li>\n<\/ul>\n<blockquote>\n<p style=\"text-align: justify;\">Preparing for an AWS DevOps Engineer Interview? Prepare with these top <a href=\"https:\/\/www.whizlabs.com\/blog\/aws-devops-interview-questions\/\" target=\"_blank\" rel=\"noopener noreferrer\">AWS DevOps Engineer Interview Questions<\/a> and be ready to ace the interview!<\/p>\n<\/blockquote>\n<h3><span class=\"ez-toc-section\" id=\"Deploying_a_NodeJS_application_to_the_EKS\"><\/span>Deploying a NodeJS application to the EKS<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><span style=\"font-weight: 400;\">In this tutorial, we will walk you through the steps to deploy containerized NodeJs applications to Kubernetes. We will be seeing each step involved to achieve this including the creation of the Kubernetes cluster.<\/span><\/p>\n<p><b>Prerequisites<\/b><\/p>\n<p><span style=\"font-weight: 400;\">To follow along with this tutorial, you will need the following setups.<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">An AWS account with necessary permissions (You can leverage <\/span><a href=\"http:\/\/whizlabs.com\/labs\" target=\"_blank\" rel=\"noopener\"><span style=\"font-weight: 400;\">Whizlabs HandsOn Labs<\/span><\/a><span style=\"font-weight: 400;\"> environment for this)<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">AWS CLI installed on your local machine<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">The eksctl command line tool installed on your local machine<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Docker installed on your local machine<\/span><\/li>\n<\/ul>\n<p><b>Kubernetes on AWS<\/b><\/p>\n<p><span style=\"font-weight: 400;\">Kubernetes is an open-source container orchestration platform and it can be used within your on premise infrastructure. Several cloud providers also provide managed <a href=\"https:\/\/www.whizlabs.com\/blog\/introduction-to-kubernetes\/\">Kubernetes services<\/a> as Platform as a Service (PaaS) such as Elastic Kubernetes Service (EKS) by Amazon, and Google Kubernetes Engine (GKE) by Google, Azure Kubernetes Service (AKS) by Azure.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">The Amazon Elastic Kubernetes Service (EKS) lets us deploy, run and scale our containerized applications within a Kubernetes cluster consisting of EC2 instances as worker nodes.<\/span><\/p>\n<p><b>The Elastic Kubernetes Service(EKS) Architecture<\/b><\/p>\n<p><span style=\"font-weight: 400;\">The EKS has an uptime of 99.95%. The Amazon Elastic Kubernetes Service (EKS) consists of three main components.<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Virtual Private Cloud (VPC)<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Clusters<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Nodes<\/span><\/li>\n<\/ul>\n<p><b>The Virtual Private Cloud (VPC)<\/b><\/p>\n<p><span style=\"font-weight: 400;\">The VPC is an isolated networking environment within the AWS and is made up of other smaller components such as subnets, internet gateways, route tables, NAT gateways, etc.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">A VPC is mandatory for creating a Kubernetes cluster. The VPC should contain the subnets within at least two availability zones. It is recommended to have a combination of public and private subnets.<\/span><\/p>\n<p><b>The EKS Clusters<\/b><\/p>\n<p><span style=\"font-weight: 400;\">An EKS cluster contains a control plane and the worker node within the VPC. The control plane runs the Kubernetes software and is placed in the AWS managed account.\u00a0 The worker nodes are the EC2 instances that connect to the control plane through API Server from the Kubernetes software, and are placed on the user\u2019s AWS account.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">There are multiple methods available to create an EKS cluster.\u00a0<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Through AWS Console<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">AWS Command Line Interface (CLI)<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">AWS CloudFormation\u00a0<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Terraform<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">eksctl<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">If we use command line utilities like AWS CLI or eksctl, we can provide the properties of a cluster through the command line arguments or by using a configuration files.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">In this tutorial we will be using eksctl command line tool create cluster.<\/span><\/p>\n<p><b>Creating a Docker Container<\/b><\/p>\n<p><span style=\"font-weight: 400;\">In this step, we will create a cluster with deployment to run a docker image of a simple NodeJs application.\u00a0<\/span><\/p>\n<p><b>Clone the source code from GitHub<\/b><\/p>\n<p><span style=\"font-weight: 400;\">Let us clone the sample code from the GitHub repository to our local by running the git clone command.\u00a0<\/span><\/p>\n<p><b>git clone https:\/\/github.com\/dharma1408\/whizlabs-eks-demo.git<\/b><\/p>\n<p><b>Create a Docker File<\/b><\/p>\n<p><span style=\"font-weight: 400;\">Open the cloned directory \u201cwhizlabs-eks-demo\u201d and \u201cCreate a file named \u201cDockerfile\u201d. Add the following code to the file.\u00a0<\/span><\/p>\n<p><b>FROM node: alpine<\/b><\/p>\n<p><b>WORKDIR \/home\/whizlabs-k8s-demo<\/b><\/p>\n<p><b>COPY ..<\/b><\/p>\n<p><b>RUN npm install<\/b><\/p>\n<p><b>EXPOSE 3000<\/b><\/p>\n<p><b>CMD exec node app.js<\/b><\/p>\n<p><span style=\"font-weight: 400;\">When we run the \u201cdocker run\u201d command, the following actions will be performed:<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Within the project directory, create another file named \u201c<\/span><b>.dockerignore<\/b><span style=\"font-weight: 400;\">\u201d. This file will specify the files that should not be copied to the docker image. Add the following lines into the file<\/span><\/p>\n<p><b>.git<\/b><\/p>\n<p><b>.env<\/b><\/p>\n<p><span style=\"font-weight: 400;\">Let us now build our docker image by running the docker build command.\u00a0<\/span><\/p>\n<p><b>docker build . -t whizlabs-k8s-demo<\/b><\/p>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-82331 size-full\" src=\"https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2022\/05\/docker-build-cmd.png\" alt=\"docker build cmd\" width=\"1439\" height=\"755\" srcset=\"https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2022\/05\/docker-build-cmd.png 1439w, https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2022\/05\/docker-build-cmd-300x157.png 300w, https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2022\/05\/docker-build-cmd-1024x537.png 1024w, https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2022\/05\/docker-build-cmd-768x403.png 768w, https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2022\/05\/docker-build-cmd-801x420.png 801w, https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2022\/05\/docker-build-cmd-640x336.png 640w, https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2022\/05\/docker-build-cmd-681x357.png 681w\" sizes=\"(max-width: 1439px) 100vw, 1439px\" \/><\/p>\n<p><span style=\"font-weight: 400;\">We have successfully created the docker image for our NodeJs app. Let us now test this by running docker run command on the local.\u00a0<\/span><\/p>\n<p><b>docker run -p 3000:3000 &lt;IMAGE_Name&gt;<\/b><\/p>\n<p><b>docker run -p 3000:3000 whizlabs-k8s-demo<\/b><\/p>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-82332 size-full\" src=\"https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2022\/05\/docker-run.png\" alt=\"docker run\" width=\"1215\" height=\"424\" srcset=\"https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2022\/05\/docker-run.png 1215w, https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2022\/05\/docker-run-300x105.png 300w, https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2022\/05\/docker-run-1024x357.png 1024w, https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2022\/05\/docker-run-768x268.png 768w, https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2022\/05\/docker-run-1204x420.png 1204w, https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2022\/05\/docker-run-640x223.png 640w, https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2022\/05\/docker-run-681x238.png 681w\" sizes=\"(max-width: 1215px) 100vw, 1215px\" \/><\/p>\n<p><span style=\"font-weight: 400;\">Let\u2019s check the port 3000 on the browser.<\/span><\/p>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-82333 size-full\" src=\"https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2022\/05\/nodeapp.png\" alt=\"nodeapp\" width=\"1428\" height=\"789\" srcset=\"https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2022\/05\/nodeapp.png 1428w, https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2022\/05\/nodeapp-300x166.png 300w, https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2022\/05\/nodeapp-1024x566.png 1024w, https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2022\/05\/nodeapp-768x424.png 768w, https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2022\/05\/nodeapp-760x420.png 760w, https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2022\/05\/nodeapp-640x354.png 640w, https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2022\/05\/nodeapp-681x376.png 681w\" sizes=\"(max-width: 1428px) 100vw, 1428px\" \/><\/p>\n<p><b>Pushing the Docker image to Elastic Container Registry (ECR)<\/b><\/p>\n<p><span style=\"font-weight: 400;\">In this step, we will be pushing the created Docker file to the Elastic Container Registry(ECR). We will be doing this with command line tools.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Let\u2019s run the ecr-public command to create a public repository within the Elastic Container Registry. I am creating it in the us-east-1 region.\u00a0<\/span><\/p>\n<p><b>aws ecr-public create-repository &#8211;repository-name whizlabs-k8-ecr-repo &#8211;tags Key=environment,Value=development &#8211;region us-east-1<\/b><\/p>\n<p><span style=\"font-weight: 400;\">This command will return the values in JSON format describing the created repository. We will be using the repositoryUri from the JSON response as a tag to our Docker image.<\/span><\/p>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-82335 size-full\" src=\"https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2022\/05\/ecr-repo-create.png\" alt=\"ecr-repo-create\" width=\"1439\" height=\"325\" srcset=\"https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2022\/05\/ecr-repo-create.png 1439w, https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2022\/05\/ecr-repo-create-300x68.png 300w, https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2022\/05\/ecr-repo-create-1024x231.png 1024w, https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2022\/05\/ecr-repo-create-768x173.png 768w, https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2022\/05\/ecr-repo-create-640x145.png 640w, https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2022\/05\/ecr-repo-create-681x154.png 681w\" sizes=\"(max-width: 1439px) 100vw, 1439px\" \/><\/p>\n<p><span style=\"font-weight: 400;\">Now, run the docker tag command to tag the docker image.\u00a0<\/span><\/p>\n<p><b>docker tag whizlabs-k8s-demo:latest &lt;REPOSITORY_URI&gt;:latest<\/b><\/p>\n<p><b>docker tag whizlabs-k8s-demo:latest public.ecr.aws\/a7c6l2b6\/whizlabs-k8s-ecr-repo:latest<\/b><\/p>\n<p><b>aws ecr-public get-login-password &#8211;region us-east-1 | docker login &#8211;username AWS &#8211;password-stdin public.ecr.aws<\/b><\/p>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-82336 size-full\" src=\"https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2022\/05\/ecr-login.png\" alt=\"ecr-login\" width=\"1007\" height=\"420\" srcset=\"https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2022\/05\/ecr-login.png 1007w, https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2022\/05\/ecr-login-300x125.png 300w, https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2022\/05\/ecr-login-768x320.png 768w, https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2022\/05\/ecr-login-640x267.png 640w, https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2022\/05\/ecr-login-681x284.png 681w\" sizes=\"(max-width: 1007px) 100vw, 1007px\" \/><\/p>\n<p><span style=\"font-weight: 400;\">Now, run the docker push command.\u00a0<\/span><\/p>\n<p><b>docker push &lt;REPOSITORY_URI&gt;<\/b><\/p>\n<p><b>docker push public.ecr.aws\/a7c6l2b6\/whizlabs-k8s-ecr-repo:latest<\/b><\/p>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-82337 size-full\" src=\"https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2022\/05\/docker-push.png\" alt=\"docker push\" width=\"1000\" height=\"259\" srcset=\"https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2022\/05\/docker-push.png 1000w, https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2022\/05\/docker-push-300x78.png 300w, https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2022\/05\/docker-push-768x199.png 768w, https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2022\/05\/docker-push-640x166.png 640w, https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2022\/05\/docker-push-681x176.png 681w\" sizes=\"(max-width: 1000px) 100vw, 1000px\" \/><\/p>\n<p><b>Creating an EKS Cluster<\/b><\/p>\n<p><span style=\"font-weight: 400;\">In this step, let us create an EKS cluster which will use the docker image which we have pushed to the Elastic Container Registry(ECS).\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">We will be using eksctl tool to create the cluster. The eksctl is a third party tool written in Go and it leverages the AWS CloudFormation to create and manage clusters.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">When we run the \u201ceksctl create cluster\u201d command without specifying the configuration file or passing the arguments through command line, then it will create cluster with the following default parameters. Reference: https:\/\/eksctl.io\/<\/span><\/p>\n<p><span style=\"font-weight: 400;\">A cluster will be created with default parameters.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Let us now create a cluster and name it as <\/span><b>whizlabs-k8s-cluster<\/b><span style=\"font-weight: 400;\"> in the <\/span><b>us-east-1<\/b><span style=\"font-weight: 400;\"> region.<\/span><\/p>\n<p><b>eksctl create cluster &#8211;name whizlabs-k8s-cluster &#8211;region us-east-1<\/b><\/p>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-82338 size-full\" src=\"https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2022\/05\/eksctl-create-cluster.png\" alt=\"eksctl create cluster\" width=\"1439\" height=\"741\" srcset=\"https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2022\/05\/eksctl-create-cluster.png 1439w, https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2022\/05\/eksctl-create-cluster-300x154.png 300w, https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2022\/05\/eksctl-create-cluster-1024x527.png 1024w, https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2022\/05\/eksctl-create-cluster-768x395.png 768w, https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2022\/05\/eksctl-create-cluster-816x420.png 816w, https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2022\/05\/eksctl-create-cluster-640x330.png 640w, https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2022\/05\/eksctl-create-cluster-681x351.png 681w\" sizes=\"(max-width: 1439px) 100vw, 1439px\" \/><\/p>\n<p><span style=\"font-weight: 400;\">We can also verify the cluster on the AWS console.<\/span><\/p>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-82339 size-full\" src=\"https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2022\/05\/eks-cluster-aws-demo.png\" alt=\"eks cluster aws demo\" width=\"1432\" height=\"745\" srcset=\"https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2022\/05\/eks-cluster-aws-demo.png 1432w, https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2022\/05\/eks-cluster-aws-demo-300x156.png 300w, https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2022\/05\/eks-cluster-aws-demo-1024x533.png 1024w, https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2022\/05\/eks-cluster-aws-demo-768x400.png 768w, https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2022\/05\/eks-cluster-aws-demo-807x420.png 807w, https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2022\/05\/eks-cluster-aws-demo-640x333.png 640w, https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2022\/05\/eks-cluster-aws-demo-681x354.png 681w\" sizes=\"(max-width: 1432px) 100vw, 1432px\" \/><\/p>\n<p><span style=\"font-weight: 400;\">Now, we need to connect kubectl to the EKS cluster. For that, run the following command:<\/span><\/p>\n<p><b>aws eks &#8211;region us-east-1 update-kubeconfig &#8211;name whizlabs-k8s-cluster<\/b><\/p>\n<p><b>Creating Kubernetes Resources<\/b><\/p>\n<p><span style=\"font-weight: 400;\">In the previous step, we have created an empty Kubernetes cluster on the EKS.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Let&#8217;s create the deployment to deploy our node application to the cluster.\u00a0<\/span><\/p>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-82343 size-full\" src=\"https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2022\/05\/eks-node-deploy.png\" alt=\"eks-node-deploy\" width=\"1180\" height=\"521\" srcset=\"https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2022\/05\/eks-node-deploy.png 1180w, https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2022\/05\/eks-node-deploy-300x132.png 300w, https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2022\/05\/eks-node-deploy-1024x452.png 1024w, https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2022\/05\/eks-node-deploy-768x339.png 768w, https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2022\/05\/eks-node-deploy-951x420.png 951w, https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2022\/05\/eks-node-deploy-640x283.png 640w, https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2022\/05\/eks-node-deploy-681x301.png 681w\" sizes=\"(max-width: 1180px) 100vw, 1180px\" \/><\/p>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-82344 size-full\" src=\"https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2022\/05\/eks-node-load.png\" alt=\"\" width=\"1180\" height=\"495\" srcset=\"https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2022\/05\/eks-node-load.png 1180w, https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2022\/05\/eks-node-load-300x126.png 300w, https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2022\/05\/eks-node-load-1024x430.png 1024w, https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2022\/05\/eks-node-load-768x322.png 768w, https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2022\/05\/eks-node-load-1001x420.png 1001w, https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2022\/05\/eks-node-load-640x268.png 640w, https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2022\/05\/eks-node-load-681x286.png 681w\" sizes=\"(max-width: 1180px) 100vw, 1180px\" \/><\/p>\n<p>We have now successfully deployed our NodeJS application to the EKS cluster.<\/p>\n<h3 style=\"text-align: justify;\"><span class=\"ez-toc-section\" id=\"Are_You_Ready_to_Use_EKS\"><\/span>Are You Ready to Use EKS?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p style=\"text-align: justify;\">So, on a concluding note, we can clearly notice how easy it is to start with\u00a0AWS EKS! First of all, EKS takes away a major portion of the administrative and operational burden on enterprises. You don\u2019t have to manage or maintain master nodes for different containerized applications on EKS.<\/p>\n<p style=\"text-align: justify;\">In addition, AWS-managed Kubernetes clusters have sufficient resilience to endure even the loss of an availability zone. You should keep in mind that you can also run RKS with the help of AWS Fargate. Fargate is the serverless compute engine for containers and takes away the need for provisioning or management of servers.<\/p>\n<p style=\"text-align: justify;\">AWS EKS is the main topic to be covered for the AWS Certified DevOps Engineer Professional exam. If you&#8217;re preparing to become AWS DevOps Engineer, check out our <a href=\"https:\/\/www.whizlabs.com\/aws-devops-certification-training\/\" target=\"_blank\" rel=\"noopener noreferrer\">AWS DevOps Engineer Professional training courses<\/a>. Learn more about EKS right now and get started immediately for leveraging its promising benefits.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>AWS EKS (Amazon Elastic Kubernetes Service) is a managed service that enables you to run Kubernetes on AWS without your own Kubernetes control plane. Let&#8217;s have a quick introduction to Amazon EKS! The widespread adoption of cloud computing and the positive interventions of technologies such as containers have revised application development norms. Now, enterprises could host infrastructure on public cloud platforms such as AWS and use container orchestration tools such as Kubernetes. These technologies continue to bring new flexibility for enterprises worldwide. However, the use of Kubernetes comes with highly time-consuming cluster management processes, which may not be favorable for [&hellip;]<\/p>\n","protected":false},"author":13,"featured_media":75279,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_uag_custom_page_level_css":"","site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[4],"tags":[3387,3389,3390,3388],"class_list":["post-75255","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-aws-certifications","tag-amazon-eks","tag-aws-eks-architecture","tag-aws-eks-getting-started","tag-aws-kubernetes"],"uagb_featured_image_src":{"full":["https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2020\/06\/Getting_Started_with_AWS_EKS.png",600,315,false],"thumbnail":["https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2020\/06\/Getting_Started_with_AWS_EKS-150x150.png",150,150,true],"medium":["https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2020\/06\/Getting_Started_with_AWS_EKS-300x158.png",300,158,true],"medium_large":["https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2020\/06\/Getting_Started_with_AWS_EKS.png",600,315,false],"large":["https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2020\/06\/Getting_Started_with_AWS_EKS.png",600,315,false],"1536x1536":["https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2020\/06\/Getting_Started_with_AWS_EKS.png",600,315,false],"2048x2048":["https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2020\/06\/Getting_Started_with_AWS_EKS.png",600,315,false],"profile_24":["https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2020\/06\/Getting_Started_with_AWS_EKS.png",24,13,false],"profile_48":["https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2020\/06\/Getting_Started_with_AWS_EKS.png",48,25,false],"profile_96":["https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2020\/06\/Getting_Started_with_AWS_EKS.png",96,50,false],"profile_150":["https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2020\/06\/Getting_Started_with_AWS_EKS.png",150,79,false],"profile_300":["https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2020\/06\/Getting_Started_with_AWS_EKS.png",300,158,false],"tptn_thumbnail":["https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2020\/06\/Getting_Started_with_AWS_EKS-250x250.png",250,250,true],"web-stories-poster-portrait":["https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2020\/06\/Getting_Started_with_AWS_EKS.png",600,315,false],"web-stories-publisher-logo":["https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2020\/06\/Getting_Started_with_AWS_EKS.png",96,50,false],"web-stories-thumbnail":["https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2020\/06\/Getting_Started_with_AWS_EKS.png",150,79,false]},"uagb_author_info":{"display_name":"Pavan Gumaste","author_link":"https:\/\/www.whizlabs.com\/blog\/author\/pavan\/"},"uagb_comment_info":5,"uagb_excerpt":"AWS EKS (Amazon Elastic Kubernetes Service) is a managed service that enables you to run Kubernetes on AWS without your own Kubernetes control plane. Let&#8217;s have a quick introduction to Amazon EKS! The widespread adoption of cloud computing and the positive interventions of technologies such as containers have revised application development norms. Now, enterprises could&hellip;","_links":{"self":[{"href":"https:\/\/www.whizlabs.com\/blog\/wp-json\/wp\/v2\/posts\/75255","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.whizlabs.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.whizlabs.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.whizlabs.com\/blog\/wp-json\/wp\/v2\/users\/13"}],"replies":[{"embeddable":true,"href":"https:\/\/www.whizlabs.com\/blog\/wp-json\/wp\/v2\/comments?post=75255"}],"version-history":[{"count":8,"href":"https:\/\/www.whizlabs.com\/blog\/wp-json\/wp\/v2\/posts\/75255\/revisions"}],"predecessor-version":[{"id":82437,"href":"https:\/\/www.whizlabs.com\/blog\/wp-json\/wp\/v2\/posts\/75255\/revisions\/82437"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.whizlabs.com\/blog\/wp-json\/wp\/v2\/media\/75279"}],"wp:attachment":[{"href":"https:\/\/www.whizlabs.com\/blog\/wp-json\/wp\/v2\/media?parent=75255"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.whizlabs.com\/blog\/wp-json\/wp\/v2\/categories?post=75255"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.whizlabs.com\/blog\/wp-json\/wp\/v2\/tags?post=75255"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}