Bird
Raised Fist0
AWScloud~5 mins

EKS cluster creation in AWS - Time & Space Complexity

Choose your learning style10 modes available
Time Complexity: EKS cluster creation
O(n)
Understanding Time Complexity

When creating an EKS cluster, it is important to understand how the time to complete the setup changes as the cluster size grows.

We want to know how the number of steps or API calls increases when we add more nodes or resources.

Scenario Under Consideration

Analyze the time complexity of the following operation sequence.


aws eks create-cluster --name my-cluster --role-arn arn:aws:iam::123456789012:role/EKSRole \
  --resources-vpc-config subnetIds=subnet-abc123,subnet-def456,securityGroupIds=sg-123abc

aws eks create-nodegroup --cluster-name my-cluster --nodegroup-name my-nodes \
  --subnets subnet-abc123 subnet-def456 --node-role arn:aws:iam::123456789012:role/NodeRole \
  --scaling-config minSize=1,maxSize=5,desiredSize=3
    

This sequence creates an EKS cluster and then adds a node group with several nodes to it.

Identify Repeating Operations

Identify the API calls, resource provisioning, data transfers that repeat.

  • Primary operation: Creating nodes in the node group.
  • How many times: Number of nodes requested in the node group (desiredSize).
How Execution Grows With Input

As you increase the number of nodes in the node group, the number of API calls and provisioning steps grows roughly in direct proportion.

Input Size (nodes)Approx. Api Calls/Operations
10About 10 node creation operations
100About 100 node creation operations
1000About 1000 node creation operations

Pattern observation: The time and operations grow linearly as you add more nodes.

Final Time Complexity

Time Complexity: O(n)

This means the time to create the cluster and nodes grows directly with the number of nodes you add.

Common Mistake

[X] Wrong: "Creating more nodes does not affect the total time much because the cluster is created once."

[OK] Correct: While the cluster itself is created once, each node requires separate provisioning steps, so adding nodes increases total time linearly.

Interview Connect

Understanding how cluster creation time scales helps you plan resources and explain system behavior clearly in real-world cloud roles.

Self-Check

"What if we added multiple node groups instead of one large node group? How would the time complexity change?"

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