Bird
Raised Fist0
AWScloud~30 mins

EKS cluster creation in AWS - Mini Project: Build & Apply

Choose your learning style10 modes available
EKS Cluster Creation
📖 Scenario: You are working as a cloud engineer for a company that wants to deploy containerized applications using Kubernetes on AWS. Your task is to create an Amazon Elastic Kubernetes Service (EKS) cluster to manage and run these applications efficiently.
🎯 Goal: Build a basic EKS cluster configuration using AWS CloudFormation syntax. This cluster will serve as the foundation for deploying containerized applications on AWS.
📋 What You'll Learn
Create an EKS cluster resource with a specific name
Define the Kubernetes version for the cluster
Specify the role ARN for the EKS cluster
Add a VPC configuration with subnet IDs
Complete the cluster resource with all required properties
💡 Why This Matters
🌍 Real World
Creating an EKS cluster is a common task for deploying scalable containerized applications on AWS. This foundational setup enables teams to run Kubernetes workloads managed by AWS.
💼 Career
Cloud engineers and DevOps professionals frequently create and manage EKS clusters as part of infrastructure automation and container orchestration in AWS environments.
Progress0 / 4 steps
1
Create the EKS Cluster Resource
Create a CloudFormation resource called MyEKSCluster of type AWS::EKS::Cluster.
AWS
Hint

Start by defining the resource name and type exactly as shown.

2
Add Cluster Properties
Add a Properties section to MyEKSCluster with Name set to MyCluster and Version set to 1.24.
AWS
Hint

Indent properties correctly under MyEKSCluster.

3
Add Role ARN and VPC Configuration
Inside Properties, add RoleArn set to arn:aws:iam::123456789012:role/EKSRole and a ResourcesVpcConfig section with SubnetIds set to a list containing subnet-abc123 and subnet-def456.
AWS
Hint

Make sure RoleArn and ResourcesVpcConfig are inside Properties.

4
Complete the EKS Cluster Configuration
Ensure the full CloudFormation YAML includes the Resources section with MyEKSCluster resource fully configured with Type and Properties including Name, Version, RoleArn, and ResourcesVpcConfig with SubnetIds.
AWS
Hint

Review the entire resource to confirm all required properties are present and correctly indented.

Practice

(1/5)
1.

What is the main purpose of creating an Amazon EKS cluster?

easy
A. To store large amounts of data in the cloud
B. To run Kubernetes applications without managing the underlying servers
C. To create virtual machines for running Windows applications
D. To manage user access and permissions in AWS

Solution

  1. Step 1: Understand EKS cluster purpose

    Amazon EKS is a managed Kubernetes service that lets you run containerized applications without managing servers.
  2. Step 2: Compare options

    Options A, B, and D describe other AWS services or functions unrelated to EKS clusters.
  3. Final Answer:

    To run Kubernetes applications without managing the underlying servers -> Option B
  4. Quick Check:

    EKS = Managed Kubernetes service [OK]
Hint: EKS runs Kubernetes without server management [OK]
Common Mistakes:
  • Confusing EKS with EC2 virtual machines
  • Thinking EKS is for data storage
  • Mixing EKS with IAM user management
2.

Which of the following is the correct AWS CLI command to create an EKS cluster named my-cluster with role ARN arn:aws:iam::123456789012:role/EKSRole and subnets subnet-abc123 and subnet-def456?

easy
A. aws eks create-cluster --cluster-name my-cluster --role arn:aws:iam::123456789012:role/EKSRole --vpc-config subnets=subnet-abc123,subnet-def456
B. aws eks create-cluster --name my-cluster --role-arn arn:aws:iam::123456789012:role/EKSRole --resources-vpc-config subnetIds=subnet-abc123 subnet-def456
C. aws eks create-cluster --name my-cluster --role-arn arn:aws:iam::123456789012:role/EKSRole --resources-vpc-config subnetIds=subnet-abc123,subnet-def456
D. aws eks create-cluster --name my-cluster --role arn:aws:iam::123456789012:role/EKSRole --resources-vpc-config subnetIds=subnet-abc123,subnet-def456

Solution

  1. Step 1: Check AWS CLI syntax for EKS cluster creation

    The correct command uses --name for cluster name, --role-arn for IAM role, and --resources-vpc-config subnetIds=... for subnet IDs separated by commas.
  2. Step 2: Identify correct option

    aws eks create-cluster --name my-cluster --role-arn arn:aws:iam::123456789012:role/EKSRole --resources-vpc-config subnetIds=subnet-abc123,subnet-def456 matches the correct syntax exactly. Options A and D use incorrect flags (--cluster-name, --role). aws eks create-cluster --name my-cluster --role-arn arn:aws:iam::123456789012:role/EKSRole --resources-vpc-config subnetIds=subnet-abc123 subnet-def456 misses a comma between subnet IDs.
  3. Final Answer:

    aws eks create-cluster --name my-cluster --role-arn arn:aws:iam::123456789012:role/EKSRole --resources-vpc-config subnetIds=subnet-abc123,subnet-def456 -> Option C
  4. Quick Check:

    Correct CLI syntax = aws eks create-cluster --name my-cluster --role-arn arn:aws:iam::123456789012:role/EKSRole --resources-vpc-config subnetIds=subnet-abc123,subnet-def456 [OK]
Hint: Use --name, --role-arn, and comma-separated subnetIds [OK]
Common Mistakes:
  • Using --role instead of --role-arn
  • Missing commas between subnet IDs
  • Using wrong flag names like --cluster-name
3.

Given this AWS CLI command to create an EKS cluster:

aws eks create-cluster --name test-cluster --role-arn arn:aws:iam::123456789012:role/EKSRole --resources-vpc-config subnetIds=subnet-11111111,subnet-22222222,securityGroupIds=sg-12345678

What will happen after running this command?

medium
A. The command will fail due to incorrect subnet ID format
B. The command will fail because security groups cannot be specified during cluster creation
C. The cluster will be created but only in one subnet ignoring the second subnet
D. The cluster test-cluster will be created using the specified subnets and security group

Solution

  1. Step 1: Understand parameters in the command

    The command specifies cluster name, IAM role, subnet IDs, and security group IDs correctly using --resources-vpc-config.
  2. Step 2: Check if security groups are allowed

    Security groups can be specified during cluster creation to control network access. The subnet IDs are comma-separated and valid format.
  3. Final Answer:

    The cluster test-cluster will be created using the specified subnets and security group -> Option D
  4. Quick Check:

    Valid subnet and security group syntax = The cluster test-cluster will be created using the specified subnets and security group [OK]
Hint: Security groups allowed in --resources-vpc-config [OK]
Common Mistakes:
  • Thinking security groups can't be set at creation
  • Assuming only one subnet is allowed
  • Confusing subnet ID format with invalid syntax
4.

You tried to create an EKS cluster with this command:

aws eks create-cluster --name mycluster --role-arn arn:aws:iam::123456789012:role/EKSRole --resources-vpc-config subnetIds=subnet-12345 subnet-67890

The command failed. What is the most likely cause?

medium
A. Missing comma between subnet IDs in subnetIds parameter
B. Incorrect IAM role ARN format
C. Cluster name mycluster is invalid
D. Subnets are in different availability zones

Solution

  1. Step 1: Review subnetIds parameter format

    The subnet IDs must be comma-separated inside the subnetIds= value. Here, a space separates them, which is invalid syntax.
  2. Step 2: Check other parameters

    The IAM role ARN format looks correct, cluster name is valid, and subnets in different zones are recommended, not an error.
  3. Final Answer:

    Missing comma between subnet IDs in subnetIds parameter -> Option A
  4. Quick Check:

    Comma separates subnet IDs [OK]
Hint: Comma separate subnet IDs, not spaces [OK]
Common Mistakes:
  • Using spaces instead of commas between subnet IDs
  • Assuming cluster name rules cause failure
  • Confusing subnet zones with errors
5.

You want to create a highly available EKS cluster. Which setup is best practice for the network configuration?

  • Use a single subnet in one availability zone
  • Use multiple subnets in different availability zones
  • Use only public subnets
  • Use subnets without any security groups
hard
A. Use multiple subnets in different availability zones
B. Use a single subnet in one availability zone
C. Use only public subnets
D. Use subnets without any security groups

Solution

  1. Step 1: Understand high availability in EKS

    High availability means the cluster stays up even if one zone fails. Using multiple subnets in different availability zones achieves this.
  2. Step 2: Evaluate other options

    Single subnet risks zone failure. Only public subnets expose resources unnecessarily. Subnets without security groups lack network protection.
  3. Final Answer:

    Use multiple subnets in different availability zones -> Option A
  4. Quick Check:

    Multi-AZ subnets = High availability [OK]
Hint: Spread subnets across zones for reliability [OK]
Common Mistakes:
  • Using only one subnet risking downtime
  • Exposing cluster on public subnets unnecessarily
  • Ignoring security groups for network safety
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard